#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
of 67

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

#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.
Published on: Mar 4, 2016
Published in: Engineering      
Source: www.slideshare.net


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

  • 1. #Polyglottisme: une autre manière de développer une application
  • 2. Thierry Wasylczenko @twasyl #Polyglottisme une autre manière de développer une application
  • 3. 3
  • 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 Le polyglottisme, c'est quoi?
  • 6. 6
  • 7. Moi, je code !
  • 8. 8 Quelques chiffres
  • 9. ~3/4
  • 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. 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. 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. SaaS: utilisation Pourcentage d'utilisation 17% 22% 40% Jan 2011 Jan 2012 Jan 2013 45% 40% 35% 30% 25% 20% 15% Statista 13
  • 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 Que faut-il en conclure?
  • 16. L'avenir c'est le cloud?
  • 17. On va coder sur tablette?
  • 18. Le fond d'écran à la mode sera Win 98?
  • 19. 19 Le polyglottisme dans tout ça?
  • 20. Nouveau?
  • 21. Pas vraiment • > 30 ans • Emacs • Coeur en C • Extensions en Emacs Lisp 21
  • 22. Mais pourquoi le polyglottisme ?
  • 23. La métaphore du batiment 23
  • 24. Familier? 24
  • 25. PER-SO-NNA-LI-SA- TION
  • 26. Pour les clients • Avantages • LI-BER-TE • Sentiment de puissance • Extensible • Inconvénients • Facilité indispensable • Porte ouverte aux bugs ! 26
  • 27. Pour les développeurs • Difficulté de conception • API • Code «borné» / sécurisé • Connaissances ++ • Compétences ++ 27
  • 28. De ça Application 28
  • 29. A ça Application Composant 1 Composant 2 Composant 3 Composant 4 Composant 5 Composant 6 29
  • 30. Mieux ! Application Composants utilise Composant 1 Composant 2 Composant 3 Composant 4 Composant 5 30
  • 31. Il est où le polyglottisme ?
  • 32. Partout !
  • 33. 33 Les types de polyglottisme
  • 34. Dev polyglotte
  • 35. Nashorn • Moteur JavaScript en ... Java • Créer des applications «natives» en JS • Communication JavaScript – Java 35
  • 36. Ruby 36 • JRuby • IronRuby
  • 37. Applications web • Vue • (Pseudo) HTML + JS • Controlleur • Java • .NET • C’est déjà du polyglottisme ! 37
  • 38. Choisir la bonne techno?
  • 39. Non ! • Pas de meilleure techno • Des besoins Vous vous souvenez des composants ? 39
  • 40. Persistance polyglotte
  • 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. 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. Les deux • Ont des forces • Ont des faiblesses • Ont des cas d’utilisation • Pas de mauvais choix 43
  • 44. Bon + Bon = Meilleur
  • 45. Déploiement polyglotte
  • 46. Plateformes cibles • Ordinateurs • Windows, Mac, Linux • Tablettes • Apple, Android, Microsoft • Mobile • iOS, Android, Windows Phone 46
  • 47. Laquelle choisir? • La «meilleure» ? • La plus à la mode ? • Et les utilisateurs, vous y pensez ? 47
  • 48. PaaS
  • 49. 53 Les "générateurs", c'est polyglotte?
  • 50. Oui et non
  • 51. 58 Ils le font
  • 52. 65 Ressources
  • 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. 67

Related Documents