December 19, 2022
Estimated Post Reading Time ~

Front-End Development Roadmap

🛣 Front-End Development Roadmap
HTML & CSS → 🧑‍💻 → JavaScript → 🧑‍💻

🧑‍💻 ← Tailwind* ← 🧑‍💻 ← TypeScript

React* → 🧑‍💻 → Next.js* → 🧑‍💻 → 🏁

Be a Pro: a complete guide.


This is how we'll proceed
➊ HTML & CSS
➋ JavaScript
➌ TypeScript
➍ CSS Frameworks
➎ UI Frameworks
➏ Server-side Frameworks
➐ Other Important Skills
❯ Git
❯ DSA
❯ GraphQL

P.S:
➤ ➌ ➍ ➎ ➏ are totally optional
➤ ➌ ➍ ➎ can be done in any order

➊ HTML & CSS
⬘ Your front-end journey will always start with HTML and CSS. You'll be using these forever.
⬙ There is no reason to overburden yourself by trying to learn everything at once. You'll learn throughout.

➋ JavaScript
JavaScript is essential to FE development.
You should start with the basics and move on to more complex subjects.
➤ JavaScript Modern Syntax
➤ HTML DOM API
➤ Event Handling
➤ Asynchronous
➤ Fetch API

➌ TypeScript
⬘ At first, JavaScript appears to be sufficient. But once a project becomes more complex and bigger, you will find it tough to handle.
⬙ The biggest (debatable) drawback of JavaScript is its dynamic typing. TypeScript is to the rescue.

➍ CSS Frameworks
CSS Framework is important when you consider a professional WebDev journey.

There are so many options available.
➤ Tailwind CSS
➤ Bootstrap
➤ Chakra
➤ Bulma
➤ Foundation
➤ Skeleton
➤ Pure CSS

Start with anything. You can switch at any time.

➎ UI Frameworks/Libraries
You'll start using a UI framework to build a complex application sooner or later.
They are
➤ React
➤ Vue.js
➤ Angular
➤ Svelte
➤ SolidJS

Go through their documentation. Choose according to your requirements and future interests.

➏ Server-side Frameworks
Client-side UIs (or, Single Page Applications) are
❯ Slow at startup
❯ Not fully SEO friendly
❯ Difficult to grow

Adapt to any server-Side framework.
➤ Next.js
➤ Remix
➤ Gatsby
➤ NuxtJS
➤ SvelteKit

➐ Other Skills
These are some mandatory skills.
➀ Git
Knowledge of Git is a must and should be as early as possible. Use services like GitHub, GitLab, etc.

➁ Data Structures
You should learn basic data structures like Array, Linked List, Stack, Queue, Tree, Graph, etc.

Below are some "nice-to-have" skills.

➂ CSS Preprocessors
CSS is powerful, but sometimes we may need features that are not available in CSS. There, CSS Preprocessors help a lot.

We can choose from
➤ Sass
➤ LESS
➤ Stylus
➤ PostCSS

➃ Web APIs
Apart from the DOM API and Fetch API, you may have to use many other built-in APIs for building a great web application.

➄ State Management Libraries
Managing data (state) in a UI application becomes a tough task when they become abundant.

You may consider using
➤ Redux
➤ Mobx
➤ React Query
➤ xstate

➅ GraphQL
Traditional data fetching from servers is a repetitive and slower operation.
GraphQL is a nice invention. It's grooming. Consider using any of the below GraphQL clients.

➤ Apollo Client
➤ Relay
➤ GraphQL Request
➤ AWS Amplify
➤ urql

➑ Practice
⬘ Don't just read books and articles or watch videos. To learn effectively, you need to practice a lot.
⬙ Practice during each step alongside learning. Ask yourself.

➒ Frequently Asked Questions
➀ Can I learn JavaScript before HTML & CSS?
Yes. You can learn basic syntax.
But for the DOM API and event handling, etc., you would need knowledge of both HTML and CSS.
➁ Is it mandatory to learn TypeScript before React and Tailwind?
It's not mandatory, but a good choice. You can always prepare these 3 in any order.
➂ Why Tailwind but no Bootstrap?
It's just for illustration. You can choose any CSS framework of your choice.
➃ Why no Angular?
It's just for illustration. You can choose any framework of your choice.
➄ Why are only JavaScript frameworks mentioned?
I have prepared this roadmap keeping JavaScript frameworks in mind. You can choose any framework, though.
➅ There are no CSS preprocessors?
CSS Preprocessors are helpful, no doubt. But, in most circumstances, you may not need them. Use them as per your needs.
➆ Does 🏁 mean it's finished?
No. Web development is evolving every day. There is no finish point in reality.

🚥 Disclaimer
⬘ This roadmap is prepared with JavaScript stacks in mind.
⬗ I didn't time-bound it. But, on average, it would take 9 to 12 months.
⬙ It's not mandatory to learn linearly. You may skip something or may learn multiple subjects in parallel.


By aem4beginner

No comments:

Post a Comment

If you have any doubts or questions, please let us know.