While 2020 was a raging dumpster fire for most of the world, software and digitalisation actually benefited somewhat from the rapid switch to virtual work. I watched as many software developers kickstarted their careers and took up new development skills. Adding new languages and skills to your stack will not only make you a better frontend developer but it'll also make you more desirable to future employers.
So you've been warned, not many devs are satisfied with Angular — consider this before you move into the space. If you are going to be working with a framework day in and day out it'll be a whole lot better if you actually enjoy the process. I'll say one good thing about Angular though, the framework is maintained by a team at Google. That means they can implement updates faster, and with such a big name backing it, you can be sure it'll be around for a while.
If you are considering adding Vue.js to your stack, I suggest you match it with another popular framework since its syntax features will help make an easier transition. Some positives about Vue.js: it has the bonus of being a very lightweight framework in terms of size and it tends to have faster updates in the browser.
4. Svelte (Honorary Mention)
The catch, well Svelte is only two years old which means there aren't that many developers using the framework. So fewer job opportunities at this point in time. But since we expect it to grow — keep an eye on it in the coming years.
The best way to learn anything is to get dive in and just start using it wherever you can. Alongside that, I suggest you run through some courses to guide you in your learning journey. There's a bunch of courses out there, so find something that suits you! If you don't know where to start I'll run through some of my favourite ones below, some are paid some are free. If you're new to software development stick with the free ones but if you already have a job — check out the paid ones, most likely your company will shoulder the costs!
Brian Holt's course is a great one stop shop for React beginners. He has a great React course which he keeps up to date and relevant — it's through the Frontend Masters platform. Brian is a developer experience manager at Stripe, so heaps of experience. Basically in his course, you follow him along as he builds an application step by step. He also guides you through the build process and all the React features so you'll leave with a great foundation.
Likewise for Angular, Lukas Ruebbelke provides a great course to keep you sharp in your Angular skills. Lukas is a Principal Engineer at Venmo and a published author.
For those wanting to learn Vue.js, Sarah Drasner leads the VueJs course on Frontend Masters. The course introduces the fundamentals and provides some great comparisons with Angular and React, so if you are coming from that background you'll be up to speed in no time!
Full disclosure, I haven't taken Sarah Drasner’s and Lukas Ruebbelke’s course in their respective technologies, but having taken multiple React courses from Brian Holt and plenty of other frontend courses on Frontend Masters, I have strong confidence that they are great courses for someone looking to expand their skill set in one of these frontend frameworks. They are also widely recommended by the community!
A good project to try on your own is a Tic-Tac-Toe style game that allows you to take turns against another player and perhaps keep track of scores over time. Don’t be afraid to experiment here and try different things. Here are a few different free resources to try so you can kickstart your learning journey.
Create React App for starting a react project from scratch
Best Libraries to Pair your Frontend Knowledge with
The beauty of software development and the internet is that many problems have been solved before, and improved over many iterations. Don’t reinvent the wheel! There are plenty of great libraries out there — use them for your project!
Provides a consistent means of communicating with different API services. Axios works great because it can be used on a frontend code base and backend codebase, making it a “kill two birds with one stone” library. Finally, Axios doesn’t rely on specific browser functionality, as the popular fetch function does, so it is a more reliable function to use.
Which User Interface should you use?
No website can be a website without some sort of user interface. Yes, building a User Interface from scratch is a pain in the ass, it's time-consuming, tedious and doesn't really provide a great return. I suggest you save some hassle and pick a UI to match your chosen frontend framework(s). Here are some of the popular ones:
MaterialUI — a personal favourite, I’ve used it on many different projects and it is a very well thought out and highly supported library. I highly recommend this to someone looking to build a new project without the overhead of designing custom UI components.
AntDesign — a good alternative to MaterialUI, not as popular but still a clean-looking and well-supported UI library.
Hope you enjoyed reading 🙏