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

Ben Buchanan (200ok)'s photo

Start with HTML, add CSS, then move on to vanilla JavaScript (including ES6). Don't start with frameworks and libraries before you know the trinity. I'd actually say that HTML and CSS are more important as fundamental skills - if you don't know what HTML tags are for, you'll waste a lot of time recreating functionality in JS. If you don't know how CSS works, you'll spend a lot of time debugging simple problems... and so on.

If you skimp on the basics you'll never really master the advanced stuff. I'd even go as far as saying you shouldn't go beyond HTML/CSS/JS until you are actually frustrated enough to know why people made frameworks and libraries in the first place.

After the trinity I still wouldn't jump into frameworks - first learn a task runner. Learn git and bash if you haven't already.

I'd suggest going with the NodeJS stack; so you're looking at NodeJS, NPM and Grunt or Gulp. Learn how to use those to do common website tasks like minifying and concatenating CSS and JS.

Learn a good templating language for HTML. Learn a preprocessor for CSS. Still stick to vanilla JS. By this stage you will have the skills to efficiently create and maintain a simple, static website. Learn how to deploy it with SFTP, then automated deployment processes. Learn to hack on your .htaccess file.

Sooner or later you'll get tired of static content and want to pull data from some endpoint... and after that, frameworks and libraries will come pretty easily.

Above all: make stuff. Have fun.