#Polyglottisme: une autre manière de 
développer une application
Thierry Wasylczenko 
@twasyl 
#Polyglottisme 
une autre manière de développer une application
3
Ce dont on va parler 
• Le polyglottisme, c’est quoi? 
• Quelques chiffres 
• Ce qu’il faut en conclure 
• Le polyglottism...
5 
Le polyglottisme, c'est quoi?
6
Moi, je code !
8 
Quelques chiffres
~3/4
Consultation des sites web 
Consultation (%) 
81.62% 
9.55% 8.83% 
73.21% 
14.58% 12.21% 
Desktop Tablette Mobile 
Q4 2012...
Developpement d'applications 
Share of app dev 
93% 
83% 
55% 
Smartphone 
Tablette 
Desktop 
0% 10% 20% 30% 40% 50% 60% 7...
Ulisation des plateformes mobiles 
Utilisation (%) 
Q1 2014 
67% 
71% 68% 
75% 
71% 
78% 
74% 
60% 
49% 
61% 
54% 
59% 
45...
SaaS: utilisation 
Pourcentage d'utilisation 
17% 
22% 
40% 
Jan 2011 Jan 2012 Jan 2013 
45% 
40% 
35% 
30% 
25% 
20% 
15%...
SaaS: revenus 
Revenus en billions $ 
10.75 
13.46 
16.22 
19.82 
23.72 
27.94 
32.8 
2010 2011 2012 2013 2014 2015 2016 
...
15 
Que faut-il en conclure?
L'avenir c'est le 
cloud?
On va coder sur 
tablette?
Le fond d'écran à 
la mode sera Win 
98?
19 
Le polyglottisme dans tout ça?
Nouveau?
Pas vraiment 
• > 30 ans 
• Emacs 
• Coeur en C 
• Extensions en Emacs Lisp 
21
Mais pourquoi le 
polyglottisme ?
La métaphore du batiment 23
Familier? 24
PER-SO-NNA-LI-SA- 
TION
Pour les clients 
• Avantages 
• LI-BER-TE 
• Sentiment de puissance 
• Extensible 
• Inconvénients 
• Facilité indispensa...
Pour les développeurs 
• Difficulté de conception 
• API 
• Code «borné» / sécurisé 
• Connaissances ++ 
• Compétences ++ ...
De ça 
Application 
28
A ça 
Application 
Composant 1 
Composant 2 
Composant 3 
Composant 4 
Composant 5 
Composant 6 
29
Mieux ! 
Application 
Composants 
utilise 
Composant 1 Composant 2 
Composant 3 Composant 4 
Composant 5 
30
Il est où le 
polyglottisme ?
Partout !
33 
Les types de polyglottisme
Dev polyglotte
Nashorn 
• Moteur JavaScript en ... Java 
• Créer des applications «natives» en JS 
• Communication JavaScript – Java 
35
Ruby 36 
• JRuby 
• IronRuby
Applications web 
• Vue 
• (Pseudo) HTML + JS 
• Controlleur 
• Java 
• .NET 
• C’est déjà du polyglottisme ! 
37
Choisir la bonne 
techno?
Non ! 
• Pas de meilleure techno 
• Des besoins 
Vous vous souvenez des 
composants ? 
39
Persistance 
polyglotte
SGBD 
• Données relationnelles "plates" 
• Liaisons 1-1 
• Liaisons n-n ? 
• Ca se complique ... et c’est moche 
• Schémas...
NoSQL 42 
• Qui sont les amis de mes amis qui vivent 
en Suisse ? 
• Données très évolutives 
• Plusieurs types 
• Graphe ...
Les deux 
• Ont des forces 
• Ont des faiblesses 
• Ont des cas d’utilisation 
• Pas de mauvais choix 
43
Bon + Bon = 
Meilleur
Déploiement 
polyglotte
Plateformes cibles 
• Ordinateurs 
• Windows, Mac, Linux 
• Tablettes 
• Apple, Android, Microsoft 
• Mobile 
• iOS, Andro...
Laquelle choisir? 
• La «meilleure» ? 
• La plus à la mode ? 
• Et les utilisateurs, vous y pensez ? 
47
PaaS
53 
Les "générateurs", c'est polyglotte?
Oui et non
58 
Ils le font
65 
Ressources
Ressources 
• Articles 
• Why you should hire a Polyglot Programmer 
• Polyglot programming 
• Librairies / Outils 
• Duke...
67
#Polyglottisme, une autre manière de développer une application
#Polyglottisme, une autre manière de développer une application
#Polyglottisme, une autre manière de développer une application
#Polyglottisme, une autre manière de développer une application
#Polyglottisme, une autre manière de développer une application
#Polyglottisme, une autre manière de développer une application
#Polyglottisme, une autre manière de développer une application
#Polyglottisme, une autre manière de développer une application
#Polyglottisme, une autre manière de développer une application
#Polyglottisme, une autre manière de développer une application
#Polyglottisme, une autre manière de développer une application
#Polyglottisme, une autre manière de développer une application
#Polyglottisme, une autre manière de développer une application
Prochain SlideShare
Chargement dans…5
×

#Polyglottisme, une autre manière de développer une application

630 vues

Publié le

#Polyglot, le buzz word dont tout le monde parle. On le voit partout: serveur d’application polyglot, IDE polyglot, outil polyglot, application polyglotte et même conférence polyglotte. Mais quels en sont les avantages et inconvénients? Pourquoi développer une application de manière polyglotte? Durant cette session je vous exposerai, au travers d’un retour d’expérience, pourquoi le polyglotisme est une autre manière intelligente de développer une application, tout de même vieille de 20 ans. Et qu’aujourd’hui plus que jamais vous devriez la prendre en considération lors de vos choix architecturaux pour être tournés vers l’avenir. Et nous nous permettrons aussi de rêver quelque peu.

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

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
630
Sur SlideShare
0
Issues des intégrations
0
Intégrations
7
Actions
Partages
0
Téléchargements
7
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

