|
I think the correct question should be: Is it worth your time learning any of the SPA (Single Page Application) MV* JavaScript framework (Backbone, Ember, Angular, Knockout, etc). Browsers have come a long way. It's now possible to develop web applications that offer comparable user experience to say iOS/Android/Windows etc. As with those other platforms, to get the full user experience, the developer usually has to learn and use their native libraries and languages (Object-C for iOS, Java for Android, etc). For the web, the language is JavaScript and the library is HTML5 (the DOM manipulation that is). Unlike those other platforms, plain JavaScript + DOM manipulation can get out of hand pretty quickly. It works when to create 'web application' means adding a few jQuery DOM manipulations here and there, backed by your favourite server framework. But when the amount of JavaScript you have to write grows, you need a way to structure it (design patterns, modules, etc). GWT, if I remember correctly, tried to address the issue of unmanageable JavaScript by allowing you to use Java on the server side and then it will compile and serve JavaScript to the client. This seemed like a good idea but the problem still remained: You're essential writing software in one platform to run in another. There will always be a penalty somewhere (do you remember how long it took to get the first JavaServer Faces framework with HTML5 render?). The basic driving force of MV* JavaScript framework is to address the issue of writing clean, manageable and performing JavaScript code targeting the browser itself and not some intermediate platform. With the end goal being to provide a better user experience. Is this worth learning? Well, do you think applications built using client-side JavaScript provide better user experience? Think Twitter, Gmail and the likes. Do you think your clients will appreciate such kind of applications? |