Hello there,

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?

Answer

  • Vanilla JavaScript (ES6) itself with all latest Web standards and Web APIs, optimized DOM manipulation
  • 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.

This YouTube channel and this Medium blog is good to start from

Cup1
Crown1
2 Beers1
1 Beer1
Cool3
Clap2
High Five2
Show all replies

@mevrael ah I see. I guess it is true that most source code is not written to be read over with complete understanding. Docs definitely do help. I do want to create my own CLI for some projects but I think I still haven't rooted my knowledge yet. I guess your list is more like an overall than just getting started. I do wish to still meet some of these goals myself.

Reply to this…

(11 answers) Take me to the question