I want to start front-end development. So, my question is what is the list of languages, frameworks and libraries I should be familiar with?
Write your answer…
- Repeat 1st until you won't master it
- Node, npm, some build tools like rollup.js with at least babel plugin
- Learn how to write custom node scripts and automate your front-end. Don't use gulp/grunt/bower/whatever
- Don't learn any frameworks, learn software architecture and engineering principles, paradigms, design patterns, best practices, algorithms. Take a look onto MVC.
- For styling start from SASS but keep learning all the latest CSS standards and features. Take a look into ITCSS and BEM. Browse the source code of Bootstrap 4, try to configure BS4 with SASS and write custom code on top of it.
- For HTML - HTML5, HTML5.1, Web components, Web accessibility, start using semantics as much as possible, custom tags and attributes are ok.
- Try to build your own simple tempalting engine to understand how it works
- Try to build own small framework/library, you can take a look into source of Monkberry, Vue.js, React
- Try to build own simple routing, you can also play with latest browser History API and pushState
- Try to build custom vanilla JS simple app like TodoMVC from scratch
Now you can waste time learning any of thousands of frameworks around but I believe you won't finish my starter list until you will find a job as a jr. front-end engineer where you will have to learn some tools, frameworks which company is using anyway.
Hashnode is building a friendly and inclusive dev community. Come jump on the bandwagon!
💬 A beginner friendly place
🧠 Stay in the loop and grow your knowledge
🍕 >500K developers share programming wisdom here
❤️ Support the growing dev community!
Register ( 500k+ developers strong 👊)
All of the tools, frameworks, libraries, and best practices built on top of them will be much easier to pick up and use, or create for yourself if you have a thorough understanding of the 3 languages the web uses.
I would recommend not getting distracted by learning frameworks or plugins right now. If you have knowledge about the foundation of how the web works, then you will be able to pick up new tools and frameworks with as much difficulty as you would putting on a shirt in the morning. And you may change your tools nearly just as often as you change your shirt, but HTML, CSS, and JS will always be constant ;)
Beyond that, like I said, React, Redux and GraphQL are all amazing cutting edge technologies that are a blast to work with.
- you can't get anywhere without this.
- again this important to understand core mechanics of front end dev.
- The most important one. I see everyone saying to learn ES6 here but in reality not all browsers support that. You should learn ES5 so most tutorials or classes you find go over this. Once you have this ES6 is a easy.
You should strive to get a taste of it all if or at least most popular items because most jobs offer these.
- Now when I started I learned this second but its strict styling gives you a better build without making so many mistakes at first and starts you off with some structure. Use the CLI.
Angular JS 1
- Now I know angular 2 is out. But many and I mean many jobs ask for this and it is I think a good thing to learn this before learning Angular 2. You will love Angular 2 after learning Angular JS. I suggest not spending too much time here. Just get the basics and move on.
Angular JS 2
- Now this is were new magic comes into play. Typescript 2.0 really bring this framework into the new age of front end. Now As you can see there is a new thing here so look below.
- Most people will argue you should learn this before the other languages. Really it is a personal preference for me to learn it here. Reacts JSX files to me seem backwards to the days that HTML and JS were in the same files. And well they are again. However I would recommend React with Typescript. Since after all React is JS you can use Typescript.
I mentioned learning CSS before and this is where this comes in.
- Is actually a framework but you can just use the CSS like many devs and if you use Angular there is Angular UI which pairs well with bootstrap to have a more complete feel. Angular 2 however will have a good point in using bootstrap with its component based approach.
- To me this has surpassed bootstrap in many ways but it is a little difficult to take in after learning bootstrap. It's very much a completely new approach.
Try to learn
This is something you should take a look at. It always your best interest to learn more than just your job.
- This also is something that is very different in different projects. But it is easy to learn its basic structuring. This is sits on top of Node JS and well you can think of it as connecting your server to your front end.
because every project has them, maybe just read over the docs if not dive in and use them in your personal projects, highly recommend making your own projects. If you want to see some example work check out my github. me.
- I prefer
- Angular 2 uses
- I think was used on Angular 2 Release Candidates but havent checked out A2 full release yet.
- Just a very usefull package manager. You can use others though. This is just specific for NodeJS.
- This is actually really important and most people don't stress this. There are other similar things out there but if you really want to get involved in the community of devs this is the place to be.
I never had anyone lay out a list of things and reasons of why I should learn certain things. I hope this gives you a good outline of how I learned to be a developer. I have been programming for 4 years now. I know some 15? .. 16? languages. Not fluent but I can dabble in many.
I hope this helps :D
Don't miss out!
Join the growing dev community
Get started (no password needed)
Or Sign in with: