The first piece of advice is don’t panic. It seems like a new framework comes along every day to knock the old one down, but really, the old stalwart frameworks and libraries aren’t going anywhere: jQuery is pretty ancient, but it still powers a huge chunk of the internet and you’re not going to have trouble finding work with it. Sites wrote using older JS still need maintenance, repair and even development. There’s been a lot of talks that Angular and React are on their way out but it seems naive. Vue is certainly becoming more popular, but you don’t need to worry that something is going to become obsolete by the time you’ve finished learning it.
Developers love to ask “is [whatever framework I’m learning] still relevant in current year?” and it creates an environment where we’re panicking all the time about finding the next big thing. I’m not going to stop you from looking forward, but it’s not the end of the world if you’re not working with the hottest new framework.
The second is to ask questions. Anybody who has been a developer for long enough knows that this industry is as much an education as it is a profession—where learning all the time, and it’s part of what makes us good at our jobs. Especially with a complex and ever-evolving ecosystem like JS, everybody else in the room has needed to ask for help at least once. There are CTOs with five decades’ experience who probably still need to check the docs for meteor.js before they go into a meeting. Whether you’re consulting your colleagues or the internet, it’s a normal part of the process and one you should engage in often.
The third, and probably most important piece of advice, breaks things. As the old chemists’ saying goes, “experience is measured in equipment ruined”. Don’t break your client’s project, of course, but one of the most important things a developer can do to improve their skills is to fire up their code editor and experiment. It’s inevitable with a system like JS that things are going to go wrong: it’s best they go wrong in your personal test environment, so you can stop them going wrong on your client’s site.
Which is good advice, but doesn’t answer the most pressing question: where do I start? Well, let’s go through some of your options for frontend development:
- Angular is Google’s JS framework. It is distinct from AngularJS, which is a deprecated version with a different architecture. Both are full frameworks with a robust set of features.
- React is what Facebook is using. It’s really more of a library and view layer, but there are third-party options that let you use it as a full framework.
- Vue.js is the new kid on the block, rapidly gaining popularity. It’s elegant and powerful, but there aren’t a lot of job openings yet so you’re not seeing a lot of developers working in it. This will likely change in the next few years.
And for the backend:
- Your first port of call must be Node.js-it’s an interpreter that lets you run JS outside of a browser. Almost every backend JS framework, tool or application runs through Node and you’re going to struggle without it.
- Express.js is a web application framework that synergizes well with other backend JS apps. It requires Node.
- Meteor is a tool that lets you perform the synchronous cross-platform deployment. It should go without saying, it requires Node.