What languages, frameworks and libraries should I learn in order to start front-end development?

View other answers to this thread
Start a personal dev blog on your domain for free and grow your readership.

3.4K+ developers have started their personal blogs on Hashnode in the last one month.

Write in Markdown · Publish articles on custom domain · Gain readership on day zero · Automatic GitHub backup and more

Mev-Rael's photo
  • 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

Show +2 replies
Ben Briggs's photo

I agree with most of this, but it's important to remember that we all start somewhere with respect to build automation. Grunt got me into build tools in the first place, then I migrated to gulp and finally now I'm piping CLI commands together. That progression is important; gulp & grunt exist because they are aimed at simplifying common tasks. I was definitely new to the command line before using build tools, so it was more intuitive to me to use JavaScript tooling. In short; use what you're comfortable with, but always be on the lookout for better ways to do what you want to do.

Marcus's photo

@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.