Is Ember.js actually worth learning? Will it make me a better programmer (like learning Haskell will)? Will it enable me to get a pay rise from my current £480 per day contracting fees? Is there a more diverse and active job market than there is around my current main language (Java)?<p>What's the point of my learning yetAnother.js?<p>Why the down vote? I'm asking serious questions that as a professional software engineer, I worry about. The two devs next to me have expressed similar feelings when I told them about this article.<p>Down voting me because you don't like what I said is against the HN guidelines.
Albeit a great resource for the community to continue to produce tutorials like these on front-end frameworks, 'Web Applications Done Right' is a complete nonsense notion for what was presented. What would be hugely beneficial for beginners is someone who would take the time to go through a large-scale web app using one of these technologies. In my experience building large-scale front-end applications, I had to resort to using techniques that aren't really documented anywhere with good examples (extracting objects into presenters, decorators, dynamic template inheritance, etc...).<p>These simple one-page apps are great as an initial learning resource - but it leaves people not understanding what they're getting themselves into later on down the road.
I have trouble taking "[X] Done Right" articles seriously when they're posted on pages that are plastered with ads and look like the CSS hasn't be touched since 2004.
For those writing substantial client-side JS apps (rather than sprinkling jQuery here and there), a client-side MVC framework is definitely the way to go.<p>EmberJS has however gotten a lot of flack recently regarding its docs, learning curve, and lack of API stability.<p>The following hn link compares Angular, CanJS, Backbone and Ember: <a href="https://news.ycombinator.com/item?id=5563223" rel="nofollow">https://news.ycombinator.com/item?id=5563223</a> and would be a useful resource when picking a framework.<p>We're using Backbone to write a client-side widget / look and feel library, with a bunch of Models and Views out of the box to help application developers write rich web apps. Backbone has worked out great so far, but we've had to take decisions on a fair amount of things and put the groundwork in for things like dust templates, nested views, etc.<p>Things like Angular, CanJS, Ember, make these decisions for you and can definitely save time, if you're happy with their way of doing things.<p>That said, we don't have View Bindings / Two-way bindings built in, we have to use Backbone Event's <i>listenTo</i> manually. It's worked ok for us so far, especially when you have multiple views on the same model that need to do different things when the model changes.
This example Web application isn't really "done right" until it authenticates a user and restricts photo requests based on user credentials and gracefully handles a large number of user photos (say hundreds of photos, not just ten).