Commencez. C'est gratuit
ou s'inscrire avec votre adresse courriel
Rocket clouds
Javascript par Mind Map: Javascript

1. Frontend

1.1. Librairies / Frameworks

1.1.1. Desktop

1.1.1.1. Frameworks

1.1.1.1.1. React

1.1.1.1.2. VueJS

1.1.1.1.3. Angular

1.1.1.1.4. AngularJS

1.1.1.1.5. jQuery

1.1.1.2. Librairies

1.1.1.2.1. Redux

1.1.1.2.2. Vuex

1.1.2. Mobile

1.1.2.1. Native

1.1.2.1.1. React Native

1.1.2.2. Hybride

1.1.2.2.1. Ionic

2. Backend

2.1. Librairies / Frameworks

2.1.1. Express

2.1.1.1. Sortie fin 2010

2.1.1.2. Framework minimaliste qui peut être étendu via des plugins.

2.1.1.3. Github: +41.000 stars

2.1.2. Meteor

2.1.2.1. Sortie en 2012

2.1.2.2. Solution tout en un contrairement à Express permettant de développer des applications backend, mobile, web & desktop

2.1.2.3. Peut être utiliser pour créer des applications hybrides avec Cordova

2.1.3. Koa2

2.1.3.1. Produit par la même équipe que celle qui a développé Express

2.1.3.2. Framework dit "MVC" (Model - View - Controller)

2.1.3.3. Framework modulaire, seulement 2.000 lignes de codes. Le principe est de lui ajouter uniquement ce qu'on a besoin.

2.1.3.4. Syntaxe plus sexy & meilleure gestion d'erreur

2.2. ORM

2.2.1. Mongoose

2.2.1.1. ORM NodeJS pour MongoDB

2.2.2. Sequelize

2.2.2.1. ORM NodeJS pour les bases de données SQL (Postgres, MySQL, MariaDB, SQLite and Microsoft SQL Server.)

3. Outils

3.1. Package Manager

3.1.1. NPM

3.1.1.1. Node Package Manager permet de gérer les dépendances d'une application Javascript, qu'elle soit front ou back, comme Maven pour Java. Installer de base avec NodeJS, c'est le Package Manager le plus connu.

3.1.2. Yarn

3.1.2.1. Alternative à NPM, Yarn s'est imposé avec l'argument d'être BEAUCOUP plus rapide que NPM. Ce qui était vrai à l'origine est très controversé aujourd'hui. Son avantage est qu'il gère certaine commande utile nativement, là ou NPM a besoin de modules externes pour égaler les features de Yarn (check des dépendances obsolètes par exemple)

3.2. Build

3.2.1. Webpack

3.2.1.1. Webpack est l'outil qui va permettre de transformer toutes les ressources d'un projet (JS, CSS, Images, etc) en un "Bundle" / "pack" utilisable pour le web. il peut également

3.2.1.1.1. PDC : Pourquoi Webpack ?

3.2.2. Rollup

3.2.2.1. Rollup comme webpack est également un "module bundler". Celui-ci sera plus orienté pour builder des librairies, alors que webpack est plus destiné à builder des applications web.

3.2.2.1.1. Medium: Webpack & Rollup - The same but different

3.3. API

3.3.1. Axios

3.3.1.1. Interface permettant à l'application de faire des appels asynchrones à une API. Aujourd'hui Fetch est une API native du navigateur qui permet de faire la même chose qu'Axios. Seulement il n'est pas encore supporté par tous les navigateurs et Axios à le mérite d'avoir quelques fonctionnalités supplémentaires.

3.3.1.1.1. Babonaux - C'est facile : Fetch ou Axios ?

3.4. Tests

3.4.1. Testcafé

3.4.1.1. TestCafé est un outil écrit en NodeJS permettant d'automatiser les tests End To End. Souvent comparé à Sélénium qui est plus connu et plus utilisé, Testcafé à l'avantage de permettre au développeur d'écrire ces tests front en Javascript ou Typescript plutôt qu'en Java. L'installation et la mise en place est également plus facile qu'avec Sélénium.

3.4.2. Jest

3.4.2.1. Crée en 2015 par Facebook, Jest est une solution de test tout en un et fonctionnant intégralement avec NodeJS.

3.4.3. Mocha

3.4.3.1. Crée en 2011, Mocha est un framework de test qui à l'avantage d'avoir une large communauté et énormément de support.(Vidéos, Articles, Tutoriels, posts StackOverflow)

3.4.4. Chaï

3.4.4.1. Chaï est un framework d'assertion, il est pour cela très souvent combiné avec Mocha

3.4.5. Karma

3.4.5.1. Karma est un test-runner, il permet de lancer les tests dans un vrai navigateur.