Développer une application internet riche (RIA) avec le langage Dart de Google
Programme
Présentation de Dart
- Intérêt et positionnement de Dart
- Principaux choix de conception du langage
- La machine virtuelle et la conversion en JavaScript
- Chromium, un navigateur pour tester les applications Dart
- Dart Editor, un environnement de développement complet basé surEclipse
- Pub, un gestionnaire de librairies
Les bases de langages
- Structure d’un programme Dart
- Définition de variables
- La notion de typage optionnel
- Les types de bases
- Définition de fonctions
- Les commentaires
- Les structures de contrôles
- Programmation objet avec Dart
- Programmation fonctionnelle avec Dart
- Programmation asynchrones
- Les exceptions
- La notion de librairies
Pub et la gestion des librairies
- Fonctionnement de pub
- Gestion des configurations et des dépendances
- Le fichier pubspec.yaml
- Utilisation de librairies
- Publication de nouvelles librairies
- Gestion des versions
Les librairies essentielles
- Présentation de dart:core
- Manipulation des chaînes de caractères
- Collection, List et Map
- Gestion des dates
- Collections avancées avec la librairie dart:collection
- Les calculs mathématiques avec dart:math
- Programmation asynchrone avec dart:async
- Programmation concurrente avec dart:isolate
Le développement d’applications Web
- Structure d’une application web cliente en Dart
- Lien avec HTML5
- La librairie dart:html
- Manipulation du DOM
- Gestion des événements
- Envoi de requêtes HTTP
- La librairie dart:json
- Utiliser les WebSockets coté client
- Autres librairies pour exploiter les fonctionnalités HTML5 :dart:indexed_db, dart:svg, …
- Présentation de la librairie Web UI
- La notion de WebComponent
- La gestion du data-binding
- Création de templates
- Création et manipulation de composants
Dart côté serveur
- La librairie dart:io
- Les classes HttpServer et HttpClient
- Implémentation d’une API Rest
- Utiliser les WebSockets coté serveur
- Les possibilités de communication avec des bases de données
Concepts et librairies avancés
- Les types génériques
- La notion d’interface implicite
- Programmation réflexive avec la notion de Mirror
- Interagir avec du code JavaScript