Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
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
Upcoming SlideShare
Loading in …5
×

Introduction à Play Framework 2

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

  • Be the first to comment

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 ?

×