#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 polyglottisme dans tout ça? 
• Les types de polyglottisme 
• Les «générateurs», c’est polyglotte? 
• Ils le font 
• Ressources 
4
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 Q4 2013 
100 
80 
60 
40 
20 
0 
10 
SmartInsights
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
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
SaaS: utilisation 
Pourcentage d'utilisation 
17% 
22% 
40% 
Jan 2011 Jan 2012 Jan 2013 
45% 
40% 
35% 
30% 
25% 
20% 
15% 
Statista 
13
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 
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é indispensable 
• Porte ouverte aux bugs ! 
26
Pour les développeurs 
• Difficulté de conception 
• API 
• Code «borné» / sécurisé 
• Connaissances ++ 
• Compétences ++ 
27
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 peu évolutifs 
• Apparations d’outils comme FlyWay 
41
NoSQL 42 
• Qui sont les amis de mes amis qui vivent 
en Suisse ? 
• Données très évolutives 
• Plusieurs types 
• Graphe 
• Clé/Valeur 
• Document
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, Android, Windows Phone 
46
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 
• DukeScript: http://dukescript.com/ 
• RoboVM: http://www.robovm.com/ 
• Xamarin: http://xamarin.com/ 
• Conférence 
• Polyglot Unconference: http://www.polyglotconf.com/ 
66
67

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