This page is incomplete and is being worked upon. Please check back later or subscribe / follow me on twitter to get notified. Also, feel free to contribute by suggesting the resources in the issues.
# Become a Frontend Developer Before I go ahead and list down the resources, please know that the roadmap and the list below is exhaustive and you don't need to know it all from the get go. For frontend development, all you need to get started with is learn some basic HTML, CSS and JavaScript and start working on projects; everything else you will learn along the way. ## Internet and how it works? Get the basic understanding of internet, browsers, networks and other relevant knowledge. * What is Internet? * How the internet works in 5 minutes * What is HTTP and how it evolved? * HTTP/3: the past, the present, and the future * What Is HTTP/3 – Lowdown on the Fast New UDP-Based Protocol * How Browsers Work: Behind the scenes of modern web browsers * DNS as Fast As Possible * How DNS works? * DNS in One Picture ## Learn HTML HTML provides the skeleton of a webpage. Learn the basics of HTML; learn the basic tags, learn how to write semantic HTML, understand basic SEO, learn how to divide your pages into sections that will help you style them. Please know that I have put multiple links for each resource. While you may pick something new while going through each, you don't need to go through all of them - if you feel like you have understood the concepts and are just repeating what you learnt, you may skip the resource and move to exercises section. * HTML Crash Course For Absolute Beginners * W3Schools – HTML Tutorial * HTML Full Course - Build a Website Tutorial * A few HTML tips * Six tips to set up a better HTML document * HTML Semantic Elements * HTML elements reference ## Style your pages with CSS With the help of HTML, you create structure for your pages. CSS allows you to style your pages and make them pretty. If you take the analogy of human body, the skeleton would be the HTML, skin would be the CSS and muscles that help us move would be JavaScript - we will learn more about JavaScript in the coming sections. * W3Schools – CSS Tutorial * CSS Crash Course For Absolute Beginners * Build An HTML5 Website With A Responsive Layout * Flexbox CSS In 20 Minutes ## Basics of JavaScript JavaScript allows you to add interactivity to your pages. Common examples that you may have seen on the websites are sliders, click interactions, popups and so on. In this section, you will learn the basics of JavaScript. * W3Schools – JavaScript Tutorial * JavaScript Crash Course for Beginners * Build a Netflix Landing Page Clone with HTML, CSS & JS ## Version Control Systems and Git Version control systems allow you to track changes to your codebase/files over time. They allow you to go back to some previous version of the codebase without any issues. Also, they help in collaborating with people working on the same code – if you’ve ever collaborated with other people on a project, you might already know the frustration of copying and merging the changes from someone else into your codebase; version control ssytems allow you to get rid of this issue. In this section, you will learn what version control systems are and understand how to use Git which is the de facto VCS. * Version Control System Introduction * Git & GitHub Crash Course For Beginners * Learn Git in 20 Minutes Now that you know what git is go ahead and create an account on [GitHub](https://github.com) and push everything that you do from now on to GitHub so that you can get the practice and get it reviewed from the other people in the community. ## Modern JavaScript In this section you will learn how to use package managers and get started with the "modern JavaScript". * Modern JavaScript for Dinosaurs (Don't worry if you don't understand some parts of it) * What is NPM and how to use it * NPM Crash Course