Improve front training
This commit is contained in:
parent
cde2efb62c
commit
a1125556c4
@ -3,8 +3,6 @@
|
|||||||
## Table of Contents
|
## Table of Contents
|
||||||
|
|
||||||
- [TypeScript](#typescript)
|
- [TypeScript](#typescript)
|
||||||
- [Differences between TypeScript and JavaScript](#differences-between-typescript-and-javascript)
|
|
||||||
- [An introduction to TypeScript's type system](#an-introduction-to-typescripts-type-system)
|
|
||||||
- [Exercises](#exercises)
|
- [Exercises](#exercises)
|
||||||
- [References](#references)
|
- [References](#references)
|
||||||
|
|
||||||
@ -12,9 +10,15 @@
|
|||||||
|
|
||||||
# TypeScript
|
# TypeScript
|
||||||
|
|
||||||
## Differences between TypeScript and JavaScript
|
- Intro for JS dev: https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes.html
|
||||||
|
- Intro for OOP dev: https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes-oop.html
|
||||||
|
- The handbook: https://www.typescriptlang.org/docs/handbook/intro.html
|
||||||
|
- Intro for FP programmers: https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes-func.html
|
||||||
|
|
||||||
## An introduction to TypeScript's type system
|
❓ questions to ask:
|
||||||
|
|
||||||
|
- What is the difference between structural and nominal type systems?
|
||||||
|
- TS: structural type system. Relationships between types are determined by the properties they contain.
|
||||||
|
|
||||||
## Exercises
|
## Exercises
|
||||||
|
|
||||||
|
@ -5,19 +5,24 @@
|
|||||||
- [Front-end development practices](#front-end-development-practices)
|
- [Front-end development practices](#front-end-development-practices)
|
||||||
- [Goal of this session](#goal-of-this-session)
|
- [Goal of this session](#goal-of-this-session)
|
||||||
- [TypeScript](#typescript)
|
- [TypeScript](#typescript)
|
||||||
- [Package](#package)
|
- [Building a professional web app: topics](#building-a-professional-web-app-topics)
|
||||||
- [Testing](#testing)
|
- [Dependency management: npm or yarn](#dependency-management-npm-or-yarn)
|
||||||
- [Code style](#code-style)
|
- [Testing](#testing)
|
||||||
- [Security](#security)
|
- [Code style](#code-style)
|
||||||
- [Dependency management: npm or yarn](#dependency-management-npm-or-yarn)
|
- [Security](#security)
|
||||||
- [Components of a complex web app](#components-of-a-complex-web-app)
|
|
||||||
- [State management](#state-management)
|
- [State management](#state-management)
|
||||||
|
- [Interaction with the backend](#interaction-with-the-backend)
|
||||||
- [Error handling](#error-handling)
|
- [Error handling](#error-handling)
|
||||||
- [CSS](#css)
|
- [CSS](#css)
|
||||||
- [Developer experience](#developer-experience)
|
- [Developer experience](#developer-experience)
|
||||||
- [Building and deploying](#building-and-deploying)
|
- [Building and deploying](#building-and-deploying)
|
||||||
- [Bundling](#bundling)
|
- [Bundling](#bundling)
|
||||||
- [Compiling](#compiling)
|
- [Compiling](#compiling)
|
||||||
|
- [Deploying](#deploying)
|
||||||
|
- [Monitoring](#monitoring)
|
||||||
|
- [Performance](#performance)
|
||||||
|
- [PWA (progressive web apps)](#pwa-progressive-web-apps)
|
||||||
|
- [See also](#see-also)
|
||||||
|
|
||||||
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
|
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
|
||||||
|
|
||||||
@ -31,21 +36,23 @@ We are reaching the end of our journey... Training can't teach you everything -
|
|||||||
|
|
||||||
See [TypeScript](./03-typescript.md)
|
See [TypeScript](./03-typescript.md)
|
||||||
|
|
||||||
## Package
|
## Building a professional web app: topics
|
||||||
|
|
||||||
|
### Dependency management: npm or yarn
|
||||||
|
|
||||||
- npm
|
- npm
|
||||||
- yarn
|
- yarn
|
||||||
|
|
||||||
## Testing
|
### Testing
|
||||||
|
|
||||||
- jest
|
- jest
|
||||||
|
|
||||||
## Code style
|
### Code style
|
||||||
|
|
||||||
- prettier
|
- prettier
|
||||||
- eslint
|
- eslint
|
||||||
|
|
||||||
## Security
|
### Security
|
||||||
|
|
||||||
- HTTPS
|
- HTTPS
|
||||||
- CORS
|
- CORS
|
||||||
@ -53,14 +60,15 @@ See [TypeScript](./03-typescript.md)
|
|||||||
- CSP
|
- CSP
|
||||||
- OWASP
|
- OWASP
|
||||||
|
|
||||||
## Dependency management: npm or yarn
|
|
||||||
|
|
||||||
## Components of a complex web app
|
|
||||||
|
|
||||||
### State management
|
### State management
|
||||||
|
|
||||||
- Redux (and redux-thunk, redux-saga, redux-observables)
|
- Redux (and redux-thunk, redux-saga, redux-observables). Also: [General | Redux](https://redux.js.org/faq/general)
|
||||||
- useReducer
|
- Mobx
|
||||||
|
- `useReducer`, `useContext`, `useState`
|
||||||
|
|
||||||
|
### Interaction with the backend
|
||||||
|
|
||||||
|
- GraphQL and Apollo
|
||||||
|
|
||||||
### Error handling
|
### Error handling
|
||||||
|
|
||||||
@ -70,6 +78,13 @@ See [TypeScript](./03-typescript.md)
|
|||||||
|
|
||||||
- CSS-in-JS
|
- CSS-in-JS
|
||||||
- styled-components
|
- styled-components
|
||||||
|
- Emotion
|
||||||
|
|
||||||
|
Frameworks:
|
||||||
|
|
||||||
|
- Material UI
|
||||||
|
- Tailwind CSS
|
||||||
|
- CSS-first (no JS components) vs other frameworks
|
||||||
|
|
||||||
### Developer experience
|
### Developer experience
|
||||||
|
|
||||||
@ -77,14 +92,40 @@ See [TypeScript](./03-typescript.md)
|
|||||||
- Debugging with the React extension
|
- Debugging with the React extension
|
||||||
- Performance and profiling
|
- Performance and profiling
|
||||||
|
|
||||||
## Building and deploying
|
### Building and deploying
|
||||||
|
|
||||||
### Bundling
|
#### Bundling
|
||||||
|
|
||||||
- webpack
|
- webpack
|
||||||
- parcel
|
- parcel
|
||||||
- rollup
|
- rollup
|
||||||
|
|
||||||
### Compiling
|
#### Compiling
|
||||||
|
|
||||||
- babel
|
- babel
|
||||||
|
|
||||||
|
#### Deploying
|
||||||
|
|
||||||
|
- SSR vs. CSR vs. SSG
|
||||||
|
|
||||||
|
#### Monitoring
|
||||||
|
|
||||||
|
- Sentry
|
||||||
|
|
||||||
|
### Performance
|
||||||
|
|
||||||
|
- Lighthouse
|
||||||
|
- Devtools
|
||||||
|
|
||||||
|
### PWA (progressive web apps)
|
||||||
|
|
||||||
|
- Web Sockets
|
||||||
|
- Service Workers
|
||||||
|
- Payments
|
||||||
|
|
||||||
|
## See also
|
||||||
|
|
||||||
|
See references in [README.md](./README.md), in particular:
|
||||||
|
|
||||||
|
- [Front-end Developer Handbook 2019 - Learn the entire JavaScript, CSS and HTML development practice!](https://frontendmasters.com/books/front-end-handbook/2019/)
|
||||||
|
-
|
||||||
|
Loading…
x
Reference in New Issue
Block a user