Introduction à Play Framework 2

3,800 views

Published on

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

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,800
On SlideShare
0
From Embeds
0
Number of Embeds
346
Actions
Shares
0
Downloads
79
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

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 ?

×