My previous job was on a product that used CoffeeScript and Backbone. As a stereotypical front end hipster, I was worried at first. I thought: "This is really old stuff in JS time. There are shiny new things out there". But I soon saw that while it would be more fun to use a new framework/language, the old ones are _totally fine_.
CoffeeScript was last updated a week ago. Backbone was updated several times last year and 1.4 is expected some time soon. There are online communities, there is documentation, there are answered questions on stackoverflow. Yeah, everything feels a bit old, but there won't be breaking changes to the API every few months and that blog post from 2015 that solves your exact problem is still useful!
Try looking at it like Angular is a language, not a framework. Sure, there are fancier ones coming out all the time, but that doesn't mean you have to switch every time that happens. The one you know has a bunch of apps built in it, you can still learn about its intricacies and there will be jobs for you for quite some time.
I am the sole front end developer at ReportDash, an online report and dashboard builder. We use backbone, backbone layout manager & coffee script and never ever once regretted the choice. The code is highly organised, thanks to the structure provided by backbone layout manager, and is pretty much readable and extensible. And not even once I felt limited by the framework.
The code has got quite complex over time, and I strongly suspect I would have gone mad if I had used a different framework. I used to wonder why the hype over react, vue, angular etc.
IMO, the hype over them is because Google, Facebook, et al are trying to gain developer mindshare. Their modus operandi is to hoard as much webdev talent as possible to limit the possibility of a startup usurping them. With front-end development being trendy, this buys them massive brand recognition.
The technology itself doesn't need to be new, exciting or practical. All you need is sufficient marketing $$$$$$ backing it.
I couldn't agree more with your comment. If you found your favorite framework, which is still maintained and gets the job done, then stick with it unless you have very good reasons not to (and "it's uncool to use this long established framework" isn't one of those reasons).
I saw so much flawed frontend code which wasn't written by bad coders but by people which try to use always the fanciest and newest thing out there. Even if the docs written in marketing language claim otherwise, there's always a learning curve and it doesn't make any sense to switch the framework as soon as the learning curve getting flat.
One reason that Angular feels more like a language than a framework to me is that it essentially has its own module/dependency system with all the dependency injection stuff.
It don't even use Angular's D.I. to test things. We don't have any tests in our app, what would you even test? It just displays data it gets from various sources.
But this:
angular.module('...')
.controller('BlahController', function(a, b, c) {
'ngInject';
...
});
is still clearly better than this:
var a = require('a');
var b = require('b');
var c = require('c');
exports.BlahController = function() {
...
}
My previous job was on a product that used CoffeeScript and Backbone. As a stereotypical front end hipster, I was worried at first. I thought: "This is really old stuff in JS time. There are shiny new things out there". But I soon saw that while it would be more fun to use a new framework/language, the old ones are _totally fine_.
CoffeeScript was last updated a week ago. Backbone was updated several times last year and 1.4 is expected some time soon. There are online communities, there is documentation, there are answered questions on stackoverflow. Yeah, everything feels a bit old, but there won't be breaking changes to the API every few months and that blog post from 2015 that solves your exact problem is still useful!
Try looking at it like Angular is a language, not a framework. Sure, there are fancier ones coming out all the time, but that doesn't mean you have to switch every time that happens. The one you know has a bunch of apps built in it, you can still learn about its intricacies and there will be jobs for you for quite some time.