React, Angular and Vue | So, where does one begin?
After having spent the last two decades of my career pursuing my own passion for UX and front-end development, I like to think that I've seen a lot in my time. Though I just want to be clear that I don't think I can call myself an expert yet. There's still plenty to learn, and lots yet to be discovered. That said, I wanted to set aside a moment this week to address a topic that I've been seeing a lot online recently. Not to pick a bone with anyone in particular, but this is just my observation so far. There's a pattern that seemed to be forming and more devs are starting to say things along the lines of "React is not a good framework.", "It is better to just use Vue because it is simpler/easier to maintain." And then ofcourse, we have the debate and argument that's happening on the other side of the aisle. While certain debates are meaningful and valid, there are more arguments that have been based upon biased personal opinions & preferences and not exactly aligned with the real-world applications and demand. First Step: Start by Understanding the When, Where, Why and How of Selecting the Right JS Frameworks Here, when I'm referring to JS frameworks, I referring to the holy trinity of React, Angular and Vue. As a front-end developer, your first objective is to get a good enough understanding of the three so that you can one day be in a position to say, "We should use React for this web project." Throughout my career, I have witnessed dev teams that insist of using a single framework, stack to build every single project that comes into the company (I've worked mostly in consultancies). But every now and then, I would realize that a particular website or app needs something different. A slightly different requirement from the rest. That is when I would propose a different idea/solution from the rest of the group. As you might've guessed, I wasn't that popular coming up. But I also wasn't afraid to speak up when I think the team might be heading in the wrong direction. Plus I've also been right every single time, so I have that track record going for me. Must I be really Good at All Three Frameworks? Answer is, not really. It is good to at least get the fundamentals, apply what you know on a couple of web projects that is build on that JS framework. That experience should be able to inform you regarding the real-world strengths and limitations of the JS frameworks. Enterprise-level vs Mid-size vs Learning/Research When I look at all three JS frameworks today, plus my experience of learning about them, tinkering and working with them, this is my genuine professional opinion about their most ideal use-cases and real-world applications. Vue: definitely the easiest of the three to pick up and learn. the best way for new front-end developers to transition over to React later. perfect for building smaller-scale websites and projects. gradually becoming more suitable for working on mid-sized projects too, but not quite there yet. not as matured as React or Angular. Still has room to be better. Also a great stepping stone to becoming a better React developer [fast-tracking]. React: currently the most in-demand JS framework on the market 80% of the world's businesses are SMEs and run on mid-sized projects and websites. still the industry standard, and won't likely change for the next 5 years at least. not the easiest framework to manage as projects become larger (when an app has a very large scope, but doesn't quite fall into the category of an enterprise-level application). cannot just be good at this, you have to be very good in order to excel in related front-end roles. Angular: big bro of the JS frameworks trinity. can be used regardless of the size of web project. for the best [most obvious] returns, angular is best suited for enterprise-level applications. most matured JS framework, thus less dev-related risks involved. Taking our Personal Opinions/Preferences Out of the Equation Professionally speaking, it is very dangerous to make key development decisions according to our personal preferences and opinions. I have witnessed it happening again and again throughout my career. Devs that decide to use a particular framework, language, stack, tool because they think that it would make it easier, but later realize that there were a bunch of unforeseen limitations. While Vue has certainly proven to be a much easier framework to learn, write and maintain, I don't think it is a fair assessment to say that Vue should replace React. Not quite yet. Give Vue another 5 years and then we will do another assessment then. One thing I did learn about Vue is that it is a great segue for front-end developers to transition into being better at React. Now, because React has already grown into this massive beast of a framework, trying to get really good at it from the ground up can take time. It's going to take a while. Truly. But there is a way for you to fast-trac

After having spent the last two decades of my career pursuing my own passion for UX and front-end development, I like to think that I've seen a lot in my time. Though I just want to be clear that I don't think I can call myself an expert yet. There's still plenty to learn, and lots yet to be discovered.
That said, I wanted to set aside a moment this week to address a topic that I've been seeing a lot online recently. Not to pick a bone with anyone in particular, but this is just my observation so far. There's a pattern that seemed to be forming and more devs are starting to say things along the lines of "React is not a good framework.", "It is better to just use Vue because it is simpler/easier to maintain."
And then ofcourse, we have the debate and argument that's happening on the other side of the aisle. While certain debates are meaningful and valid, there are more arguments that have been based upon biased personal opinions & preferences and not exactly aligned with the real-world applications and demand.
First Step: Start by Understanding the When, Where, Why and How of Selecting the Right JS Frameworks
Here, when I'm referring to JS frameworks, I referring to the holy trinity of React, Angular and Vue. As a front-end developer, your first objective is to get a good enough understanding of the three so that you can one day be in a position to say, "We should use React for this web project."
Throughout my career, I have witnessed dev teams that insist of using a single framework, stack to build every single project that comes into the company (I've worked mostly in consultancies). But every now and then, I would realize that a particular website or app needs something different. A slightly different requirement from the rest. That is when I would propose a different idea/solution from the rest of the group.
As you might've guessed, I wasn't that popular coming up. But I also wasn't afraid to speak up when I think the team might be heading in the wrong direction. Plus I've also been right every single time, so I have that track record going for me.
Must I be really Good at All Three Frameworks?
Answer is, not really. It is good to at least get the fundamentals, apply what you know on a couple of web projects that is build on that JS framework. That experience should be able to inform you regarding the real-world strengths and limitations of the JS frameworks.
Enterprise-level vs Mid-size vs Learning/Research
When I look at all three JS frameworks today, plus my experience of learning about them, tinkering and working with them, this is my genuine professional opinion about their most ideal use-cases and real-world applications.
Vue:
- definitely the easiest of the three to pick up and learn.
- the best way for new front-end developers to transition over to React later.
- perfect for building smaller-scale websites and projects.
- gradually becoming more suitable for working on mid-sized projects too, but not quite there yet.
- not as matured as React or Angular. Still has room to be better.
- Also a great stepping stone to becoming a better React developer [fast-tracking].
React:
- currently the most in-demand JS framework on the market
- 80% of the world's businesses are SMEs and run on mid-sized projects and websites.
- still the industry standard, and won't likely change for the next 5 years at least.
- not the easiest framework to manage as projects become larger (when an app has a very large scope, but doesn't quite fall into the category of an enterprise-level application).
- cannot just be good at this, you have to be very good in order to excel in related front-end roles.
Angular:
- big bro of the JS frameworks trinity.
- can be used regardless of the size of web project.
- for the best [most obvious] returns, angular is best suited for enterprise-level applications.
- most matured JS framework, thus less dev-related risks involved.
Taking our Personal Opinions/Preferences Out of the Equation
Professionally speaking, it is very dangerous to make key development decisions according to our personal preferences and opinions. I have witnessed it happening again and again throughout my career. Devs that decide to use a particular framework, language, stack, tool because they think that it would make it easier, but later realize that there were a bunch of unforeseen limitations.
While Vue has certainly proven to be a much easier framework to learn, write and maintain, I don't think it is a fair assessment to say that Vue should replace React. Not quite yet. Give Vue another 5 years and then we will do another assessment then.
One thing I did learn about Vue is that it is a great segue for front-end developers to transition into being better at React. Now, because React has already grown into this massive beast of a framework, trying to get really good at it from the ground up can take time. It's going to take a while. Truly. But there is a way for you to fast-track your learning and growth.
I highly recommend taking the Vue route. By spending a few years working on Vue-related projects, it will provide you with the necessary solid foundations to become much better at React later on in your career. Think of Vue as a stepping stone in the context of our discussion.
What are Your Thoughts?
Look, again, I don't claim to be an expert and I don't always have all the answers. So I am open to having a discussion with you regarding this subject matter. Where do you stand on the use and application of these three JS frameworks? Have you had any real-world successes of applying Vue in enterprise-level applications? What about limitations that you've encountered?
In order for us to have a truly fruitful and meaningful conversation on this, I urge you to be as genuine as you can be. I love to read all about it.