The more popular a library is, the more support its ecosystem gets, and the more likely you can convince your boss/company to use it. So if you prefer one, you may really want it to be "the most popular" to ensure you can keep using it.
Eg: people who really like Angular 2+ are kind of struggling right now. If you join a company and they're not already using Angular 2+, good freagin luck. Chances are they won't switch from React/Vue/whatever to it anytime soon.
Because of this, and the general perceived volatility of the JS ecosystem, its not too surprising people treat this as a "war". It's unfortunate.
Facebook really screwed up by not having Windows support for the longest time, and even after they did, not having it as a first class citizen (since most statistics have FE devs to be roughly 50% on Windows). Not that they cared about adoption, but as Flow users, we did.
At my company we started out with Flow and eventually agreed to switch to TypeScript, as the former is getting to be too obscure a technology.
You can say that about any library; it has nothing to do with the popularity, support or quality of the particular dependency. If the technical decision makers choose not to use something you like then you won't get to use it.
This is one of the key reasons to climb your career ladder. If you climb high enough you get to be that decision maker.
The "technical decision makers" though has very much to do with the "popularity, support or quality of the particular dependency".
If a dependency is popular then more technical decision makers at more companies will be using it, and the more choices one that likes/wants to work with it has for a job.
>This is one of the key reasons to climb your career ladder. If you climb high enough you get to be that decision maker.
Which will make the point moot, as they wont be the one coding using the technology anymore.
1) React 2) Vue 3) Angular 2+ 4) Aurelia
If your preference is 1) or 2), it shouldn't be too difficult, even though it means a complete rewrite or building in-house adapters to migrate gradually. If it's 3), even though similar adapters exist, good luck convincing anyone. If it's 4, you're basically dreaming.
Obviously, it rarely makes sense to select a framework that is completely disused, or unsupported, but there are articles out there by reputable sources who assert that if you're not using the current hotness, you're going to miss out on every new tool that crops up in the ecosystem, and your startup will languish and die as a result of having to spend so many more cycles just to keep up with what other people can 'npm install'.
What's worse is that they're not entirely wrong. Any good plugin for Vue right now is going to show up in React or Angular post-haste, if it doesn't exist there already.
Edit: I also can't help but wonder how many people saw this article, clicked the link, realized it was based on stars, and then went and starred Vue (exactly as I did). Every time I refresh, Vue is closer to 'toppling' React (at least according to these nonsense metrics)
If your startup dies because of your choice in javascript framework, you were doomed from the get go.
In a nutshell, I'm trying to turn <something> into a bare-bones HTML page. We currently use an XML document interpreter that was written in 2006; with performance woes and maintainability woes abound. Transpiling to JS neatly solves this.
I started off with my own Angular-like template language, for which this PM correctly scolded me: people will need to learn it. He indicated that I should just use Angular - but the problem is that Angular is opinionated and at odds with this legacy system that I'm trying to clean up. I struggled for at least a week and I dropped for good reasons. I had a discussion with him last Friday and suggested Vue (as it is far closer in execution model when compared to what I am trying to solve): "what's Vue? We shouldn't use niche frameworks, people will need to learn that." Now I have an answer to that :).
“Linux is better than Windows”
“Android is better than iOS”
“Python is better than PHP”
“Vim is better than everything else”
We’re using tech that’s outlived more fads than I can count, yet I’m still surprised when younger hires insists on using stuff that’s basically supported by one man.
I’ll admit JAVA almost made it to the list of techs we were going to have a conversation about in the late 00s, but these days it’s as relevant as ever. So is C#.
The front end is nothing but terrible though. I trained a few of my employees to do angular, and then they had to relearn things with angular2. Maybe that’s not an issue for start ups where youngsters slave away in their free time, but it cost me roughly $60.000 in expenses and missed work to retrain our people.
Had to? Did you hit the limit of the things you could do with AngularJS?
Your developers probably decided to move to Angular2 because it was new and shiny, and when they'll be out for a new job it'll look good on the CV. I doubt there was any business reason for investing those $60k.
* We operate a lot of IT systems, some of them are build in corporation with smaller local firms. This isn't necessarily the most sound decision financially, but it's a political decision to support the local area. We handle the business end, the project management, we do fairly strict code reviews and we take over once it's ready for operations. I said it wasn't the most sound decision financially, but so far it's actually been a cheap way to develop smaller user friendly functionality in a lot of areas. None of these small companies have AngularJS qualified people anymore, and haven't had for a while.
* I can't hire people to do AngularJS. It didn't stick around for long enough for any real talent to develop on it, at least not in Denmark. I'm not hiring from the most lucrative position either, mind you, it's the public sector after all.
* I don't want to operate two Angular versions in my stack. I already manage more than 500 different IT systems, it'd be crazy to manage more JavaScript frameworks than I have to.
* I spend a lot more than $60k upgrading my employees. A few of my developers wanted to go with Angular 2 rather than stick with AngularJS. I'm perfectly fine with that. They could've learned something else, but I generally let my employees chose their direction as long as it also makes sense on the business end. This upgrade was perfectly fine with me.
Unless Google does a completely new take on Angular2-6 in the coming years, it'll turn out to save me a lot more than the $60k in the long run.
They're perfectly valid reasons, but they have nothing to do with the quality of tool, or of the product, or with the cost sustained to develop it. Basically you had to move on just to stay exactly where you were.
We pick a tribe and can be loud and obnoxious in support of them.
- Albert Einstein
A good comparison is backend stacks. Rails exists, but so does Laravel and Django. If it were truly a big deal which was the biggest, then only one choice would remain. Instead, they all have healthy ecosystems with companies using all three.
It doesn’t have to be a war.