Le livre est très bien fait
Anonyme- Livres & vidéos
- Vue.js - Développez des applications web modernes en JavaScript avec un framework progressif
Vue.js Développez des applications web modernes en JavaScript avec un framework progressif
2 avis
Alliant théorie et pratique avec ses nombreux exemples, ce livre sur Vue.js, framework JavaScript facile à prendre en main, s’adresse à tout développeur Front End désireux de développer des applications web fluides, dynamiques et réactives. Bien que des connaissances sur les langages HTML, CSS et JavaScript soient un plus pour appréhender la lecture de ce livre, un chapitre dédié à JavaScript permettra au lecteur d’être à jour des nouvelles syntaxes apparues ces dernières années...
Consulter des extraits du livre en ligne
Aperçu de la version papier
- Niveau Confirmé à Expert
- Nombre de pages 617 pages
- Parution avril 2021
- Niveau Confirmé à Expert
- Parution avril 2021
Après une introduction sur le concept de DOM virtuel et d’architecture MVVM dont Vue.js s’inspire, le lecteur passe rapidement à la pratique avec l’installation et la configuration des outils d’aide au développement. Il apprend à utiliser Vue.js sur un nouveau projet ou sur un projet existant et devient ainsi en mesure de manipuler le DOM d’une page web, de mettre en place les comportements attendus suite aux actions de l’utilisateur ou encore de gérer des styles CSS à l’aide des directives introduites par le framework. Un chapitre est également dédié à la création de formulaires dynamiques.
Dans la suite du livre, l’auteur détaille la manière d’organiser son code en composants et d’architecturer une application en fonction de sa taille, en ayant notamment recours à la mutualisation du code. Le lecteur apprend également à utiliser l’empaqueteur de modules Webpack pour compiler et déployer une application en production.
Ayant pris soin de rappeler les concepts de sécurité liés aux applications web (CORS, cookies, jetons JWT, attaques CSRF et XSS, protocole OAuth 2.0), l’auteur explique ensuite comment consommer des API dans une application de manière sécurisée, d’abord sous la forme d’une API REST puis sous la forme d’une API GraphQL.
Pour finir, le lecteur appréhende le routage avec Vue Router pour simuler les URLs de l’application dans un navigateur, ainsi que la centralisation de la gestion des données avec le plug-in Vuex.
Quizinclus dans
la version en ligne !
- Testez vos connaissances à l'issue de chaque chapitre
- Validez vos acquis
Caractéristiques
- Livre (broché) - 17 x 21 cm
- ISBN : 978-2-409-02942-4
- EAN : 9782409029424
- Ref. ENI : EIVUEJS
Caractéristiques
- HTML
- ISBN : 978-2-409-02943-1
- EAN : 9782409029431
- Ref. ENI : LNEIVUEJS
Téléchargements
Introduction
- Quelles notions ce livre couvre-t-il ?
- Prérequis
- Historique de Vue.js
- 1. Pourquoi Vue.js ?
- a. Ses origines
- b. Ses atouts
- 1. Pourquoi Vue.js ?
- 2. Qu’est-ce que le Virtual DOM ?
- a. Définition
- b. API DOM pour mettre à jour une page web
- c. Limites de l’API DOM
- d. Apparition du concept de DOM virtuel
- e. Manipulation du DOM virtuel
- 3. Le DOM virtuel avec Vue.js
- 1. MVC (Modèle - Vue - Contrôleur)
- a. MVC pour toutes applications
- b. MVC adapté aux applications web
- 1. Popularité entre Vue, React et Angular
- 2. Avantages et inconvénients
- a. Angular
- b. React.js
- c. Vue.js
- d. Quel framework pour quel besoin ?
- e. Aller plus loin dans la comparaison avec les autresframeworks
Notions essentielles de JavaScript
- Introduction
- Bases algorithmiques
- 1. Variables et types de valeurs
- a. Déclaration d’une variable
- b. Types de valeurs
- c. Contextes d’exécution global et local
- d. Portée de variable
- e. Conversion de types de données
- f. Affectation par décomposition
- 1. Variables et types de valeurs
- 2. Structures de contrôle
- a. Instructions conditionnelles
- b. Boucles
- 1. Définition et utilisation des fonctions
- 2. Fermetures (closures)
- 3. Fonction en argument d’autres fonctions
- 4. Paramètres par défaut et paramètresdu reste
- 5. Fonctions fléchées
- 6. Fonctions anonymes autoexécutantes
- 1. Déclarer, lire, modifier, supprimer des éléments
- 2. Itérer sur un tableau
- 3. Décomposer avec l’opérateur spread
- 4. Filtrer un tableau
- 5. Trier un tableau
- 1. Définir un objet et son prototype
- 2. Instancier un objet
- 3. Lire, ajouter, modifier ou supprimer une propriété
- 4. Copier ou fusionner des objets
- 5. Itérer sur un objet
- 6. Chaîner les méthodes d’objet
- 1. En dehors d’une fonction
- 2. Dans une fonction appelée de manièreclassique
- 3. Dans une fonction appelée via call() et apply()
- 4. Avec bind() pour associer un objet à this
- 5. Dans une fonction appelée en tant que méthoded’objet
- 6. Dans un gestionnaire d’évènement
- 7. Dans une fonction fléchée
- 1. L’utilité
- 2. La structure try…catch…finally
- 3. L’objet Error et les erreurs personnalisées
- 1. Objet natif Promise
- 2. Méthode then()
- 3. Gestionnaires de then()
- 4. Méthode catch()
- 5. Chaînage de traitements asynchrones avecles promesses
- 6. Création de promesses déjà tenuesou rompues
- 7. Exécution de tâches asynchronesen parallèle
- 8. Gestion de la pile d’appels
- 9. Fonctions asynchrones avec async
- 1. L’historique des modules JavaScript
- a. Introduction
- b. Application sans module
- c. Objets en tant que modules et fonctions auto-invoquées
- d. Modules CommonJS
- e. Modules AMD
- f. Chargeur de modules
- g. Empaqueteur de modules
- a. Introduction
- b. Déclarer et utiliser un module
- c. Éviter les conflits de nommage
- d. Agréger plusieurs modules
- e. Importer dynamiquement
Comprendre les fondamentaux de Vue.js
- Installation
- 1. Une version par environnement
- 2. Via téléchargement manuel
- 3. Via l’inclusion d’un CDN (le plus simple)
- 4. Via npm ou yarn pour de plus gros projets
- a. Téléchargement du package vue
- b. Explication des différents builds
- 5. Via Vue-CLI
- 1. VS Code et ses plugins
- a. Installer et configurer VS Code
- b. Déboguer avec VS Code
- 1. Hello World
- 2. Liaison de données entre View et ViewModel
- 3. Cycle de vie d’une instance
- 4. Utilisation du mot-clé this
- 1. Le système de liaison de données
- 2. Le fonctionnement de la file d’attente demise à jour asynchrone
- 3. La déclaration de propriétésréactives
- 4. Les limitations de la détection de changement
- 5. Les directives pour manipuler le DOM
- a. Un attribut HTML spécial
- b. Les arguments et les arguments dynamiques
- c. Les modificateurs
- 1. Liaison réactive uni-directionnelle
- a. Afficher des données réactives avecl’interpolation texte
- b. Rendre un attribut réactif avec v-bind
- 1. L’interpolation avec des données plus complexes
- 2. La directive v-html
- 3. La directive v-once
- 4. Le rendu conditionnel
- a. La directive v-show
- b. Les directives v-if, v-else-if et v-else
- 1. Valeurs traitées avec les propriétéscalculées
- 2. Valeurs traitées avec les méthodes
- 3. Propriétés calculées vsméthodes
- 4. Mutateurs calculés
- 5. Valeurs traitées avec les observateurs watch
- 6. Utilisation des filtres pour formater les données
- 1. Utiliser la directive v-for
- 2. Filtrer les éléments d’une liste
- a. Ne pas utiliser v-if avec v-for
- b. En utilisant une propriété calculée
- 1. Directive v-on
- a. Mettre à jour une donnée suite à un évènementdu DOM
- b. Récupérer l’évènementdans la méthode
- 1. Scoped styles
- 2. Les styles dynamiques
- 3. Les styles dynamiques avec un objet
- 4. Les styles dynamiques avec un objet sans CSS
Utiliser les formulaires
- Les éléments de formulaire
- 1. L’utilisation de librairies tierces
- 2. Les champs text et textarea
- 3. Les cases à cocher et les boutons radio
- 4. Les listes déroulantes
- Les champs particuliers de formulaire
- 1. Champs date
- 2. Champs de chargement de fichier
- 3. Sliders
- Les modificateurs de la directive v-model
- 1. Formater une saisie en tant que nombre
- 2. Réagir sur l’évènementchange plutôt qu’input
- 3. Retirer les espaces
- La validation du formulaire
- 1. Les librairies de validations de formulaire
- 2. Utiliser VeeValidate
- a. Installer
- b. Utiliser les règles de validation par défaut
- c. Ajouter ses propres règles de validation
- d. Gérer la soumission du formulaire
- 3. Utiliser Vuelidate
- a. Installer
- b. Utiliser les règles de validation par défaut
- c. Ajouter ses propres règles de validation
- d. Gérer la soumission de formulaire
Utiliser les composants
- Qu'est-ce qu'un composant ?
- 1. Définition
- 2. Structure d’un composant
- 3. Structuration d’une application en composants
- Création d'un composant
- 1. Manière globale
- 2. Manière locale
- Communication entre composants
- 1. Parent - enfant
- a. Définition des props dans la Vue
- b. Types de données
- c. Définition des props dans le ViewModel
- d. Validation des props
- e. Utilisation des props dans le ViewModel
- 1. Parent - enfant
- 2. Enfant - parent
- a. Émettre un évènement depuisun composant enfant
- b. Écouter un évènement dansle composant parent
- 3. Enfant - Enfant
- a. Limite de l’utilisation des props et des évènementspersonnalisés
- b. Utilisation d’un bus d’évènements
- 1. Les différentes propriétésd’instance d’un composant
- 2. L’utilisation de la directive v-model surun composant
- a. V-model pour un composant contenant un champ texte
- b. V-model pour un composant contenant une case à cocher ouun bouton radio
- 1. Les composants dynamiques
- a. L’élément <component> et l’attributis</component>
- b. L’élément <keep-alive></keep-alive>
Mutualiser des fonctionnalités
- Utiliser les slots pour injecter du contenu
- 1. Définition
- 2. Slots nommés
- 3. Props de slot
- Utiliser les composants sans rendu
- 1. Définition
- 2. Création d’un composant de captures d’erreurs
- Utiliser les mixins
- 1. Définition
- 2. Stratégies de fusion des options
- Utiliser les plugins
- 1. Définition
- 2. Optimisation des performances
- a. Vérifier la taille des plugins et leur vitessede chargement
- b. Utiliser le tree-shaking pour les plugins qui le permettent
- 1. Définition
- 2. Arguments et modificateurs
Créer et déployer une application avec Vue CLI
- Plusieurs types d'applications
- 1. Une SPA classique
- a. Définition
- b. Contraintes d’une SPA classique
- 1. Une SPA classique
- 2. Une application universelle (SPA + SSR)
- a. Définition
- b. Contraintes d’une application universelle
- 3. Un générateur de site statique
- a. Définition
- b. Architecture JAMstack
- c. Contraintes des sites statiques
- 4. Une PWA
- a. Définition
- b. Différents types de caches
- c. Contraintes d’une PWA
- 5. Quel type d’application pour quel besoin ?
- 1. Présentation
- 2. Installation
- a. Prérequis
- b. Prototypage rapide d’une application
- c. Création d’une application Vue.jscomplète
- a. Racine du projet
- b. Dossier src
- c. Modification de l’arborescence pour un projet de taillemoyenne
- d. Modification de l’arborescence pour un gros projet
- 1. Les plugins et les presets
- a. Les plugins
- b. Les presets
- a. Comprendre le fonctionnement
- b. Accéder aux fichiers de configurations desdifférents modes
- c. Modifier la configuration
- d. Utiliser l’API de chaînage pour modifierplus finement la configuration
- a. Les modes pour chaque environnement
- b. Les variables d’environnement
- a. Interpolation dans les fichiers HTML
- b. Fichiers statiques
- a. La liste des navigateurs compatibles
- b. Le mode moderne
- c. Les contrôles CORS en mode moderne pour lesmodules ES6
- 1. Procédure de déploiement
- a. Compiler votre application avec Webpack
- b. Prévisualiser en local
- c. Déployer votre application sur un serveur
- a. Déployer sur Netlify
- b. Déployer sur Heroku
- c. Créer une image Docker avec Nginx
Consommer des API REST et GraphQL
- Plusieurs types d'API (REST et GraphQL)
- 1. Définition et historique
- 2. API REST
- a. Définition
- b. Contraintes d’une API REST
- 3. API GraphQL
- a. Définition
- b. Description du fonctionnement
- 1. Principes à adopter
- 2. Cookie d’authentification
- a. Cookie de session
- b. Attaques CSRF (Cross Site Request Forgery)
- c. Attaques XSS (Cross Site Scripting)
- a. Signature
- b. Principe clé privée - clé publique
- c. Composition d’un jeton JWT
- a. Authentification de l’application par le fournisseurd’API
- b. Problématique de sécurité surle réseau de l’utilisateur
- c. Où conserver les clés API ?
- a. Un serveur d’authentification
- b. La problématique de conservation du jeton
- 1. Créer le backend de votre API
- a. Présentation
- b. Installation
- a. Présentation du tableau de bord
- b. Créer le schéma de base de données
- c. Gérer les rôles et les permissions
- a. Tester les requêtes GET, POST, PUT et DELETE
- b. Utiliser des paramètres pour filtrer unecollection
- a. Utiliser Postman ou l’éditeur GraphQL deStrapi
- b. Récupérer des données
- c. Créer un enregistrement
- d. Modifier un enregistrement
- e. Supprimer un enregistrement
- f. Utiliser des filtres
- g. Fonctions d’agrégation et clause groupBy
- 1. Fetch
- a. Définition et usage
- b. Les objets Request et Response
- c. Gérer les erreurs
- d. Interrompre une requête
- e. Limiter les appels trop fréquents avec debounceet throttle
- f. Exécuter des requêtes en parallèle
- a. Afficher la liste des produits avec fetch
- b. Gérer les erreurs avec un composant sansrendu
- c. Mutualiser la fonctionnalité d’appel API
- d. Mettre en place une pagination
- e. Ajouter un menu déroulant pour filtrer laliste par catégorie
- f. Utiliser une barre de recherche
- a. Définition et usage
- b. L’objet config et l’objet response
- c. Gérer les erreurs
- d. Interrompre une requête
- e. Utiliser les intercepteurs
- f. Centraliser la configuration axios dans l’application
- 1. Installation
- a. Installation avec Vue CLI
- b. Installation manuelle pour consommer une API Strapi
- c. Installation du plugin VS Code
- a. Les requêtes intelligentes
- b. Utiliser des paramètres dans la requête
- c. Requête conditionnelle
- d. Modifier les données reçues
- e. Intercepter les erreurs
- f. Les options supplémentaires
- a. Créer un fichier .gql
- b. Importer un fichier .gql
- c. Utiliser les fragments
- a. La méthode this.$apollo.mutate
- b. Le composant ApolloMutation
- a. Nettoyer l’ancienne logique métier de l’APIREST
- b. Définir les requêtes GraphQL
- c. Définition des requêtes intelligentes
Utiliser Vue Router pour la navigation
- Définition et installation
- 1. Définition
- 2. Installation
- a. Télécharger le plugin ou utiliserun CDN
- b. Utiliser npm
- c. Utiliser Vue CLI
- 3. Déclaration du routeur
- 1. Définition d’une route
- 2. Résolution d’une route
- 3. Mode historique
- 4. Affichage des composants dans des vues routeur
- a. La vue par défaut
- b. Les vues nommées
- a. Fonctionnement
- b. La classe active
- c. Les props de <router-link></router-link>
- d. Les routes nommées
- a. Utilisation des segments dynamiques
- b. Récupérer les segments dynamiquesavec $route
- c. Utiliser les segments dynamiques pour passer des valeurs auxprops d’un composant
- d. Passage entre deux chemins liés à lamême route
- 1. Navigation programmée avec $router
- a. $router.push() et $router.replace()
- b. $router.forward(), $router.back(), $router.go()
- a. Des intercepteurs globaux, par route ou par composant
- b. Flux de résolution lors d’un passage d’uneroute à l’autre
- c. Déclaration d’un intercepteur
- d. Exemple d’utilisation d’un intercepteur global
- e. Exemple de chargement de données avant lanavigation
- 1. Les transitions
- a. Le composant <transition></transition>
- b. Exemple d’une transition entrante et sortante en fondu
- a. Utilisation du lazy-loading avec les composants asynchrones
- b. Utiliser le préchargement avec la méthodewebpackPrefetch
Utiliser Vuex pour la gestion d'états
- Partager un état global entre plusieurs composants
- 1. Problématique
- a. Le flux de donnée unidirectionnel
- b. Utiliser les props et les évènementspour partager et accéder à l’état global
- c. Utiliser un bus d’évènement pourréagir aux actions
- 1. Problématique
- 2. Utilisation d’un store pour centraliser les données
- a. Déporter les états dans un objetpartagé
- b. Tracer les mutations
- c. Utiliser Vuex
- 1. Installation
- a. Avec un CDN
- b. Avec npm ou yarn
- c. Avec Vue CLI
- a. Définir et accéder à unedonnée de l’état
- b. Utiliser mapState() pour générerles propriétés calculées
- a. Accéder à une donnée d’étatvia un accesseur
- b. Utiliser mapGetters() pour générerles propriétés calculées
- a. Muter une donnée de l’état du store
- b. Muter plusieurs données avec une mutation
- c. Muter un objet ou un tableau
- d. Utiliser un fichier de constantes pour lister lestypes de mutations
- e. Utiliser mapMutations() pour générerles propriétés calculées
- f. Les mutations avec la directive v-model
- a. Utiliser les actions pour des traitements asynchrones
- b. Utiliser mapActions pour générerles méthodes
- c. Chaîner des actions asynchrones
- 1. Séparer le store en plusieurs fichiers
- 2. Utiliser les modules Vuex
Conclusion
- Conclusion
RAS DE PLUS
AnonymeYoann GAUCHARD
Après avoir débuté en SSII en tant que développeur et testeur, Yoann GAUCHARD s’est ensuite tourné vers les technologies web et mobile. Aujourd’hui développeur fullstack indépendant, passionné par les technologies web, il est spécialisé dans la conception et la réalisation de sites web avec Symfony ainsi que dans le développement d’applications web mobiles et de Progressive Web Apps avec Vue.js. Son expertise et ses compétences profitent autant à ses clients (start-up, PME/TPE et grands groupes), qu’aux stagiaires d’une école d’informatique à qui il dispense des formations. Aujourd’hui, il souhaite, avec l’écriture de ce livre, partager ses connaissances au plus grand nombre.
Yoann GAUCHARD vous dit tout sur la sortie de son nouveau livre Vue.JS, aux Editions ENI :
Pourquoi l'a-t-il écrit ?
À qui se destine-t-il ?
En savoir plusYoann GAUCHARD vous dit tout sur la sortie de son nouveau livre Vue.JS, aux Editions ENI :
Pourquoi l'a-t-il écrit ?
À qui se destine-t-il ?


