• Aide
  • Eurêkoi Eurêkoi

Livre

Apprendre à développer avec JavaScript : des bases à l'utilisation de frameworks

Résumé

Après des rappels et des apports en algorithmique, le chercheur explique le langage JavaScript, ses concepts, ses principes et ses fonctionnalités, à travers des exemples concrets réutilisables dans d'autres développements. Avec des chapitres relatifs aux principaux frameworks tels que Svelte et React. Avec des contenus supplémentaires accessibles en ligne. ©Electre 2021


  • Éditeur(s)
  • Date
    • C 2021
  • Notes
    • la couv. porte en plus : "En téléchargement : code source des exemples" ; "+ quiz" ; "Version en ligne offerte ! pendant 1 an"
    • La 4e de couv. indique : "Sur www.editions-eni.fr : code source des exercices du livre"
    • Contient un "flashcode" permettant d'ccéder à un contenu via Internet
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (766 p.) : ill. ; 22 cm
  • Collections
  • Sujet(s)
  • ISBN
    • 978-2-409-03283-7
  • Indice
  • Quatrième de couverture
    • Apprendre à développer avec JavaScript

      Des bases à l'utilisation de frameworks

      Ce livre sur l'apprentissage du langage JavaScript s'adresse à des lecteurs qui souhaitent maîtriser cette brique incontournable et omniprésente dans le développement de sites web (intranet, extranet, internet) et dans celui d'applications hybrides pour smartphones et tablettes.

      En effet, même si des solutions logicielles existent pour contourner la connaissance du langage JavaScript, sa maîtrise est un atout essentiel pour acquérir une expertise dans le domaine des technologies du Web 2.0.

      En prenant le parti que le lecteur n'a que des connaissances minimales en programmation, l'auteur débute par des rappels ou des apports en algorithmie. Il explique ensuite les bases du langage JavaScript. Les différents concepts, principes ou fonctionnalités sont mis en oeuvre au travers d'exemples concrets facilement réutilisables ensuite dans d'autres développements.

      Dans la mesure où le langage JavaScript interagit avec d'autres technologies web (ou langages) comme l'incontournable HTML, les feuilles de styles CSS, les langages de script orientés serveurs comme PHP, ce livre vous permettra aussi de faire vos premiers pas sur ces différentes technologies.

      Dans cette quatrième édition, le livre intègre des chapitres supplémentaires relatifs aux principaux frameworks JavaScript tels que Svelte et React facilitant le développement d'applications web.

      Le dernier chapitre présente React Native (déclinaison de React) qui permet de développer aisément des applications pour mobiles avec une approche hybride, c'est-à-dire avec un même code déployable sur plateformes Android et iOS (iPhone et iPad).

      Tous les chapitres du livre intègrent de nombreux exemples largement commentés et en progression logique. Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr. Vous y trouverez aussi des applications « bonus », non décrites dans le livre.


  • Tables des matières
      • Apprendre à développer avec JavaScript

      • Des bases à l'utilisation de frameworks

      • 4e édition

      • Éditions Eni

      • Partie 1 : Présentation de JavaScript et programmation à partir d'algorithmes
      • Chapitre 1-1
      • Présentation du langage JavaScript
      • 1. Définition et rapide historique15
      • 2. Prérequis pour un apprentissage aisé du langage17
      • 3. Outillage nécessaire18
      • 4. Positionnement du JavaScript face à d'autres technologies de développement web (HTML, CSS, PHP...)19
      • Chapitre 1-2
      • Développement à partir d'algorithmes
      • 1. Présentation de la notion d'algorithme21
      • 2. Notion de variable23
      • 2.1 Présentation des notions de variable et de type23
      • 2.2 Types de base et opérations associées24
      • 2.3 Intérêt des types26
      • 2.4 Utilisation des variables dans des expressions27
      • 2.5 Tableau récapitulatif des opérateurs27
      • 3. Manipulation des variables29
      • 3.1 Nommage des variables29
      • 3.2 Affectation30
      • 3.3 Exercice n°1 : Inversion du contenu de deux variables mémoire31
      • 3.4 Affichage des résultats32
      • 3.5 Exercice n°2 : Surfaces de cercles35
      • 3.6 Saisie au clavier36
      • 3.7 Exercice n°3 : Surface et volume d'une sphère37
      • 4. Fonctions prédéfinies38
      • 4.1 Exercice n°4 : Affichage de la longueur d'un nom38
      • 4.2 Exercice n°5 : Détermination des initiales39
      • 5. Traitements conditionnés42
      • 5.1 Exercice n°6 : Polynôme du second degré44
      • 5.2 Exercice n°7 : Libellé du mois en clair46
      • 5.3 Exercice n°8 : Libellé du mois en clair (Suivant ... Finsuivant)49
      • 6. Structures itératives50
      • 6.1 Principe des itérations50
      • 6.2 Structures itératives de base50
      • 6.3 Exercice n°9 : Moyenne de 10 nombres53
      • 6.4 Exercice n°10 : Moyenne d'une série de n nombres54
      • 6.5 Exercice n°11 : Plus Grand Commun Diviseur par la méthode des divisions successives57
      • 6.6 Structure itérative Pour59
      • 6.7 Exercice n°12 : Calcul de la moyenne de 10 nombres61
      • 6.8 Exercice n°13 : Décompte du nombre de voyelles dans un mot62
      • 7. Tableaux à dimension unique64
      • 7.1 Exercice n°14 : Décompte des nombres pairs dans un tableau65
      • 8. Tableaux à dimensions multiples67
      • 8.1 Exercice n°15 : Mini-tableur67
      • 9. Procédures, fonctions et passage de paramètres69
      • 9.1 Les objectifs69
      • 9.2 Les procédures70
      • 9.3 Exercice n°16 : Appel d'une procédure avec passage de paramètres70
      • 9.4 Les fonctions73
      • 9.5 Exercice n°17 : Appel d'une fonction avec passage de paramètres74
      • Partie 2 : Bien débuter avec JavaScript
      • Chapitre 2-1
      • Bases du langage JavaScript
      • 1. Méthodologie d'apprentissage77
      • 2. Variables (déclaration et typage)78
      • 2.1 Exercice n°2 : Surfaces de cercles78
      • 2.2 Exercice n°3 : Surface et volume d'une sphère85
      • 2.3 Exercice n°4 : Nombre de lettres d'un mot88
      • 2.4 Exercice n°5 : Détermination des initiales88
      • Chapitre 2-2
      • Conditionnement des traitements
      • 1. Présentation de la syntaxe91
      • 2. Exemples93
      • 2.1 Exercice n°6 : Polynôme du second degré93
      • 2.2 Exercice n°8 : Impression du libellé d'un mois94
      • Chapitre 2-3
      • Traitements itératifs (boucles)
      • 1. Présentation de la syntaxe des boucles97
      • 2. Boucle while98
      • 2.1 Syntaxe98
      • 2.2 Exercice n°9 : Moyenne de 10 nombres saisis au clavier99
      • 2.3 Exercice n°10 : Moyenne d'une série de n nombres saisis au clavier100
      • 3. Boucle do while101
      • 3.1 Syntaxe101
      • 3.2 Exercice n°11 : Moyenne d'une série de n nombres saisis au clavier102
      • 4. Boucle for103
      • 4.1 Syntaxe103
      • 4.2 Exercice n°12 : Moyenne d'une série de 10 nombres saisis au clavier104
      • 4.3 Exercice n°13 : Décompte du nombre de voyelles dans un mot105
      • Chapitre 2-4
      • Tableaux
      • 1. Tableaux à dimension unique107
      • 1.1 Syntaxe107
      • 1.2 Exercice n°14 : Décompte des nombres pairs dans un tableau109
      • 2. Tableaux à dimensions multiples110
      • 2.1 Syntaxe110
      • 2.2 Exercice n°15 : Mini-tableur111
      • Chapitre 2-5
      • Procédures et fonctions
      • 1. Les procédures115
      • 1.1 Syntaxe116
      • 1.2 Exercice n°16 : Appel d'une procédure avec passage de paramètres116
      • 2. Les fonctions118
      • 2.1 Syntaxe118
      • 2.2 Exercice n°17 : Appel d'une fonction avec passage de paramètres119
      • Partie 3 : Approche POO sous JavaScript
      • Chapitre 3-1
      • Approche « objet » en JavaScript
      • 1. Introduction121
      • 2. Programmation orientée objet au travers d'exemples122
      • 2.1 Séquence 1 : Déclaration des objets JavaScript en méthode « Inline »122
      • 2.2 Séquence 2 : Création des objets JavaScript par constructeur123
      • 2.3 Séquence 3 : Variables privées dans une instance d'objet125
      • 2.4 Séquence 4 : Passage de paramètre(s) à un constructeur126
      • 2.5 Séquence 5 : Non-partage des méthodes par les instances d'objets127
      • 2.6 Séquence 6 : Notion de prototype128
      • 2.7 Séquence 7 : Surcharge d'une méthode130
      • 2.8 Séquence 8 : Extension d'un prototype131
      • 2.9 Séquence 9 : Mécanisme de l'héritage132
      • 2.10 Séquence 10 : Limite de l'héritage de la séquence n°9134
      • 2.11 Séquence 11 : Une seconde limite à notre héritage135
      • Chapitre 3-2
      • Objets de base de JavaScript
      • 1. Présentation137
      • 2. Les objets de base138
      • 2.1 Objet Array138
      • 2.2 Objet Date138
      • 2.3 Objet Math147
      • 2.4 Objet window150
      • 2.5 Objet navigator160
      • 2.6 Objet String162
      • Chapitre 3-3
      • Les nouveautés d'EcmaScript 6
      • 1. Présentation générale169
      • 2. Apports au niveau de la Programmation Orientée Objet170
      • 2.1 Notion de prototype170
      • 2.2 Surcharge d'une méthode173
      • 2.3 Extension de prototype176
      • 2.4 Héritage179
      • 2.5 Premier exemple POO en EcmaScript 6184
      • 2.6 Héritage en EcmaScript187
      • 2.7 Méthodes getter, setter et static en EcmaScript 6190
      • 3. Fonctions fléchées (arrow functions)195
      • 3.1 Avantages des fonctions fléchées195
      • 3.2 Exemple196
      • 4. Structures Map, Set et boucle for of201
      • 4.1 Présentation générale201
      • 4.2 Exemple202
      • 5. Portée des variables (var ou let)211
      • 5.1 Présentation générale211
      • 5.2 Exemple211
      • 6. Promesses (promise)215
      • 6.1 Présentation générale215
      • 6.2 Exemple215
      • 7. Déstructuration220
      • 7.1 Présentation générale220
      • 7.2 Exemple220
      • Partie 4 : Gestion de formulaire et modèle DOM
      • Chapitre 4-1
      • Saisie de données via des formulaires
      • 1. Pilotage des contrôles de saisie via JavaScript225
      • 1.1 Contrôle de saisie sur un champ texte225
      • 1.2 Contrôle de numéricité d'une saisie dans un champ texte232
      • 1.3 Contrôle de caractères alphabétiques d'une saisie dans un champ texte236
      • 1.4 Contrôle de caractères alphabétiques et numériques d'une saisie dans un champ texte236
      • 1.5 Contrôle de longueur d'une saisie dans un champ texte237
      • 1.6 Contrôle de saisie sur une adresse e-mail238
      • 1.7 Contrôle d'un choix dans une liste déroulante (version simplifiée)239
      • 1.8 Contrôle d'un choix dans une liste déroulante (version étendue)242
      • 1.9 Contrôle d'un choix par bouton radio245
      • 1.10 Contrôle d'un choix par case à cocher249
      • Chapitre 4-2
      • Modèle DOM
      • 1. Introduction253
      • 1.1 Définition de DOM253
      • 1.2 Définition de l'arborescence254
      • 2. Apprentissage du modèle DOM257
      • 2.1 Script « Hello World ! »257
      • 2.2 Différence entre write et writeln258
      • 2.3 Gestion des liens hypertextes260
      • 2.4 Gestion des images261
      • 2.5 Gestion des formulaires et de leurs balises264
      • 2.6 Gestion des ancres266
      • 2.7 Gestion de la navigation entre pages web269
      • 2.8 Affichage de caractéristiques générales du document274
      • 2.9 Gestion des boutons dans les formulaires276
      • 2.10 Gestion des tableaux (balise HTML table)286
      • Chapitre 4-3
      • Exploration de flux XML via DOM
      • 1. Notion de flux XML315
      • 2. Exemples316
      • 2.1 Exemple 1 : Affichage d'un contenu d'e-mail codé en XML316
      • 2.2 Exemple 2 : Liste des marques des voitures (fichier voitures.xml)320
      • 2.3 Exemple 3 : Liste des marques des voitures avec une boucle322
      • 2.4 Exemple 4 : Liste des noeuds rattachés à la racine324
      • 2.5 Exemple 5 : Liste des champs (noeuds) de chaque voiture326
      • 2.6 Exemple 6 : Remplacement d'une valeur de noeud329
      • 2.7 Exemple 7 : Accès aux attributs330
      • 2.8 Exemple 8 : Accès à un noeud parent331
      • 2.9 Exemple 9 : Parcours arrière des noeuds332
      • 2.10 Exemple 10 : Remplacement systématique d'une valeur d'attribut333
      • 2.11 Exemple 11 : Conversion XML en HTML335
      • 2.12 Exemple 12 : Suppression d'un noeud dans un flux XML337
      • Partie 5 : Cookies et mécanismes de persistance
      • Chapitre 5-1
      • Gestion des cookies en JavaScript
      • 1. Notion de cookie341
      • 2. Écriture d'un cookie342
      • 3. Lecture d'un cookie344
      • 4. Suppression d'un cookie346
      • Chapitre 5-2
      • Stockage local de données
      • 1. Présentation générale des solutions349
      • 1.1 Stockage par sessionStorage350
      • 1.2 Stockage par localStorage350
      • 2. Mise en oeuvre du Web Storage au travers d'exemples351
      • 2.1 Exemple 1 : Stockage par localStorage de chaînes de caractères351
      • 2.2 Exemple 2 : Stockage dans le localStorage d'un objet JavaScript361
      • Chapitre 5-3
      • Stockage distant (Ajax - PHP - MySQL - XML)
      • 1. Présentation générale de la solution371
      • 2. Mise en oeuvre du stockage distant au travers d'exemples372
      • 2.1 Exemple 1 : Accès Ajax sur BDD MySQL (liste de l'ensemble des voitures)373
      • 2.2 Exemple 2 : Accès MySQL via Ajax399
      • Chapitre 5-4
      • Stockage distant (Ajax - PHP - MySQL - JSON)
      • 1. Présentation générale de la solution407
      • 2. Mise en oeuvre du stockage distant au travers d'exemples409
      • 2.1 Exemple 1 : Présentation du système de notation JSON409
      • 2.2 Exemple 2 : Lecture d'un fichier JSON via XMLHttpRequest414
      • 2.3 Exemple 3 : Lecture d'un fichier JSON via XMLHttpRequest et un script serveur en PHP420
      • 2.4 Exemple 4 : Lecture d'une table MySQL via XMLHttpRequest (serveur PHP et flux JSON)422
      • 2.5 Exemple 5 : Recodage de l'exemple 4 avec une liste déroulante428
      • Partie 6 : Géolocalisation, dessin et graphiques de gestion
      • Chapitre 6-1
      • Géolocalisation
      • 1. Principe de la géolocalisation433
      • 2. Exemples d'applications de géolocalisation434
      • 2.1 Exemple 1 : Affichage de la carte de l'Ouest de la France434
      • 2.2 Exemple 2 : Affichage de la carte de l'Ouest de la France (marqueur)441
      • 2.3 Exemple 3 : Affichage de la carte de l'Ouest de la France (marqueur et cercles de population)444
      • 2.4 Exemple 4 : Affichage de la carte de l'Ouest de la France (informations météorologiques)447
      • 2.5 Exemple 5 : Affichage de la carte de Rennes Centre-Sud (avec photo des sites importants)454
      • 2.6 Exemple 6 : Affichage de la carte de Rennes (Street View)456
      • Chapitre 6-2
      • Dessin (HTML5 CANVAS)
      • 1. Présentation de l'API HTML5 CANVAS461
      • 2. Exemples d'applications de l'élément <canvas>462
      • 2.1 Exemple 1 : Tracé d'un simple carré462
      • 2.2 Exemple 2 : Tracé d'une grille de TicTacToe466
      • 2.3 Améliorations possibles sur le jeu du TicTacToe473
      • Chapitre 6-3
      • Graphiques de gestion
      • 1. Différentes solutions de conception de graphiques de gestion475
      • 2. Exemples d'utilisation des API Google Charts476
      • 2.1 Exemple 1 : Tracé d'un histogramme476
      • 2.2 Exemple 2 : Tracé d'un graphique en secteurs482
      • 2.3 Exemple 3 : Tracé d'une carte485
      • Partie 7 : Frameworks JavaScript
      • Chapitre 7-1
      • Positionnement des frameworks JavaScript
      • 1. Présentation générale des frameworks JavaScript489
      • 1.1 Frameworks « front-end »490
      • 1.2 Frameworks « back-end »490
      • 1.3 Solutions de développement « hybride »491
      • 2. Les frameworks Node.js, Svelte, React et React Native491
      • Chapitre 7-2
      • Installation de Node.js
      • 1. Présentation du framework Node.js493
      • 2. Installation du framework Node.js495
      • Chapitre 7-3
      • Framework Svelte
      • 1. Présentation du framework Svelte503
      • 2. Site svelte.dev504
      • 3. Création locale d'un projet Svelte507
      • 4. Installation de Microsoft Visual Studio Code509
      • 5. Projets Svelte510
      • 5.1 « eni_svelte_01 » - Première application510
      • 5.2 « eni_svelte_02 » - Importance des commentaires517
      • 5.3 « eni_svelte_03 » - Mise en place d'une image519
      • 5.4 « eni_svelte_04 » - Intégration de balises HTML521
      • 5.5 « eni_svelte_05 » - Un premier bouton523
      • 5.6 « eni_svelte_06 » - Le rôle du $ dans les formules526
      • 5.7 « eni_svelte_07 » - Champs de saisie528
      • 5.8 « eni_svelte_08 » - Saisie avec curseur531
      • 5.9 « eni_svelte_09 » - Cases à cocher534
      • 5.10 « eni_svelte_10 » - Boutons « radio »537
      • 5.11 « eni_svelte_11 » - Liste539
      • 5.12 « eni_svelte_12 » - Liste et boutons « radio »541
      • 5.13 « eni_svelte_13 » - Boutons Svelte Materialify544
      • 5.14 « eni_svelte_14 » - Liste déroulante Svelte Materialify546
      • 5.15 « eni_svelte_15 » - Switches Svelte Materialify549
      • 5.16 « eni_svelte_16 » - Première application Sapper-MySQL551
      • 5.17 « eni_svelte_17 » - Liste déroulante Sapper-MySQL568
      • 5.18 « eni_svelte_18 » - Ajout d'un sport via Sapper-MySQL571
      • 5.19 « eni_svelte_19 » - Mise à jour Sapper-MySQL578
      • 5.20 « eni_svelte_20 » - Suppression Sapper-MySQL584
      • Chapitre 7-4
      • Framework React
      • 1. Présentation de React589
      • 2. Création locale d'un projet React590
      • 3. Projets React basiques591
      • 3.1 « eni_react_bases_01 »592
      • 3.2 « eni_react_bases_02 »598
      • 3.3 « eni_react_bases_03 »600
      • 3.4 « eni_react_bases_04 »603
      • 3.5 « eni_react_bases_05 »606
      • 3.6 « eni_react_bases_06 »611
      • 4. Les props React614
      • 4.1 « eni_react_props_01 »614
      • 4.2 « eni_react_props_02 »616
      • 4.3 « eni_react_props_03 »618
      • 5. Les librairies tierces pour React621
      • 5.1 « eni_react_material-ui_table_01 »622
      • 5.2 « eni_react_material-ui_table_02 »625
      • 5.3 « eni_react_material-ui_table_03 »629
      • 5.4 « eni_react_recharts_01 »632
      • 5.5 « eni_react_recharts_02 »637
      • 5.6 « eni_react_recharts_03 »641
      • 6. Lecture de fichiers JSON sous React643
      • 6.1 Différents types de flux JSON643
      • 6.2 « eni_react_lecture_json_local »644
      • 7. Interactions avec un serveur PHP-MySQL653
      • 7.1 « eni_react_php_mysql_01 »654
      • 7.2 « eni_react_php_mysql_02 »661
      • 7.3 « eni_react_php_mysql_03 »679
      • 7.4 « eni_react_php_mysql_04 »683
      • 7.5 « eni_react_php_mysql_05 »694
      • 8. La navigation sous React (routage)700
      • Chapitre 7-5
      • Framework React Native
      • 1. Approches de développement pour périphériques mobiles705
      • 1.1 Développements web, natif et hybride706
      • 1.1.1 Applications web706
      • 1.1.2 Applications natives707
      • 1.1.3 Applications hybrides708
      • 1.2 Les trois principales plateformes709
      • 1.2.1 Apple iOS709
      • 1.2.2 Android709
      • 1.2.3 Windows Phone, Windows 10 Mobile710
      • 2. Présentation du framework React Native710
      • 3. Projets React Native712
      • 3.1 Application « eni_react_native_helloworld »713
      • 3.2 Application « eni_react_native_list_view »730
      • 3.3 Application « eni_react_native_input_text »736
      • 3.4 Application « eni_react_native_picker_basique »741
      • 3.5 Application « eni_react_native_hook »746
      • 3.6 Application « eni_react_native_php_mysql »751
      • Index757

  • Origine de la notice:
    • Electre
  • Disponible - 681.230 VIG

    Niveau 3 - Informatique