#Polyglottisme, une autre manière de développer une application

  1. 1. #Polyglottisme: une autre manière de développer une application
  2. 2. Thierry Wasylczenko @twasyl #Polyglottisme une autre manière de développer une application
  3. 3. 3
  4. 4. Ce dont on va parler • Le polyglottisme, c’est quoi? • Quelques chiffres • Ce qu’il faut en conclure • Le polyglottisme dans tout ça? • Les types de polyglottisme • Les «générateurs», c’est polyglotte? • Ils le font • Ressources 4
  5. 5. 5 Le polyglottisme, c'est quoi?
  6. 6. 6
  7. 7. Moi, je code !
  8. 8. 8 Quelques chiffres
  9. 9. ~3/4
  10. 10. Consultation des sites web Consultation (%) 81.62% 9.55% 8.83% 73.21% 14.58% 12.21% Desktop Tablette Mobile Q4 2012 Q4 2013 100 80 60 40 20 0 10 SmartInsights
  11. 11. Developpement d'applications Share of app dev 93% 83% 55% Smartphone Tablette Desktop 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Statista 11
  12. 12. Ulisation des plateformes mobiles Utilisation (%) Q1 2014 67% 71% 68% 75% 71% 78% 74% 60% 49% 61% 54% 59% 45% 38% 50% 64% 49% 39% 58% 62% 12 50% 21% 21% 29% 22% 23% 33% 24% Amérique du nord Amérique du sud Europe de l'ouest Europe de l'est Asie de l'est Asie du sud Afrique et Moyen‑ Android iOS HTML5 mobile Windows Phone Orient 100 80 60 40 20 0 SmartInsights
  13. 13. SaaS: utilisation Pourcentage d'utilisation 17% 22% 40% Jan 2011 Jan 2012 Jan 2013 45% 40% 35% 30% 25% 20% 15% Statista 13
  14. 14. SaaS: revenus Revenus en billions $ 10.75 13.46 16.22 19.82 23.72 27.94 32.8 2010 2011 2012 2013 2014 2015 2016 35 30 25 20 15 10 5 Statista 14
  15. 15. 15 Que faut-il en conclure?
  16. 16. L'avenir c'est le cloud?
  17. 17. On va coder sur tablette?
  18. 18. Le fond d'écran à la mode sera Win 98?
  19. 19. 19 Le polyglottisme dans tout ça?
  20. 20. Nouveau?
  21. 21. Pas vraiment • > 30 ans • Emacs • Coeur en C • Extensions en Emacs Lisp 21
  22. 22. Mais pourquoi le polyglottisme ?
  23. 23. La métaphore du batiment 23
  24. 24. Familier? 24
  25. 25. PER-SO-NNA-LI-SA- TION
  26. 26. Pour les clients • Avantages • LI-BER-TE • Sentiment de puissance • Extensible • Inconvénients • Facilité indispensable • Porte ouverte aux bugs ! 26
  27. 27. Pour les développeurs • Difficulté de conception • API • Code «borné» / sécurisé • Connaissances ++ • Compétences ++ 27
  28. 28. De ça Application 28
  29. 29. A ça Application Composant 1 Composant 2 Composant 3 Composant 4 Composant 5 Composant 6 29
  30. 30. Mieux ! Application Composants utilise Composant 1 Composant 2 Composant 3 Composant 4 Composant 5 30
  31. 31. Il est où le polyglottisme ?
  32. 32. Partout !
  33. 33. 33 Les types de polyglottisme
  34. 34. Dev polyglotte
  35. 35. Nashorn • Moteur JavaScript en ... Java • Créer des applications «natives» en JS • Communication JavaScript – Java 35
  36. 36. Ruby 36 • JRuby • IronRuby
  37. 37. Applications web • Vue • (Pseudo) HTML + JS • Controlleur • Java • .NET • C’est déjà du polyglottisme ! 37
  38. 38. Choisir la bonne techno?
  39. 39. Non ! • Pas de meilleure techno • Des besoins Vous vous souvenez des composants ? 39
  40. 40. Persistance polyglotte
  41. 41. SGBD • Données relationnelles "plates" • Liaisons 1-1 • Liaisons n-n ? • Ca se complique ... et c’est moche • Schémas peu évolutifs • Apparations d’outils comme FlyWay 41
  42. 42. NoSQL 42 • Qui sont les amis de mes amis qui vivent en Suisse ? • Données très évolutives • Plusieurs types • Graphe • Clé/Valeur • Document
  43. 43. Les deux • Ont des forces • Ont des faiblesses • Ont des cas d’utilisation • Pas de mauvais choix 43
  44. 44. Bon + Bon = Meilleur
  45. 45. Déploiement polyglotte
  46. 46. Plateformes cibles • Ordinateurs • Windows, Mac, Linux • Tablettes • Apple, Android, Microsoft • Mobile • iOS, Android, Windows Phone 46
  47. 47. Laquelle choisir? • La «meilleure» ? • La plus à la mode ? • Et les utilisateurs, vous y pensez ? 47
  48. 48. PaaS
  49. 49. 53 Les "générateurs", c'est polyglotte?
  50. 50. Oui et non
  51. 51. 58 Ils le font
  52. 52. 65 Ressources
  53. 53. Ressources • Articles • Why you should hire a Polyglot Programmer • Polyglot programming • Librairies / Outils • DukeScript: http://dukescript.com/ • RoboVM: http://www.robovm.com/ • Xamarin: http://xamarin.com/ • Conférence • Polyglot Unconference: http://www.polyglotconf.com/ 66
  54. 54. 67

×