This article was originally published at: https://www.blog.duomly.com/which-front-end-framework-is-the-best-in-2019
Frameworks are a very powerful...
For further actions, you may consider blocking this person and/or reporting abuse
Hi everyone! So, there's quite a large number of misconceptions in this post that I feel the strong need to address. These are coming from someone that has worked with most of the technologies on this list over the years first hand;
Hope this helps clear up some confusion, other than that it's a great article!
I agree with most of your critiques, though I would like to point out that while Marionette.js may allow you to build large applications with Backbone, in my experience it's usually not a good idea.
I regularly work with a large application that uses Backbone and Marionette.js and maintenance and scalability often feels like a losing battle compared to modern frameworks.
Great response, with facts not assumptions. One fact of life as well is AngularJS is reaching end of life, moving to long term support in a little over a year. Why learn a dead framework?
This is why such things as IE and bower still exist. New frameworks come out because they are improvements based on the current reality. Great broad statement there, be kind as not all frameworks are better. It's technology, 4K UHD is better than 1080p LED, same goes with frameworks. I hate when people destroy the "new" way of doing things. It's technology, it's advancements, it's the reason I choose to be in this field as it's a constant education.
Thank you for Dylan 🙂 Though I'd like to add, I do not want to discourage people from learning an "old", or so called "dead" framework. It's important not to fall into "hype driven development". And that just because something is new, it doesn't mean it will always be an improvement for everyone. Angular 2+ was a great example of that.
Sometimes, just because things aren't talked about as much, doesn't mean they aren't great technologies anymore. I like to think the same way about Ember. Nobody talks about tech like Ember.js, or heck, even Ruby at this point. But that's because they are mature tools that people are mostly happy with. There aren't new shiny things being introduced at breakneck pace anymore. And for many people, that is just perfect 🙂
I think people should absolutely be discouraged from learning angularJS. That would be a terrible investment of time.
As an AngularJS developer, working on a legacy project, I'd undoubtedly discourage new devs from learning AngularJS. It's not only a dead framework by now (March 2021), but also has been successfully replaced by Angular, not as an alternative, but as a replacement.
Encouraging new devs to learn old, outdated frameworks is doing them a disservice
This comment needs to be at the top.
Had a lot of reservations about how it presented AngularJS (and even recommended people to learn it in 2019) and Angular, Vue, and the inclusion of jQuery
The observation that learning Vue will soften the path to learn React was really helpful to me.
I wouldn't even put AngularJS as it's only used on legacy/Enterprise projects. New projects are not being built with it anymore (I hope so!).
We had to migrate our codebase from AngularJS to angular 7, now 8, and it took us a few months. It was an interesting experience, but not a fun one.
Yes, it's a good point, but I'm afraid it's like devs dream. Still, I see old, happy AngularJS or even jQuery in big enterprise projects and companies look for people with that skill. What is funnier, most of these projects are the best paid.
Oh yeah, once you know a skill that most people don't learn anymore you are a rare beast and there are plenty of large Enterprise software that it's too painful and expensive to migrate. I also work on an Enterprise SaaS, it's a large codebase but not huge and it still took us 3/4 months to migrate to Angular 7
I think it's fair that he included them. Following that logic, he would not have included Backbone, Ember, and jQuery as they are all slowly but surely losing adoption as time goes on.
Also, while AngularJS might be considered legacy by fans of Angular (2-8), let's remind ourselves that Angular 2 changed so much at a fundamental level that it might as well be considered another framework entirely. Vue.js is far more of an Angular continuation than Angular 2 ever was.
Please explain how Vue being young and flexible in structure is bad.
It's not really bad(even very often is good) but sometimes it could be problematic to follow when framework is very young and will change constantly.
That doesn't make a lot of sense as a Con of Young Age... Even mature frameworks like Angular and React occasionally change radically (see Hooks). In the world of modern Front End, age is not a measure of few changes.
Have you used Vue? I have, and I don't find it hard to follow at all. It's over 4 years old, and the last major release was over 3 years ago. I mean, features have been introduced in minor releases, but you don't even need to know about those to use it, as is the case with most software.
So far Vue changes have been minor and l don't see a problem with that, unlike other frameworks which transformed completely like AngularJS to Angular.
We use Vue for small projects and don't see issues, it's true Angular had much bigger changes.
Used Vue, for small and for big projects, and have no problem at all, it not up to frameworks how you organize structure of you apps. would put flexibility in pros, not cons.
Good summary.
About the SEO friendliness of React:
React sees itself as a UI library and not a framework. The reasoning is that it only offers basic UI features out of the box. Programming-model like I would consider it a framework.
Anyway, Next.js and GatsbyJS are seen as the frameworks for the library that React tries to be. They both come with pre-rendered HTML options that are more SEO-friendly. Next.js offers server-side rendering and GatsbyJS offers compile-time rendering.
I think this is also true for Vue.js, which in turn has projects like Nuxt.js and VuePress.
True, we could add here stuff like for example react-helmet as well.
Minor correction: vue.js has 2way binding in the form of the v-model directive.
YES
As a big fan of Vue.js it astounds me that OP ranked Vue so low in here, Vue supports
props
like React does, but it also supports 2-way data binding to component-level variables (AND it lets youwatch
certain variables for changes over time, including watching store variables in Vuex!), it's performant and easy to learn, as well as it having a ton of support for all kinds of librarieswhat about Svelte...?
After studying seriously about vue 3 i've decided to stick with react hooks for more convenient. 2-way binding is not a good idea ! Unnecessary ! Very confused ! Too many syntactic sugar, too many helper functions for vuex . Vue is easy to learn but actually more things to remember and of course more things must be changed in forthcoming version 3 😱
Good luck to Vue 🍀
What about Svelte?
As a front-end engineer at Uber - we don't use jQuery. We're almost exclusively React, though a handful of projects use Angular of Vue.js. There's a couple of instances of jquery in our code in old projects.
I used to love Google GWT. It allowed working in Java and yet produce HTML and JS. Debugging was just like debugging a Java Swing app via Eclipse IDE. Of all the new frameworks, I personally like VueJS. But I'm sure a shiny new toy like Svelte will soon catch up and we will see articles like this on that :-)
For me, it's all about the expertise available in the team and the existing framework used in the company code base. For clean slate projects, all of the above pros and cons come into play .
I was surprised when in you article you stated Angular documentation is not beginners friendly i beg to differ because i picked Angular up In June and the documentation has been really helpful, moreover TypeScript learning curve is not that high you practically don’t need to learn TypeScript if you want to learn Angular you can pick TypeScript concepts along as you learn Angular.
Very good summary, thanks! 😇
I'm glad you like that :)
Great blog, thank you for spending your time and effort in putting this list together.
Why the fact that Vue is not maintained by well-known companies is a con ?
It could be a con if looking from a career point of view. Big companies very often have bigger projects, which can have an impact on the future and popularity of a framework.
Bigger company does not necessary means lasting projects over time. Google has many projects that were promising that have been stopped.
While a community project like the Linux kernel is lasting longer than most big company's projects. That should count for something...
If you're giving out advice to learn something new, I would never add AngularJS, jQuery or BackboneJS (which uses jQuery too btw) to any list!
You should add other React Frameworks instead like GatsbyJS
How it's a cons that "Vue is not maintained by big company like Google"?
Big company using Vue?
You can add Pornhub, Apple, Google.
I thought my homies from pornhub only used php and jquery mainly. Didn;t know about vue
so why isn't anyone talking bout svelte the new kid on the block?. I find it has an easier learning curve than even Vue yet its just as powerful
"The best front-end framework to learn in 2019" should be re-named to the best front-end technologies to learn. Most of the techs mentioned here are not even frameworks
Where is flutter in all this
Off the topic ! Do you really know what flutter is for
Do you? or are we having a biased conversation about web frameworks and not front-end frameworks ?
en.wikipedia.org/wiki/Flutter_(sof...
mostly Flutter is use for Mobile App by now ! and all the front-end topics are about the battle of these top three : angular, react and vue !
google for me any such topics that people want to talk about flutter in the terms of best top front-end frameworks comparison then ?
Correction : Vue is both 1-way and 2-way data binding
You scared of calling svelte a framework?
Knockout?
I would add here blazor also
Any thoughts on Sencha Ext-js?
Thank you !