Angular vs React vs Ember?

I am comparing several frameworks today and am wondering if anyone has any input on this. I have used Angular a little, React a lot more, and only basically know how Ember works.

If you have used any of these three, what is your opinion and which do you like the best?

2 Likes

I have been liking react because of the speed and small api. I have been reading about something called glimmer with Ember that is supposed to make it just as fast as react. Have you used glimmer before in your apps?

Elm is neat. Still learning it. Elm just got an update that is supposed to make it even easier.

1 Like

Nope, I have never used Glimmer with Ember.

1 Like

You might be interested to know that since this forum is powered by Discourse, which means youā€™re using an Ember app right now :wink:

Most of the big frameworks today will ultimately help you achieve the same thing but in different ways. One is not objectively better than the other. And much like learning a programming language, as long as you properly grok one framework itā€™ll be easier to learn others later if and when you realise your first pick wasnā€™t quite what you needed.

If youā€™re having trouble deciding on which framework to learn first, one way to do it could be to browse through the ā€œbuilt with Xā€ sites and try figure out which framework seems to be used most frequently by the type of company or app that you would most like to work with.

4 Likes

Can someone share experience on CanJS vs React?

I can share lots of experience with React now but not CanJS.

I think you should post this in a new thread so more people could answer that question for you.

1 Like

React JS is a view layer api. That said with JSX and Babel it gets reallt neat. I skipped data vizualization and decided to do backend second. I am on my next to last project and decided to do it in React because I have to learn it anyway.

Lessons learned: react router or similar will make your life easier. Everything is a componet. Like every little thing. No, itā€™s a componet too. Program everything by it self then add everything together. Oh and micro services are your friends. And the results are fast and really, really neat.

I am still wanting to learn angular2. They supposedly improved render performance. After that, I think rust may be next language to learnā€¦ Maybe c++ or haskellā€¦ But with electron becoming a thing, I am not sure how long the compiled languages will be a thing outside of gaming.

Which do you prefer @gwenf ?
I have only briefly looked at Angular.js so far (a video on YouTube!)

I prefer using React right now. I love how much easier and more intuitive it feels than Angular (I am referring to Angular 1 here). I havenā€™t user Angular 2 much yet but I am not sure about how itā€™s going to work in the long run out being that itā€™s completely different from Angular 1.

I have recently been playing with Ember as well and itā€™s pretty easy to get going quickly but I donā€™t like that everything is pretty much already configured for me.

I personally like being able to scaffold my own apps and install just the modules I need. I like that React is much lighter weight but I would probably use Ember if I needed something built quickly without needing to scale it.

Another bit of advice for React: use Flux, Redux, RxJS, or some sort of state management that isnā€™t React itself. Forget that setState even exists on components, and try to make as many pure functional components as you can. Itā€™s an extra step that may feel cumbersome and unnecessary at first, but managing state in a web app will drive you completely insane if you donā€™t tackle it early.

I had a lot of problems with state and passing it around as props until I started using Redux. Now itā€™s so much easier but I still leave as many components ā€˜dumbā€™ as possible.

Here is good comparison of Angular, React and Ember: https://qubit-labs.com/comparison-of-javascript-frameworks-angular-js-vs-react-js-vs-ember-js/.

In general, I prefer React for its convenience and reusable components. However, Ember is also a good option, especially if one needs to create an SPA quickly. Canā€™t say much about Angular though. You might find the following info useful. Leave it here just in case https://yojji.io/blog/ember-vs-react

Lately, I have been using Angular 9-10 and the best way to describe the experience is very much similar to writing ASP.Net apps in Visual Studio: There are several extensions in VSCode that make writing Angular apps a streamlined experience. Not only that, the Angular CLI basically scaffolds most of your code files with a lot of ease. I havenā€™t encountered anything like that with the React apps Iā€™ve built. I often had to build my own scaffolding tools and had to use snippets from vscode extensions. Which is okay, but why not just scaffold the code files and make the proper injections for wiring up your files?

Iā€™ve grown to like RxJS over using promises as I feel they are more in line with how Javascript handles events.

Being someone whoā€™s worked with React in previous jobs as well as personal projects of mine, Iā€™m more inclined to use Angular 2 since it has everything I need to immediately start building business logic of the app and Iā€™m able to dive into the infrastructure if need be.

I donā€™t know if this right to say but Angular 2+ uses convention over configuration and I like that. React has itā€™s high points but I found myself spending more time nailing down a pattern than I was actually building an app.