There is this constant debate whether to pick React or Vue or Angular. Most of the time I can see articles and videos about which one to pick or which one not to pick. And the most disturbing are the ones that just talk about a specific one and try to blame it on why they failed.
Some might think the title is just clickbait and I can’t blame them, maybe it’s even true, who knows. You will never know if you don’t read it to the end.
Let me first address the content that states how one particular framework ruined their project or even got them fired. Simply put, it wasn’t the frameworks fault, it was all on you. And because you picked the framework. Every framework, even though some really excel at some specifics, can be good enough if used the right way.
A lot of times I read how some developers pick a framework because it is easy and quick to learn and has a low entry point. Let me remind you of the most fundamental point a decent developer should always follow: “Nothing good is quick and easy”. If you decide to become a developer as your career, should you really cut corners oor should you take the time, learn everything you can and be the best you can be. Trust me, cutting corners will bite you in the ass sooner or later. Software engineering is a profession that takes constant learning and evolving throughout your whole career. I can’t name a single decent developer that will state that he knows everything and that his learning path is over. That simply doesn’t exist.
So now you question “what should I do?” or “what should I pick then?” You see what I did here? -I am asking questions. That’s a good quality to have as a developer, asking questions. Of Course those that make sense. But let’s get back on the topic and let’s see what we should pick and what one should consider or not consider when deciding.
Never pick something because it’s easy!
There are numerous cases where developers who don’t even have vanilla JavaScript fundamentals down, jump into Vue or React because they read online that it’s easy to get into, especially compared to Angular, which is actually the so-called complete, all in one, framework. But to be honest it is not. For a lot of tasks you will have to use libraries to extend the functionality, while Angular comes shipped with everything you need. On top of that it gives you a robust structure to follow, which down the line is pretty important for an enterprise level application.
Let’s think hypothetically. You pick a library that is a huge part of your application and one day the developer decides to ditch it or a huge vulnerability is discovered for which in most cases you can just wait till it gets fixed, or it may never get fixed and you can pick up someone elses code and hope you can get through it as soon as possible.
Does this scenario not scare you a bit? Compared to the so-called “huge learning curve”.
Of Course picking a good library is part of making good decisions. And since you based your framework decision on something that someone said so or because you think entry time is that important, then I can safely assume you are not that good at making decisions which library will be good and last. So hypothetically I can raise the percentage at which this scenario will occur to you.
The framework doesn’t matter!
As someone who has worked with all of them at some point and I’ve been in the JavaScript ecosystem for over 10 years, I think these frameworks are basically the same. Someone with good fundamentals will quickly pick up any of them.
Of Course there are differences like the use of virtual DOM, which Angular doesn’t use. And the rendering rate, but let’s be honest, most applications don’t fall into the box where all this would matter as opposed to good practices and simply coding a good application.
In my opinion I would most of the time pick Angular, specially for bigger, enterprise applications. I adore good structured and well written code. I do quite often use Vue, because I think it is simple and to some degree structured. Together they are like Batman and Robin. Not to mention the reason why I also picked Vue over React for example, is that It’s shipped with Laravel, which is my go to backend framework. You see this right here? -This is another valid point why to chose something as opposed to “I can learn it a little faster”.
And as I said, this is my opinion based on my experiences and preferences. You should do the same. Try out and see what you like and remember that you are the one who can make or break an application. Start it up and dive deep and become an expert in any framework you desire, because that is what counts and will make the difference in the end.
So was my title click-baity? Perhaps, a little, quite probably. Is that bad? Not really. Hopefully I got the point out that most whiny articles bashing on some framework are simple clickbait rants with no actual weight on it.
Happy coding in whichever framework you enjoy the most! :)