Understanding the Internet Basics ๐
Before anything else, let's get to know how the internet works. It's all about domains, hosting, and how computers talk to each other using DNS. This knowledge is your first step in the web development world.
Learn about basics of internet - https://cs.fyi/guide/how-does-internet-work
Building Your First Site ๐๏ธ
Start with HTML and CSS to make your first website. It's pretty exciting! In just a week, you could be looking at your own site live on the internet. Focus on learning Flexbox and Grid in CSS.
Learn HTML - https://www.w3schools.com/html
Learn CSS - https://www.w3schools.com/css
Interacting with JavaScript โจ
JavaScript makes your website do things. Learn about variables, loops, functions, and how to change your website with DOM manipulation. Spend a few weeks on this; it's important!
Learn JavaScript - https://www.w3schools.com/js
Making API Calls ๐ก
APIs let your site get data from other places. You can start with the fetch
method in JavaScript to grab data and show it on your site. It's like asking another server to send you some info.
Later on you can learn about Axios and other libraries. For now, focus on fetch.
fetch('https://dummyjson.com/products/1')
.then(response => response.json())
.then(data => console.log(data));
Read more on fetch API - https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API
Understanding Version Control with Git ๐
Git helps you keep track of your code changes and work with others. It's like a safety net for your projects. Learn how to use Git and GitHub to save and share your work. You can also learn about GitLab and Bitbucket. Focus on branching, merging, and pull requests.
Learn Git - https://www.atlassian.com/git/tutorials/what-is-version-control
Choosing a Framework ๐
There are many frameworks in JavaScript. You can pick one of them. React, Vue, and Angular are the most popular ones. You can start with React. It is easy to learn and has a large community.Learn about components, props, and state.
Tip: Build a simple project to understand the concepts better.
Learn React - https://react.dev/learn
Utilizing UI Libraries ๐
Incorporate UI libraries like Material UI or Chakra UI to beautify your projects effortlessly. These libraries offer a plethora of components to speed up your development process.
Learn about Material UI and Chakra UI: https://dev.to/codeparrot/material-ui-vs-chakra-ui-which-one-to-choose-14f4
Managing State ๐ง
State management tools like Redux help you keep track of user interactions and data across your application. It's a bit advanced but very useful for bigger projects. You can learn about actions, reducers, and store in Redux. You can also checkout MobX and Zustand.
Learn about Redux - https://redux.js.org/introduction/getting-started
Also check something beyond Redux - https://10xdev.codeparrot.ai/state-management-with-mobx-zustand
Security with JWT ๐
Learning about JWT and web security is crucial to protect your sites. Understand how to keep your user's data safe from hackers.
You should also learn about CORS, HTTP etc.
For cors - https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
Learn JWT - https://10xdev.codeparrot.ai/securing-frontend-authentication-techniques
Testing Your Code ๐งช
Learning Jest for unit and integration tests ensures your code's reliability and robustness, a must-have skill for any serious developer. Other options are Mocha, Jasmine etc.
Learn Jest - https://jestjs.io/docs/getting-started
You're Ready! ๐
Now you are more than ready to start your career as a frontend developer. You can start applying for jobs and start working on real projects. You can also start contributing to open source projects. You can also start writing blogs and sharing your knowledge with the community. You can also start learning about backend technologies and become a full stack developer.