• Aide
  • Eurêkoi Eurêkoi

Livre

JavaScript : développez efficacement

Résumé

Présentation du développement de JavaScript afin de démarrer dans la gestion de projet web pour un usage classique ou mobile. Des pistes sont aussi proposées pour utiliser plus facilement des frameworks web adaptés au contexte d'exploitation comme jQuery ou Dojo. Des fichiers complémentaires sont accessibles en ligne ainsi que la version numérique gratuite.


  • Éditeur(s)
  • Date
    • C 2023
  • Notes
    • La couv. porte en plus : "En téléchargement : code source des exemples" ; "Informatique technique" ; "+ quiz" ; "version en ligne offerte pendant 1 an"
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (445 p.) : ill. ; 21 cm
  • Collections
  • Sujet(s)
  • ISBN
    • 978-2-409-03834-1
  • Indice
  • Quatrième de couverture
    • JavaScript

      Développez efficacement

      Ce livre sur JavaScript s'adresse à des développeurs soucieux de progresser dans leurs compétences JavaScript et de passer de la maîtrise syntaxique à la maîtrise du cycle de développement complet. Une première expérience du développement avec JavaScript, dans sa syntaxe de base, est indispensable à la bonne compréhension de cet ouvrage.

      JavaScript est un langage particulièrement puissant avec une expressivité assez libre. Cette liberté mal maîtrisée devient vite une source de difficultés notamment à l'obtention d'un code de qualité en un temps raisonnable. Après la lecture de ce livre, vous saurez démarrer rapidement vos projets, créer un code portable et efficace, reprendre votre travail dans des contextes et supports variés. Pour cela, l'auteur a mis l'accent sur les bonnes pratiques comme l'organisation du code en modules indépendants, la réalisation de tests unitaires, le débogage, le choix de librairies externes...

      Vous serez capable de gérer des projets de taille variable sans jamais perdre de vue l'architecture de vos applications, que vous soyez seul ou en équipe. Vous serez à l'aise dans vos projets web pour un usage classique comme pour un usage mobile. Grâce à TypeScript, vous apprendrez à dépasser les limites de JavaScript. Enfin, vous saurez créer, utiliser et étendre plus facilement des frameworks web adaptés à votre contexte d'exploitation comme jQuery, Dojo...

      Vous bénéficierez des dernières évolutions importantes du langage grâce à la dernière norme ECMAScript pour favoriser un véritable développement objet et fonctionnel

      Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.


  • Tables des matières
      • JavaScript

      • Développez efficacement

      • 4e Édition

      • Editions ENI

      • Avant-propos
      • Chapitre1
      • Bien démarrer vos projets
      • 1. Choisir votre environnement de développement15
      • 1.1 Introduction15
      • 1.2 NetBeans18
      • 1.3 Visual Studio Community19
      • 1.4 WebStorm21
      • 1.5 Bilan.22
      • 2. Organiser votre code23
      • 2.1 Séparer le code de la présentation23
      • 2.2 Chargement en pied de page27
      • 2.3 Chargement de script par le cache du navigateur28
      • 3. Portée des variables et fonctions32
      • 3.1 Portée des variables32
      • 3.2 Portée des variables dans une fonction34
      • 4. Optimisation de la portée35
      • 4.1 Limiter le contexte global35
      • 4.2 Fonction anonyme36
      • 4.3 Fermeture38
      • 5. Simplifier vos expressions39
      • 5.1 L'opérateur | |39
      • 5.2 L'opérateur &&41
      • 5.3 Comparaison42
      • 5.4 Paramètres variants44
      • 5.5 Extension de type45
      • 5.5.1 prototype45
      • 5.5.2 Array46
      • 5.5.3 String47
      • 5.5.4 Function48
      • 5.5.5 Object49
      • 6. Passage au mode strict50
      • 6.1 Usage50
      • 6.2 Quelques cas53
      • 7. JSHint55
      • 7.1 Usage de base55
      • 7.2 Chargement de code57
      • 7.3 Autre usage59
      • 7.3.1 Ligne de commande59
      • 7.3.2 Dans votre éditeur61
      • 8. Documenter votre code avec JSDoc62
      • 8.1 Le principe62
      • 8.2 Les marqueurs62
      • 8.2.1 Déclarations62
      • 8.2.2 Fonctions63
      • 8.2.3 Objet65
      • 8.2.4 Meta66
      • 8.3 Usage67
      • 8.3.1 EDI WebStorm67
      • 8.3.2 Génération d'une documentation67
      • 9. Passage d'un environnement de développement à un environnement de production71
      • 9.1 Tests unitaires71
      • 9.1.1 Introduction71
      • 9.1.2 Gestion avec votre propre librairie71
      • 9.1.3 QUnit75
      • 9.2 Minimisation78
      • 9.2.1 Présentation78
      • 9.2.2 YUI Compressor79
      • 9.2.3 Closure Compiler80
      • Chapitre2
      • Développer efficacement en objet
      • 1. Première approche83
      • 1.1 Rappels83
      • 1.1.1 Classe83
      • 1.1.2 Instance84
      • 1.1.3 Encapsulation85
      • 1.1.4 Héritage85
      • 1.1.5 Abstraction86
      • 1.1.6 Surcharge86
      • 1.1.7 L'interface87
      • 1.1.8 Polymorphisme87
      • 1.2 Construction d'un objet88
      • 1.2.1 Préambule88
      • 1.2.2 Instance directe88
      • 1.2.3 Tableau associatif91
      • 1.2.4 Parcours des propriétés92
      • 1.3 Construction d'une classe94
      • 1.3.1 Le constructeur94
      • 1.3.2 L'opérateur new94
      • 1.3.3 L'opérateur this95
      • 1.3.4 Le mot-clé with96
      • 1.3.5 Le mot-clé instanceof97
      • 2. Contexte d'exécution98
      • 2.1 this98
      • 2.2 that100
      • 2.3 Fonction anonyme101
      • 2.4 Binding102
      • 3. Classes prédéfinies104
      • 3.1 Object104
      • 3.2 String107
      • 3.3 RegExp109
      • 3.4 Array113
      • 3.5 Date116
      • 3.6 Math117
      • 4. Notions avancées119
      • 4.1 Prototypage119
      • 4.1.1 Simple119
      • 4.1.2 Optimisée121
      • 4.2 Héritage122
      • 4.2.1 Principe122
      • 4.2.2 Surcharge125
      • 4.2.3 Polymorphisme127
      • 4.2.4 Résolution des conflits128
      • 4.3 Gestion mémoire129
      • 4.3.1 Garbage collector129
      • 4.3.2 null130
      • 4.3.3 delete130
      • 4.3.4 var131
      • 5. Framework pour le développement objet131
      • 5.1 Prototype131
      • 5.1.1 Création d'une classe131
      • 5.1.2 Héritage132
      • 5.1.3 Composition133
      • 5.2 MooTools134
      • 5.2.1 Création d'une classe134
      • 5.2.2 Héritage135
      • 5.2.3 Implémentation136
      • 5.3 jQuery136
      • 5.3.1 Introduction136
      • 5.3.2 Merge simple137
      • 5.3.3 Mélange récursif138
      • 5.4 Dojo139
      • 5.4.1 Introduction139
      • 5.4.2 Création d'une classe139
      • 5.4.3 Héritage140
      • Chapitre3
      • Adopter les bonnes pratiques
      • 1. Espace de noms143
      • 1.1 Principe143
      • 1.2 Fonction144
      • 1.2.1 Fonction interne144
      • 1.2.2 Fonction anonyme146
      • 1.2.3 Fonction anonyme avec paramètres147
      • 1.3 Fermeture149
      • 1.4 Classe150
      • 2. Module153
      • 2.1 Présentation153
      • 2.2 Composition155
      • 3. CommonJS158
      • 3.1 Présentation158
      • 3.2 define158
      • 4. AMD161
      • 4.1 Introduction161
      • 4.1.1 Présentation161
      • 4.1.2 Quelques conseils162
      • 4.2 RequireJS163
      • 4.3 Dojo164
      • 4.4 curl166
      • 4.4.1 Principe166
      • 4.4.2 Accès relatif167
      • 4.4.3 Gestion des erreurs de chargement168
      • 4.5 Ecriture de votre gestionnaire de modules168
      • 5. Déboguer votre code172
      • 5.1 Fonction alert172
      • 5.1.1 Usage172
      • 5.1.2 Simplification173
      • 5.1.3 Module174
      • 5.2 Activation/désactivation176
      • 5.3 Fenêtre indépendante176
      • 5.4 Console179
      • 5.4.1 Accès179
      • 5.4.2 log180
      • 5.4.3 Groupe184
      • 5.4.4 Niveaux de trace184
      • 5.4.5 Mesure185
      • 5.4.6 Pile d'appels185
      • 5.5 Débogueur intégré186
      • 5.5.1 Microsoft Edge186
      • 5.5.2 Chrome189
      • 5.5.3 Firefox Developer Edition191
      • 5.5.4 Conclusion192
      • Chapitre4
      • Améliorer vos compétences web
      • 1. Page HTML193
      • 1.1 L'indispensable193
      • 1.1.1 Balises193
      • 1.1.2 Balises de structure195
      • 1.1.3 Lien196
      • 1.1.4 Tableau197
      • 1.1.5 Formulaire198
      • 1.1.6 Générique200
      • 1.2 Le CSS200
      • 1.2.1 Déclaration200
      • 1.2.2 Sélecteurs202
      • 1.2.3 Propriétés203
      • 2. Librairies JavaScript206
      • 2.1 L'objet window206
      • 2.1.1 Rôle206
      • 2.1.2 open207
      • 2.1.3 setInterval, setTimeout208
      • 2.1.4 location210
      • 2.1.5 navigator211
      • 3. DOM214
      • 3.1 Document214
      • 3.1.1 Propriétés et méthodes214
      • 3.1.2 Parcours217
      • 3.2 Modification219
      • 3.2.1 Construction222
      • 3.2.2 Événements223
      • 4. Formulaire229
      • 4.1 Validation simple229
      • 4.2 Gestion des champs232
      • 4.3 Contraintes supplémentaires233
      • 4.4 Conception d'un module de validation234
      • 5. Étude de cas236
      • 5.1 Gestion de notes dans une page web, architecture MVC236
      • 5.1.1 Première étape236
      • 5.1.2 Modèle de données237
      • 5.1.3 La vue238
      • 5.1.4 Finalisation238
      • 5.2 Gestion de notes, version 2240
      • 5.2.1 Multivue240
      • 5.2.2 Trier les notes242
      • 5.3 Gestion d'un QCM dans une page web244
      • 5.3.1 Première étape244
      • 5.3.2 Réalisation247
      • Chapitre5
      • Développer aisément en client/serveur
      • 1. AJAX251
      • 1.1 Requête simple251
      • 1.2 Réponse XML254
      • 1.3 Paramètres GET255
      • 1.4 Paramètres POST256
      • 1.5 Requêtes entre domaines différents258
      • 1.6 Module259
      • 1.6.1 Version monorequête259
      • 1.6.2 Version multirequête261
      • 1.7 Format d'échange264
      • 1.7.1 Texte264
      • 1.7.2 XML267
      • 1.7.3 XSLT270
      • 1.7.4 JSON279
      • 1.8 Objets en client/serveur284
      • 1.8.1 Implémentation Java intrusive284
      • 1.8.2 Implémentation Java non intrusive289
      • 2. Chargement dynamique de script292
      • 2.1 Première implémentation292
      • 2.2 Module AMD294
      • Chapitre6
      • Maîtriser les frameworks Web
      • 1. Bien démarrer avec jQuery299
      • 1.1 Concepts299
      • 1.1.1 Présentation299
      • 1.1.2 Sélecteur302
      • 1.1.3 DOM309
      • 1.1.4 Utilitaires312
      • 1.1.5 Effets de transition314
      • 1.2 Événements315
      • 1.2.1 Interactions utilisateur315
      • 1.2.2 AJAX317
      • 1.2.3 Conclusion321
      • 1.3 Plugins jQuery322
      • 1.3.1 Construction322
      • 1.3.2 Usage324
      • 2. Bien démarrer avec Dojo327
      • 2.1 Concepts327
      • 2.1.1 Présentation327
      • 2.1.2 Configuration329
      • 2.1.3 Vos modules AMD332
      • 2.1.4 DOM334
      • 2.2 Événements338
      • 2.2.1 Interactions utilisateur338
      • 2.2.2 AJAX341
      • 2.2.3 Conclusion343
      • 3. Construire votre framework web344
      • 3.1 Première étape344
      • 3.1.1 Présentation344
      • 3.1.2 Organisation344
      • 3.2 Deuxième étape346
      • 3.2.1 Usage de templates de composant346
      • 3.2.2 Réalisation d'un bouton350
      • 3.3 Troisième étape352
      • 3.3.1 Création d'une calculatrice simple352
      • 3.3.2 L'avenir356
      • Chapitre7
      • TypeScript
      • 1. Introduction359
      • 1.1 Objectifs359
      • 1.2 Hello world360
      • 1.3 Environnement de développement361
      • 1.3.1 Visual Studio Community 2022361
      • 1.3.2 WebStorm 202.2362
      • 2. Variable et constante363
      • 2.1 Variable363
      • 2.2 Constante364
      • 3. Typage365
      • 3.1 Déclaration365
      • 3.1.1 Variable365
      • 3.1.2 Fonctions365
      • 3.2 Chaînes366
      • 3.3 Nombre366
      • 3.4 Booléens367
      • 3.5 Enumération367
      • 3.6 Any, Null et Undefined367
      • 3.6.1 Any367
      • 3.6.2 Null et Undefined368
      • 3.7 Tableaux369
      • 3.8 Assertions369
      • 3.9 Itérations370
      • 4. Classes370
      • 4.1 Déclaration et usage370
      • 4.2 Héritage371
      • 4.3 Visibilité des champs373
      • 4.4 Propriétés en lecture seule375
      • 4.5 Accesseurs376
      • 4.6 Propriétés statiques377
      • 5. Interfaces378
      • 5.1 Déclaration378
      • 5.2 Propriétés optionnelles et en lecture seule379
      • 5.3 Types de fonctions381
      • 5.4 Types indexables381
      • 5.5 Implémentation383
      • 6. Génériques385
      • 6.1 Déclaration et usage385
      • 6.2 Types génériques386
      • 6.3 Classes génériques388
      • 6.4 Contraintes388
      • 7. Modules390
      • 7.1 Déclaration et usage390
      • 7.2 Import392
      • 8. Espace de noms393
      • 8.1 Déclaration et usage393
      • 8.2 Espaces de noms multiples395
      • 8.2.1 Construction d'un fichier unique395
      • 8.2.2 Instruction de compilation396
      • 8.3 Espaces de noms imbriqués397
      • 8.4 Alias398
      • Chapitre8
      • ECMAScript 2022
      • 1. Usage399
      • 1.1 Compatibilité399
      • 1.2 Portée401
      • 1.3 Constantes402
      • 1.4 Déclaration des fonctions simplifiée403
      • 2. Structure de données plus efficace405
      • 2.1 Chaînes de caractères405
      • 2.2 Collections405
      • 3. Développement objet rapide407
      • 3.1 Classes407
      • 3.2 Attributs408
      • 3.3 Héritage409
      • 3.4 Membres statiques410
      • 3.5 Contexte de this412
      • 3.6 Getters/setters413
      • 3.7 Assignation objet facilitée414
      • 3.8 Déclaration simplifiée415
      • 3.9 Nom de propriété dynamique416
      • 4. Programmation modulaire simplifiée418
      • 4.1 Export418
      • 4.2 Import419
      • 4.3 Usage420
      • 5. Fonctions simplifiées421
      • 5.1 Expressions lambda421
      • 5.2 Itérateurs421
      • 6. Développement asynchrone423
      • 6.1 Simple423
      • 6.2 Multiple424
      • 7. Faciliter l'usage international424
      • 7.1 Nombres424
      • 7.2 Monnaies425
      • 7.3 Dates/heures425
      • Annexe
      • Liste des URL
      • 1. Éditeurs JavaScript427
      • 2. Frameworks428
      • 3. Frameworks objets428
      • 4. Librairies428
      • 5. Gestionnaires AMD428
      • 6. Outils429
      • 7. Plugins jQuery430
      • 8. Références430
      • Index431

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

    Niveau 3 - Informatique