Skip to content

Instantly share code, notes, and snippets.

@EdnilsonRobert
Created April 24, 2024 14:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save EdnilsonRobert/164fa83b8aec14c34d2da74b186e9c30 to your computer and use it in GitHub Desktop.
Save EdnilsonRobert/164fa83b8aec14c34d2da74b186e9c30 to your computer and use it in GitHub Desktop.
Frontend Roadmap

ROADMAP FRONTEND

1. Basic Skills

  • HTML: Understand the structure of web pages with HTML5.
  • CSS: Learn to style web pages, including layouts, responsiveness, and animations.
  • JavaScript (JS): Gain proficiency in JS, the scripting language that allows you to create dynamic content.

2. Development Tools

  • Code Editors: Become comfortable with code editors like VS Code or Sublime Text.
  • Version Control/Git: Learn how to use version control systems, primarily Git, for tracking changes and collaboration.
  • Browser Developer Tools: Familiarize yourself with Chrome DevTools or similar for debugging.

3. Design and UI/UX Principles

  • Responsive Design: Learn frameworks like Bootstrap or Foundation, or study CSS Grid and Flexbox.
  • UI/UX Best Practices: Understand the fundamentals of user interface and user experience design.

4. Advanced CSS

  • Preprocessors: Learn Sass or LESS to write more maintainable CSS.
  • CSS Frameworks: Get to grips with frameworks like Tailwind CSS or Bootstrap.
  • CSS Architecture: Understand methodologies like BEM, SMACSS, or OOCSS.

5. JavaScript Deep Dive

  • ES6+ Features: Learn the latest JS features.
  • DOM Manipulation: Understand how to interact with the Document Object Model without libraries.
  • Fetch API / AJAX: Learn how to make asynchronous requests to APIs.
  • Design Pattern
  • Prototypal Inheritance vs Classical Inheritance
  • Event Loop
  • Event Delegation
  • CRP — defer vs async — parser blocking vs render blocking
  • Web API
  • Promises / Async / Await
  • Web API
  • Closures/ SCOPE/IIFE — JS Polyfils — call/apply/bind
  • Web Security
  • Web Accessibility
  • Web Performance
  • How to improve page load performance ?

6. Front-End Frameworks/Libraries

  • React.js: The most popular front-end library.
  • Vue.js: Increasingly popular for its simplicity and ease of learning.
  • Angular: A framework that’s more opinionated and has a steeper learning curve.

7. State Management

  • Context API / Redux: For state management in React applications.
  • Vuex: For state management in Vue applications.
  • NgRx or Services: For state management in Angular applications.

8. Module Bundlers and Task Runners

  • Webpack: A static module bundler for modern JavaScript applications.
  • Parcel: A web application bundler that requires zero configuration.
  • Gulp/Grunt: Task runners to automate tasks.

9. Package Managers

  • NPM or Yarn: Learn how to manage your project dependencies.

10. Testing

  • Unit Testing: Learn testing with Jest or Mocha.
  • End-to-End Testing: Understand testing with tools like Cypress or Selenium.

11. Modern APIs

  • REST: Understand the principles of RESTful APIs.
  • GraphQL: Learn how to use GraphQL for more efficient data retrieval.

12. Static Site Generators

  • Next.js (for React): A framework for server-rendered or statically exported React apps.
  • Nuxt.js (for Vue): An intuitive framework for building server-rendered Vue.js applications.

13. Jamstack and Headless CMS

  • Jamstack Concepts: Pre-rendering, decoupling, static site generation.
  • Headless CMS: Contentful, Sanity, Strapi, or Netlify CMS.

14. Deployment and Hosting

  • Netlify: A platform for deploying static sites with great CI/CD integration.
  • Vercel: Similar to Netlify but closely associated with Next.js.
  • GitHub Pages: Simple hosting for project pages.
  • Docker: Understand the basics of containerization.

15. Continuous Integration/Continuous Deployment (CI/CD)

  • GitHub Actions: For automating workflows.
  • Jenkins: For more complex deployment pipelines.

16. Web Performance Optimization

  • Code Splitting: Reducing bundle size of applications.
  • Lazy Loading: Loading content as needed.
  • Caching: Understanding browser caching and service workers.

17. Progressive Web Apps (PWAs)

  • Service Workers: For offline support and network resilience.
  • Manifest File: For adding to home screen and full-screen experience.

18. Accessibility

  • ARIA: Accessible Rich Internet Applications for making content more accessible.
  • WCAG: Web Content Accessibility Guidelines.

19. Soft Skills

  • Communication: Essential for collaboration and teamwork.
  • Problem-Solving: Analytical skills to tackle development issues.
  • Time Management: Being productive and meeting deadlines.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment