2021 web front-end roadmap
contents |
---|
Fundamentals - Development tool (VSCode) - Unix basic command - Git / GitHub |
Node.js - npm project - package.json & module dependencies - Modules & CommonJS - VSCode Node debugging |
JavaScript Syntax - type, string, scope, closure, operator, switch, iterator, condition.. - ES2015+ features (destructuring, const, let, arrow, spread operator, for-of) - New feature (Dynamic import, Nullish Coalescing, Optional Chaining) |
Function - declaration and expression - arguments, parameter - calling stack - arrow function |
Function based programming design - subroutine - rest parameter, default parameter - destructuring - recursion - pure function |
Collection - JavaScript data structures - Array (APIs, Higher-rder functions) - Object (Object literal, Handling Object property) - Set & Map |
String - String manipulation, methods - Regular Expressions |
Asynchronous basic - setTimeout - JS stack & callback queue & event loop |
Clean code - software maintenance - maintainable code, readable code - coding convention |
Debugging - JavaScript Errors - Error handling - VSCode or Chrome dev tools(source, console) debugging |
OOP programming - Object-Oriented Programming - SOLID - ES Classes and instance(object) - prototype & Inheritance & Class Extends - object literal pattern - this, bind, apply, call |
Unit test basic - unit test basic - understanding testing (why software testing is important?) |
Algorithm training - complexity - stack, queue - recursion - search algorithm - sort |
contents |
---|
Understanding HTTP - Web Architecture - Resource & URL |
Browser & Server - How browser works (Browser render cycle) - How server works (Node.JS simple server) - Request & Response - HTTP (header, method, status, cookie, session) |
HTML - HTML structured design - semantic tags - Class and ID properties - HTML debugging(Chrome Dev tools) |
CSS - Style properties - Cascading - Inheritance - Selector - Layout (float, position, boxmodel, flex) - CSS debugging(Chrome Dev tools) |
DOM Manipulation - HTML & DOM - DOM properties & method - DOM manipulation(append, delete, move..) - DOM traversal |
Functional Programming - pure function - Immutability - Function Compose & Combinator - Closure - Currying & Partial application - Iterator & Generator - Lazy evaluation - Monad & error handling - Functional asynchronous handling |
HTML Templating - templating strategies - template literal |
Asynchronous communication - Fetch API - XMLHttpRequest - JSON handling - Promise pattern - Cross-Domian (SOA, CORS, JSONP) |
UI Unit test - DOM, Asynchronous test - Using Test library (Jest, Mocha) |
Web Animations - understanding web animations - Browser Rendering pipeline - CSS property( keyframe, transition, transform) - requestAnimationFrame & requestIdleCallback |
Resuable UI Components - Reusable Component Design - Practices - Slide UI (infinite sliding) - Tab UI - Search-bar auto-completion |
Web Service Application Architecture - Modular programming (ES Modules) - Project structure for Web services |
Back-End application Basic(nodeJS) - Express - URL Routing and HTTP Response - Template engine & Server-side rendering - Building a RESTful API |
UX programming - thinking. - UX improving programming |
contents |
---|
CSS Advanced - Layout (CSS Grid layout) - Preprocessor (Sass) - Responsive Web Design - CSS Typed Object Model |
Mobile Web - Touch events - Swipe gesture interaction - Mobile web debugging |
Performance & UXable technique - Performance Diagnosis & Analysis - Dynamic & mixed animation handling - Throttling & Debounce - Minimizing browser reflow - Lazy loading |
HTTP - File-Uploader & Mulipart formdata - Session - token based authentication & jwt |
Asynchornous technique - promise APIs - generator - Async/await - Erros handling |
TypeScript - Types - union, interface, generics, Enums, Classes, Functions |
Front-End Build - NPM script - build(webpack, parcel) - Transpiling (babel) - Development & Production mode |
SPAs - Understanding SPAs - URL Routing & History API - Fetch and Indicator - Cache & localStroage - Observer pattern |
React Basic - background & philosophy - Renderng flow - React features - Virtual DOM concepts - states & props - Styling (CSS-in-JS) - Hooks API - JSX Syntax - CRA based projects (step by step) - Hooks based Component Design |
React Advanced - state management (Flux Architecture) - useReducer, useContext - Optimization technique (React.memo, useCallbackm, useMemo, Suspense, Lazy) - Concurrent mode - React Test (Jest & React testing library) - SSR |
Progressive Web Apps - Service worker - Fetch API - Cache API and Cache strategy - Offline - Push notification and push API |
Web Multimedia APIs - Audio, Video Element - Web Socket - WebRTC - Canvas, WebGL, SVG - Web Audio API - Web MIDI API |
{CODESQUAD } 😎