In the last couple of years there has been an explosion in JavaScript frameworks. How is a developer or business to make a wise choice? What are the advantages, trade-offs and differences? In this talk we’ll compare and contrast six popular front-end frameworks: Angular 1, Angular 2, Polymer, React, Ember and Aurelia. We’ll look at the same “Hello World” example in each framework so we can see, side-by-side, the differences in development strategy and philosophy.
We’ll also discuss how these frameworks stack up against a set of both technical and non-technical key evaluators so that you can get beyond the hype and finally make a solid technical and business decision.
Original source
38 responses to “Choosing a JavaScript Framework – Rob Eisenberg”
A load of BS at mark 49'
"What are my recommendation at the end of this highly biased talk?" (57:20), says Rob Eisenberg, author of Aurelia. Well, Aurelia and Ember are the frameworks you should choose concludes Rob: "Obviously, as I said, I am biased. I include Ember in this because you see a lot of the same values on the Ember team as we have on the Aurelia team." (57:40) "I am the worst person to give this presentation, clearly". (1:00:55) No shit.
Ok. Forget about the first 28 or so minutes. This is just hello world in different frameworks, which might be interesting by itself, but thats not how you choose a framework. Directly skip ahead to the comparison. And he really conviced me to give ember and aurelia a try (and if you directly compare those, you really might get sold on aurelia). Good presentation!
none.. done! thanks for the fish.. javascript is a fuckgin framwework in itself..
If you use Polymer, you basically wrap your entire app in a shadow dom so it is hard to use third parties in your components.
great presentation Rob
Best comparison video between angular 4, react and vue
https://www.youtube.com/watch?v=czCLFPXcl0c
Choosing a JavaScript Framework? None is the answer.
JavaScript Frameworks are only good for your resume not for your projects.
ionic is built on angular. it ain't going anywhere.
Includes angular twice, doesn't include vue.js. facepalm
Very interesting presentation though, thank you. What is your opinion of Preact?
finally, someone speaks the truth. thank you:-)
The example shown for React is more advanced than "Hello World", whereas the example shown for Aurelia is deceivingly simple. Remember — the speaker is biased (which he admitted).
One-way data binding is an assumption, but it's the right assumption. Markup's structure logically implies one-way data binding — after all, it's a tree, not a cyclic graph. Keep things simple — ditch directives and half-assed template languages. A good framework is one that I can forget is there.
React provides a simpler (better) way of thinking about dynamic markup, which is why React apps scale so well with complexity. Even huge React apps are easy to think about because of the way React separates concerns with different component spaces.
About the license, have a look about it. There is a confusion around it
https://github.com/facebook/react/issues/7293
I still remember by professor Mr. Sanjay Chitte @uwindsor said "what's wrong with you fellows, why you computer science students always like to re-invent the wheel?" I didn't understand much that time but now I know what he means. In Every couple of months I see a new javascript framework. It would be better if we only spend time 1… 2 or 3 javascript open source framework and keep make library for that for better computing.
so, can anybody resume this video. witch framework can do faster rendering on server side ?
Is it just me that thinks most of these JS frameworks will go away once web-components are better supported? For me Polymer seems to be the most forward thinking.
syntax wise I liked ember and react the most. have also looked into vue.js
If you're looking for an objective evaluation of different JavaScript frameworks, this is NOT the video for you. The presenter is obviously biased in favor of Aurelia. There are a number of factual errors and misrepresentations about the other frameworks, all of it designed to make Aurelia look better than the others. That being said, Aurelia may or may not be the framework for you. Just do additional research and don't rely on this video to make your decision.
This is a great talk… Just wish vue2 was covered!
whats the best for Noobs ? React or Angular ? Planning to create an SPA / PWA's
"The HTML in JSX isn't really HTML." Neither is it HTML in any of the other frameworks. HTML has no binding syntax, etc. These are special framework features that have nothing to do with HTML.
How is this possible that Vue js is not included in this comparison? On what ground? It certainly is more popular then most of the presented options.
I agree with many things said during this presentation. But I also think, that this comparison was not really focussed on the developer experience but more on the numbers and facts about the frameworks itself. But the really important stuff to a developer like me is not just how easy it is to use, but more how configurable and plugable it is. So in this part there is something, I don't really like about Aurelia: It's kinda magic. By using conventions it is not really clear from a code perspective which view and which viewmodel is connected and which files are executed in what order. I think there Angular 2 does a really great job by letting the developer configure this stuff via metadata. I, as a developer don't really care if it is pure ES2016 I am writing. Decorators are cool to declare exactly that metadata, like a component css selector or a template url. By using conventions, I need to know the convention. I don't see the convention in the application code. So to me, the comparison about the obstrusiveness is not really fair. As long as you use Aurelia in the predefined way, with the predefined or custom conventions, you won't have any problem. But when you want to do something different, than what the convetion allows, it starts to get really obstrusive. I don't like some magic stuff that gets hidden away inside of a framework. I, as a developer, want to be able to change the behaviour when needed and to be very flexible. With Angular 2 you don't have this problem, because you can configure it for each and every component. Another thing I like about Angular 2, that was not mentioned in the presentation, is the way how RxJS is integrated with Angular. It's really great to have 2-way databinding deeply integrated with RxJS, To have HTTP deeply integrated with RxJS, To have validation deeply integrated with RxJS. RxJS is in my opinion a much better approach than old school promises or callbacks. So besides this talk was highly biased, I also think, the arguments pointed out are more background facts about the frameworks and are not really important to a developer. So I think in our business, we will evaulate Angular 2 as well as React for our future UI Frameworks. Aurelia is way too magic, in my opinion.
Was looking for VueJS.
One does not simply "compares Microsoft XAML with Polymer"…
I gave a presentation on Aurelia recently to a JS user group where I work, sort of "I looked into Aurelia so you don't have to". I would like some response to one bit of feedback that I got, to the effect that Aurelia uses two-way data binding which the leading edge technical experts have abandoned as a dead end, i.e. everybody is going with the React/Redux one-way binding approach these days. When I tried to research the issue, I got the impression that data binding in Aurelia is not quite so simple as was suggested. Can somebody shed more light on this possible controversy?
it should be worth mentioning that the repaint benchmark is not entirely applicable to React since React is trying to avoid full repaints and that makes React very performant for a lot of use cases. Thanks for your effort on presenting all this information. And the Patent clause rework changed a lot of things nowadays, with Microsoft, Google, Apple not prohibiting the usage of React any more
Aurelia is now a Microsoft trojan horse… with Visual Studio Code and Microsoft .NET support by default on their CLI…. stay away from it. Oh btw, Eisenberg is now a Microsoft employee as of last week.
I very much enjoyed your video and hearing your opinions though I disagree with some. Of all the frameworks and libraries that I've used, and that includes all you covered here (except for your own, which I will examine when time permits) in this video, React has been and continues to be the easiest point of entry for me and many others. This is because it makes applications more predictable and easier to reason about. It is remarkably simple, both in its minimalist API and in one's ability to reason about as projects become large and increasingly complex. It's single source of truth data model via Redux or similar data stores along with one way data binding contribute greatly to that end. Another advantage of React is that it is singularly focused on the presentational domain, and thus encourages the mix and match approach to crafting a tech stack that is tightly coupled with the business/problem domain. Sadly for some, and here is my own bias boiling to the surface, React's success might spell a trend of declining popularity of all encompassing frameworks which, for me at least, in the fast changing landscape of JavaScript, might not be a bad thing. Thanks again for a very interesting and opinionated take on the subject.
Project setup with Aurelia is a nightmare unless you use the black box the CLI gives you
Another Aurelia lover 🙂
great speech Rob, I am keen on learning more about Aurelia!
How do Aurelia and Ember mesh with non SPAs? My issue is we have a large enterprise application built with Laravel and Angular 1.x. The routing and rendering is done with Laravel and the data is retrieved/bound by Angular via $http to a 3rd party API. A single page app in my case would be painful to build, but our platform is aging and I'm to come up with a recommendation for future development efforts. Just wondering your thoughts on this angle.
Although this talk might have been biased, there was an unignorable level of truth to it. I recently finished a 4 day Angular 2 course and at the end of it all, the whole thing just felt wrong. I don't think A2 is the best fit for my team even though I was crazy about Angular 1.
I'm interested in giving Aurelia a try when I get back out from vacation. It's really clean and simple, but I hope capability was not sacrificed for the aforementioned. I'm not trying to go back to the dark ages, here.
Here is the response for React licence controversy: https://twitter.com/dan_abramov/status/766210972776337408
you can't use the word react like the finebros.
Yes/Maybe/No starts at 57:40