Introduction àPlay Framework 2      Samy Dindane     www.dinduks.com        @dinduks    Be-Zend 2013 - Saint-Quentin
Au menu●   Introduction Scala●   Play! et ses fonctionnalités●   Démo
● Langage orienté objet et fonctionnel● Lancé en 2003● Créé par Martin Odersky● Utilisé par Twitter, Foursquare, Nasa
Programmation fonctionnelle          Principes de la programmation orientée-objet                   Profiter de ce quoffre...
Utilisation des fonctionsMême chose en Java :
Futures● Conteneur dun résultat qui nexiste pas encore● Permettent de faire des opérations  ○ Parallèles  ○ Non bloquantes
Exemple
Pattern Matching
OptionConteneur de valeurs optionnelles
Exemple
Typage● Scala est statiquement typé● Les types sont vérifiés par le compilateur    ○ Plus de sécurité    ○ Maintenance plu...
ScalaJava
Inférence de types
Traits●   Équivalent aux Interfaces de Java●   Possibilité den implémenter une partie
Actors●   Processus concurrents●   Communiquent en échangeant des messages●   Jobs asynchrones
Interopérable avec Java         Peut utiliser les libs Java     Peut parler avec les classes Java    Adoption incrémentielle
● Écrit en Java et en scala● Répond aux problématiques du Web moderne● Scalable● Simple et productif
Full stack●   Tous les composants nécessaires pour faire du dév. Web    ○   Streams, WebSockets, cache, SQL, JSON/XML, for...
Productivité●   Accessible●   Rechargement à chaud (code, templates, config)●   Compilation et exécution des tests automat...
Stateless et respecte HTTP   ● Ne stocke pas détat côté serveur   ● Ne cache pas HTTP et lexpose
Support natif de Java et ScalaAPI propre et maintenue à chaque langage
Type-safety● Empêche les erreurs de compilation sur les   ○ Classes   ○ Templates   ○ Routes
Réactif●   Programmation asynchrone●   Parallélisme●   I/O non-bloquantes●   Consommer des données en streaming
Exemple de Futures dans Play
Exemple de Futures dans Play
Tranformer une Future en résultat
Exemple plus concret
Iteratee IO●   Propose une API pour manipuler des streams●   Permet davoir le contrôle sur ces flux●   Composable●   API n...
Iteratee IO                ●   Chunk                ●   EOFEnumerator                  Iteratee                ●   Cont   ...
DémoUne démo vaut mille slides
Questions ?
Introduction à Play Framework 2
Introduction à Play Framework 2
Introduction à Play Framework 2
Introduction à Play Framework 2
Introduction à Play Framework 2
Prochain SlideShare
Chargement dans…5
×

Introduction à Play Framework 2

3 631 vues

Publié le

Une conférence donnée au Be-Zend 2013 visant à présenter Play! 2 ainsi que Scala.

Publié dans : Technologie
0 commentaire
2 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
3 631
Sur SlideShare
0
Issues des intégrations
0
Intégrations
344
Actions
Partages
0
Téléchargements
72
Commentaires
0
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Introduction à Play Framework 2

  1. 1. Introduction àPlay Framework 2 Samy Dindane www.dinduks.com @dinduks Be-Zend 2013 - Saint-Quentin
  2. 2. Au menu● Introduction Scala● Play! et ses fonctionnalités● Démo
  3. 3. ● Langage orienté objet et fonctionnel● Lancé en 2003● Créé par Martin Odersky● Utilisé par Twitter, Foursquare, Nasa
  4. 4. Programmation fonctionnelle Principes de la programmation orientée-objet Profiter de ce quoffre la FPtout en ayant une base de code robuste, structurée et maintenable
  5. 5. Utilisation des fonctionsMême chose en Java :
  6. 6. Futures● Conteneur dun résultat qui nexiste pas encore● Permettent de faire des opérations ○ Parallèles ○ Non bloquantes
  7. 7. Exemple
  8. 8. Pattern Matching
  9. 9. OptionConteneur de valeurs optionnelles
  10. 10. Exemple
  11. 11. Typage● Scala est statiquement typé● Les types sont vérifiés par le compilateur ○ Plus de sécurité ○ Maintenance plus rapide et efficace ○ Pas besoin de tests unitaires pour tester les types
  12. 12. ScalaJava
  13. 13. Inférence de types
  14. 14. Traits● Équivalent aux Interfaces de Java● Possibilité den implémenter une partie
  15. 15. Actors● Processus concurrents● Communiquent en échangeant des messages● Jobs asynchrones
  16. 16. Interopérable avec Java Peut utiliser les libs Java Peut parler avec les classes Java Adoption incrémentielle
  17. 17. ● Écrit en Java et en scala● Répond aux problématiques du Web moderne● Scalable● Simple et productif
  18. 18. Full stack● Tous les composants nécessaires pour faire du dév. Web ○ Streams, WebSockets, cache, SQL, JSON/XML, formulaires, validation, routing ○ Sintègre avec des technos client (LESS, JS, CoffeeScript) ○ (Vrai) serveur Web intégré
  19. 19. Productivité● Accessible● Rechargement à chaud (code, templates, config)● Compilation et exécution des tests automatiques● Support des IDE
  20. 20. Stateless et respecte HTTP ● Ne stocke pas détat côté serveur ● Ne cache pas HTTP et lexpose
  21. 21. Support natif de Java et ScalaAPI propre et maintenue à chaque langage
  22. 22. Type-safety● Empêche les erreurs de compilation sur les ○ Classes ○ Templates ○ Routes
  23. 23. Réactif● Programmation asynchrone● Parallélisme● I/O non-bloquantes● Consommer des données en streaming
  24. 24. Exemple de Futures dans Play
  25. 25. Exemple de Futures dans Play
  26. 26. Tranformer une Future en résultat
  27. 27. Exemple plus concret
  28. 28. Iteratee IO● Propose une API pour manipuler des streams● Permet davoir le contrôle sur ces flux● Composable● API non bloquante, réactive et performante
  29. 29. Iteratee IO ● Chunk ● EOFEnumerator Iteratee ● Cont ● Done ● Error
  30. 30. DémoUne démo vaut mille slides
  31. 31. Questions ?

×