Code : JEW
OBJECTIF
Il est important aujourd’hui de bien maitriser le langage JavaScript.
Le domaine d’utilisation de ce langage dépasse largement le domaine de la page Web.
JavaScript est utilisé comme langage d’implémentation dans des serveurs d’applications comme Node.JS mais aussi comme langage de requête pour des bases de données comme mongodb et naturellement comme langage d’implémentation sur les navigateurs Web.
Ce cours permettra de bien appréhender l’implémentation en JavaScript sur des environnements avec des contraintes différentes ainsi que l’organisation de projet d’implémentation car JavaScript est un langage très permissif.
Nous aborderons aussi l’exportation d’une API particulière C++ dans un moteur JavaScript car ce mécanisme est au cœur des problématiques des éditeurs voulant exporter leurs fonctionnalités en JavaScript.
ANIMATION
Equipe LTM
EXERCICES
C’est un cours pratique.
Eclipse (IDE) et chrome (debugger) seront les outils de développement.
Google V8 sera le moteur de référence pour l’exportation API c++.
Node.js (moteur JavaScript: Google V8) sera le moteur de type Serveur d’applications.
Mongodb (moteur JavaScript: Google V8) sera le moteur de base de données.
Chrome (moteur JavaScript: Google V8) sera le navigateur Web.
PRE REQUIS
Une connaissance d’un langage de développement comme Java, C# ou C++ est conseillée
DUREE
4 jours
Programme de la formation
JavaScript
- Ce module est la base de la programmation avec JavaScript
- Présentation du langage
- Présentation des contraintes liées à ce langage très voir trop dynamique
- Structure du langage
- Une ligne de code
- Page de code du script
- Structure des identifiants
- Commentaire
- Les littéraux
- Les mots réservés
- Variables et types de données
- Portée des variables
- Numérique , String, Boolean, Object, Null et undefined
- Méthodes de conversion
- Tableau
- Indexé
- Associatif
- Structures de contrôles itératives et conditionnelles
- Fonctions
- Scope et « closure »
- Objets simples
- Cycle de vies
- Propriétés
JavaScript avancé
- JavaScript apporte des différences par rapport à d’autres langages comme Java ou C++ sur les concepts Objets.
- Ce module permettra de bien comprendre la philosophie JavaScript ce qui est indispensable pour générer du code stable et portable.
- Concept objet.
- Les spécificités de JavaScript.
- Où sont les classes en JavaScript ?
- Les prototypes.
- L’héritage et les interfaces en JavaScript.
- Modules et espace de nom
- Bien comprendre les problématiques de collision de nommage dans du code et les résoudre.
- La gestion mémoire en JavaScript.
- Le gestionnaire de mémoire en JavaScript.
Le développement avec JavaScript
- Ce module présentera un IDE (environnement de développement) et un débugger
JavaScript sur serveur d’application
- Ce module permettra de bien comprendre la mise en œuvre de JavaScript pour des fonctionnements de longue durée.
- Focus sur la gestion mémoire.
- Pour illustrer ces problématiques nous implémenterons des fonctions serveur en JavaScript avec le « Node.js ».
JavaScript dans une base de données
- Ce module permettra de bien comprendre les problématiques de performance avec des grosses itérations
- Pour illustrer ces problématiques nous implémenterons des procédures stockées dans la base de données MongoDB de type NoSQL.
JavaScript dans un navigateur
- Ce module permettra de bien comprendre les problématiques évènementielles et de la portée des variables.
- Pour illustrer ceci nous implémenterons un script dans une page Web.
Exporter son code C++ en JavaScript
- Ce module permettra de comprendre l’intérêt d’exporter du code C++ à des développeurs JavaScript.
- Pour illustrer ceci nous utiliserons Google V8.