Where Knockoutjs scores.
While every MVC library has its own strengths, we use Knockout.js for the following reasons:
● Easy to learn – In an industry that values speed, it is absolutely critical that your programming teams learns new tools and techniques fast and hits the ground running. Knockout.js takes very less effort to learn and it very intuitive (I learnt it in an afternoon).
● Documentation – Knockoutjs has excellent documentation. Its website is attractive and also has an interactive learning area that lets you type and try out code as you learn.
● Knockout.js uses the MVVM (Model-View-ViewModel) pattern. This implies one view model per view and results in a lot of flexibility in how you structure your application.
● Knockout.js is lightweight, fast and does not have any dependencies (though it works best with jQuery/Zepto).
SproutCore and ExtJS/Sencha are excellent MVC frameworks that also implement a rich high quality UI layer. SproutCore was the library that Apple used to implement its MobileMe service. SproutCore is currently undergoing a rewrite to make it a lighter and more modular framework. Sencha Touch is the framework of choice if you want to implement Mobile web applications. The UI controls are optimized for touch and fit in well with native UIs (particularly iOS/Android).
In today’s highly competitive web application market, it is becoming increasingly necessary to build apps that stand out and provide users with superlative and immersive experiences. The rise of Cloud Computing and the proliferation of mobile devices of various form factors have increased the complexities involved in building and supporting web applications.
Traditional techniques of building web applications rely on the web server to do most of the heavy lifting with the browser posting back to the server for every little action. This method is not scalable and in the cloud era, uneconomical. It also results in sub-par user experience as latency kicks in.