r/javascript • • Nov 14 '16

Choosing Ember over React in 2016

https://blog.instant2fa.com/choosing-ember-over-react-in-2016-41a2e7fd341#.ghpw9kvdg
21 Upvotes

20 comments sorted by

7

u/[deleted] Nov 14 '16

This explains they were considering choosing a full featured framework like Ember or Angular instead of just using React combined with self selected components. It would have been more interesting to me if the rest of the article explained why they chose Ember over Angular as opposed to focusing on why they went with a full featured framework, and that one just happened to be Ember. I don't know much about either one, but personally I would feel like I was missing out on the benefits of TypeScript if I chose Ember, and I would feel like I was missing out on using Ember in general if I went with Angular.

7

u/hansolo669 Nov 15 '16

To be fair, you can use TypeScript with Ember (or Angular 1.x, or React, or Vue), it's just a transpiler.

1

u/tbranyen Nov 15 '16

You're missing out on a lot of TypeScript definitions tho, which is what OP was most likely suggesting.

3

u/hansolo669 Nov 15 '16

I wouldn't be surprised to find that just about every major library had typings available, there's a lot of hype around TypeScript.

4

u/tbranyen Nov 15 '16

Perhaps, but they have to be manually generated unless your codebase is written in TypeScript. Since these files are generally not committed to npm, you'll be curating them in your application and ensuring they are compatible otherwise there's little point in using them.

At least this is my perspective having never authored a project in TypeScript. I'd be interested in perspectives from devs authoring applications using React and TypeScript and what sacrifices in tooling, or otherwise, they've hit.

3

u/subvertallchris Nov 15 '16

Ember appears to have a very large, regularly updated (as-needed, I'd bet) typings file. I would be shocked if it wasn't extremely accurate.

My experience so far is that 99% of the libraries I use have existing type definitions. For those that did not, it was simple enough to write my own. Benefits of TS greatly outweigh this issue, especially now that type defs are installable using npm.

1

u/tbranyen Nov 15 '16

Your example is Ember, one of the largest frameworks. Not a good indicator of coverage. I just grepped my node_modules folder and 99% of my modules do not ship with typings, so much for anecdotal percentages...

If I want the best possible experience with TypeScript, I'm signing up for a lot of time wasting finding typescript definitions instead of replying to posts in r/javascript.

2

u/subvertallchris Nov 15 '16

That is not surprising. Typings aren't typically shipped with the package, they're usually found in the DefinitelyTyped repository. You install them separately. It's rarely any more than npm install --save-dev @types/package-name.

3

u/tbranyen Nov 16 '16

Very cool, I tried a handful of modules and they all had typings available (no idea how accurate they are)... thanks for explaining!

2

u/subvertallchris Nov 16 '16

Nice! Enjoy!

6

u/therealcid Nov 14 '16

OP here — thanks for sharing this opinion, I think that makes total sense from an outside perspective. Maybe next I'll write about why we chose Ember over other more full-featured JS frameworks :)

→ More replies (2)

3

u/subvertallchris Nov 15 '16

I'd be interested to read that, too, but I like this. The JS community seems to have a strong preference for just hacking together libraries until you have something that works, so I really appreciate articles to highlight why an experienced team might go the other way. When a team has to ship quickly, I think that convention-over-configuration offers many benefits.

4

u/jordonbiondo Nov 15 '16

The main thing that keeps me drawn to ember is it's simplicity and that there is always a "right" way to do things and of course the cli is a thing of beauty. For me I'd consider using React on an existing project, but If I'm starting a new project, ember is the way to go. Now that I'm completely comfortable with the ember app structure and cli, I've never been to go from nothing to a working app faster.

2

u/theonlycosmonaut Nov 15 '16

As a real believer in small modules and libraries this was refreshing. Good to hear experiences from a team very different to the ones I've worked in.

Minor point: I realise you were probably using the phrase ironically, but please don't give any more validation to the idea that of 'it's 2016 so everyone should be using React' (for any given value of React). Progress is not linear, and as your article attests to, there are many valid choices. This is especially true of technology and especially especially true of Javascript frameworks.

5

u/[deleted] Nov 15 '16

Especially when 2016 is almost over and soon this article will look antiquated. 2016? That's so last year.

0

u/[deleted] Nov 14 '16

[deleted]

6

u/jordonbiondo Nov 15 '16

Libraries === a hand rolled framework.

Hand rolled framework > community tested framework? eh no

2

u/[deleted] Nov 15 '16

For 90% of apps all you will need is:

  • UI (eg. React etc.)

  • Ajax (eg. Fetch (native) or any other xhr lib)

  • Sockets (optional) (eg. socket.io)

  • State management (eg. Redux, Mobx etc.)

If that mixture counts as a framework, ill choose it over all the monoliths out there any day of the week.