Ember.js vs React.js for Allt's front-end revamp

(Karthik Kamalakannan) #1

Allt has been working really well so far, but now, I want to push it to the next level. Allt is a platform I truly believe in, and I strongly believe that it will upgrade the way people work everyday.

To make sure we are ready for the next decade of the Internet, I want to see which front-end platform would be best to use when moving the front-end code to a completely new codebase.

I’ve listened to almost all the talks that Jeff Atwood spoke about Discourse, and he seems to make a valid point for using Ember.

I went through this blog Robin Ward (Co-founder of Discourse) wrote about choosing Ember for a front-end MVC rather than something that way popular than Ember, like Angular:

  1. Interactivity
    1.1 So when you access a front-end MVC like Ember, there’s this huge JS ball (as Jeff likes to call it) rolls out to your browser. And from then on, literally everything that happens is by rotating this JS ball in your browser.
    1.2. Whenever there is some change in the UI or data via the backend, it gets pushed right then and there, without having to reload the page.
    1.3 Since Allt is a platform that will potentially be open all the time in our browsers, making sure the changes and updates we do in the backend reflects immediately to everyone is crucial. I believe that the can solve the issue; correct me if I am wrong.
  2. Here’s one more reason why they seem to lean towards client-side MVC.
  3. Ember is lightweight; its just 47kb when minified. Fair enough.
  4. Client-side MVC is API-first.
  5. Simple Documentation

Kick starting these conversations here, so that it is public, with a hope that people would help us arrive at some solution here.

(Praveen Juge) #2

A Benchmark test here shows ember might be faster

(Karthik Kamalakannan) #3

Also, there’s this interesting discussion on Hackernews talking about Ember and ReactJS.


Here are some quotes from the discussion:

Ember is a really good choice for running a feature-rich web app where you want to focus on business and features instead of solving issues about tooling and deciding on which pieces to bring into the bundle to make everything work. This is especially crucial for small teams on a budget.

I’m developing and maintaining an Ember app which is nearly 5 years old. Some of our app code dates back to 2011 (when Ember was still Amber.js).

Remember how much the Javascript ecosystem changed in 5 years? There is no way we could have maintained the same code base without Ember; we would have needed to rewrite the app once or twice by now. And with each rewrite small features, little subtleties would have been lost, replaced by some bike-shedding about how we should hand-compose an entirely new stack.

Instead, we upgraded quietly from time to time, and kept all our carefully tuned code and beloved UI tweaks with us. To be honest, the maintenance and version bumps took quite some work, and some early upgrades required heavy refactoring. Ember paradigms changed frequently during the pre-1.0 era, and later React clearly influenced the best practices recommended for Ember 2 (like Data-Down Actions-Up, etc).

But boy is it worth it. Ember-Data is neat, the testing tools are great, the Ember-Inspector add-on is a joy, and the CLI tools gets us so many free features. And we never could have maintained this product without a stable framework across all these years, and the friendly developers community.

More data to back my argument soon. :slight_smile: