If you're looking for your very first single-page application library, try MithrilJS. It's small and easy to pick up quickly: https://lhorie.github.io/mithril/
If you're looking for your very first single-page application library, try MithrilJS. It's small and easy to pick up quickly: https://lhorie.github.io/mithril/
What eventually pushed me away from Angular is the performance of the scope digest cycle (which you won't even notice until you've built a large enough app to have a problem) and the odd state management issues that arise as a result of two way data binding.
If you haven't ever worked with MVVM, do so. It is a treat.
I don't understand. Mithril also allows for clean separation of view and model, typically in a functional and declarative manner.
>If you haven't ever worked with MVVM, do so. It is a treat.
I worked with it for quite some time at a past job which gave me my strong opinions about the uselessness of Angular.
`ng-model` is actually one of the "magic" things that @hippich is warning against. Having used Angular (and built Mithril based on lessons learned from using it for a few years), I agree bindings are handy in a lot of cases. That is, until you need to work around them (maybe because your inputs are laggy, or you've hit the infamous 2000-binding-ceiling, or whatever). Then, they're not such a treat anymore.
With Mithril (and fwiw, other virtual dom libraries as well), you can choose to add the convenience of bindings where you find appropriate.
The points about POJOs and HTML syntax are, similarly, aspects that you have control over.