Why Discourse uses Ember.js
Great post.<p>Client-side web applications have come a long way in the past year. In the comments I read when Discourse was released, many people dismissed out-of-hand rich JavaScript apps based on stale information.<p>For example, they assumed that infinite scrolling would mean you would lose your place when hitting the back button. They also assumed you would not be able to command-click a link to open it in a new tab.<p>Surprisingly to many, both work just great in Discourse; try it out if you don't believe me.<p>Many people also held on to the belief that JavaScript apps are fundamentally incompatible with assistive software; that one is also a common misconception that's just not true anymore. Steve Klabnik wrote up a great overview of it[1].<p>[1] <a href="http://words.steveklabnik.com/emberjs-and-accessibility/" rel="nofollow">http://words.steveklabnik.com/emberjs-and-accessibility/</a><p>A lot of people pan client-side apps as being slow and bloated and overloaded with JavaScript. Surprisingly, they don't have more than your average full-featured, server-side web application[2][3]. And I think Discourse proves that you can build large apps that feel lightning-fast.<p>[2] <a href="https://twitter.com/tomdale/status/300653212472598528" rel="nofollow">https://twitter.com/tomdale/status/300653212472598528</a><p>[3] <a href="https://twitter.com/tomdale/status/300653225785311232" rel="nofollow">https://twitter.com/tomdale/status/300653225785311232</a><p>If you investigated building apps like this in the past and didn't think it was ready, now is a great time to give it another shot. The tools are maturing rapidly, and while still not perfect for every use case, we're knocking down limitations every day. I'm excited for all the cool stuff people will build in 2013.