Simply put, a full-stack developer is a developer who is comfortable with both backend and front-end. Someone capable of making an entire functional application on his own. It is obvious why this skill has a lot of demand out there.
Without further ado, let’s dive in and take a look at what a full-stack developer may use to achieve the incredible.
Okay lets face it — you can’t be a full-stack dev without being a front-end developer first. It’s a part of the definition of the term. The bare minimum you should be able to do is to make a functional, dynamic and responsive website/web app. If you’re not very comfortable with frontend, here’s something that might help. This can be achieved with your usual ingredients — HTML, CSS, JS. No surprise there. But in order to take your game up a notch, you’ll need to spice things up a little with a few frameworks and libraries.
Lets look at a couple of CSS frameworks you can use to quickly make good-looking responsive websites:
Backend development is the other side of the coin that we call full-stack development. If you have no idea about backend development, this article may be a good place to start.
Once you’ve learned the fundamentals of NodeJS, definitely consider learning ExpressJS, a lightweight routing and middleware framework built upon Node. This combo is sufficient to be a skilled developer, however, you may consider learning other frameworks and technologies built to work with Node. I’ll list two of these to help you get started:
Next, let’s talk about hybrid and cross-platform apps.
Without further ado, here’s a list of such technologies:
Yes and no.
Yes because you can whip up a lot of crazy cool stuff with the knowledge you already have. And without doubt you are a full-stack developer at this point. So in a crude sense, you know all you need to know to make stuff.
But there’s another aspect of being a developer designed to make your life and the lives of people you work with easier. A set of tools and technologies that can potentially save you hours of frustration and hair pulling.
I’ll go over some of these real quick.
This is almost synonymous with Git and GitHub. And without doubt you should have mastery over these technologies if you intend to continue as a developer. However, other options exist. Two of those are:
These often-overlooked tools help you quickly install and manage the packages and libraries your project needs. Most of you may know NPM — the famous Node Package Manager. However, again, other options exist.
Yarn is a package manager that is quickly gaining traction because of its speed and a few other advantages over NPM.
Bower is another package manager for the web.
I didn’t want to have too many of these subsections, so here’s a quick list of tools that you will eventually have to get familiar with:
- Webpack — a bundler for your applications that has gained a lot of popularity in recent times
One final topic that I’d like to briefly go over here is how to get your applications online. Again, lets make this quick. These are some of the popular server-as-a-service options that you will want to use in order to get a your app out in the open:
That was a lot of information, wasn’t it? Take your time and gradually get familiar with the tools and frameworks you like. I know there is a lot more that can be added to this article, but I tried to limit each list to 2–3 entries for the sake of brevity. I’d appreciate comments adding to the article or the lists.
One last thing: check out this excellent article on the top JS trends to watch out for. I personally found this to be a good complement to the article you just read.