Transcript
Page 1: #Polyglottisme, une autre manière de développer une application

#Polyglottisme: une autre manière dedévelopper une application

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

Thierry Wasylczenko

@twasyl

#Polyglottismeune autre manière de développer une application

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

3

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

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

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

Le polyglottisme, c'est quoi?

5

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

6

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

Moi, je code !

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

Quelques chiffres

8

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

~3/4

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

Consultation des sites webCo

nsul

tatio

n (%

)

81.62%

9.55% 8.83%

73.21%

14.58% 12.21%

Q4 2012 Q4 2013

Desktop Tablette Mobile0

20

40

60

80

100

SmartInsights

10

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

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

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

Ulisation des plateformes mobilesUt

ilisa

tion

(%)

Q1 2014

67%71%

68%75%

71%78%

74%

60%

49%

61%54%

59%

45%38%

50%

64%

49%

39%

58%62%

50%

21% 21%

29%22% 23%

33%

24%

Android iOS HTML5 mobile Windows Phone

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‑Orient

0

20

40

60

80

100

SmartInsights

12

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

SaaS: utilisationPo

urce

ntag

e d'

utili

satio

n

17%

22%

40%

Jan 2011 Jan 2012 Jan 201315%

20%

25%

30%

35%

40%

45%

Statista

13

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

SaaS: revenusRe

venu

s en

bill

ions

$

10.75

13.46

16.22

19.82

23.72

27.94

32.8

2010 2011 2012 2013 2014 2015 20165

10

15

20

25

30

35

Statista

14

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

Que faut-il en conclure?

15

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

L'avenir c'est le

cloud?

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

On va coder sur

tablette?

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

Le fond d'écran à

la mode sera Win98?

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

Le polyglottisme dans tout ça?

19

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

Nouveau?

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

Pas vraiment

• > 30 ans

• Emacs

• Coeur en C

• Extensions en Emacs Lisp

21

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

Mais pourquoi le

polyglottisme ?

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

La métaphore du batiment 23

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

Familier? 24

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

PER-SO-NNA-LI-

SA-TION

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

Pour les clients

• Avantages

• LI-BER-TE

• Sentiment de puissance

• Extensible

• Inconvénients

• Facilité indispensable

• Porte ouverte aux bugs !

26

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

Pour les développeurs

• Difficulté de conception

• API

• Code «borné» / sécurisé

• Connaissances ++

• Compétences ++

27

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

De ça

Application

28

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

A ça

Application

Composant 1Composant 2

Composant 3

Composant 4

Composant 5Composant 6

29

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

Mieux !

Application

Composants

utiliseComposant 1 Composant 2

Composant 3 Composant 4

Composant 5

30

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

Il est où le

polyglottisme ?

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

Partout !

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

Les types de polyglottisme

33

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

Dev polyglotte

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

Nashorn

• Moteur JavaScript en ... Java

• Créer des applications «natives» en JS

• Communication JavaScript – Java

35

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

• JRuby

• IronRuby

Ruby 36

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

Applications web

• Vue

• (Pseudo) HTML + JS

• Controlleur

• Java

• .NET

• C’est déjà du polyglottisme !

37

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

Choisir la bonne

techno?

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

Non !

• Pas de meilleure techno

• Des besoins

Vous vous souvenez des

composants ?

39

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

Persistance

polyglotte

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

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

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

• Qui sont les amis de mes amis qui vivent

en Suisse ?

• Données très évolutives

• Plusieurs types

• Graphe

• Clé/Valeur

• Document

NoSQL 42

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

Les deux

• Ont des forces

• Ont des faiblesses

• Ont des cas d’utilisation

• Pas de mauvais choix

43

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

Bon + Bon =

Meilleur

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

Déploiement

polyglotte

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

Plateformes cibles

• Ordinateurs

• Windows, Mac, Linux

• Tablettes

• Apple, Android, Microsoft

• Mobile

• iOS, Android, Windows Phone

46

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

Laquelle choisir?

• La «meilleure» ?

• La plus à la mode ?

• Et les utilisateurs, vous y pensez ?

47

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

PaaS

Page 49: #Polyglottisme, une autre manière de développer une application
Page 50: #Polyglottisme, une autre manière de développer une application
Page 51: #Polyglottisme, une autre manière de développer une application
Page 52: #Polyglottisme, une autre manière de développer une application
Page 53: #Polyglottisme, une autre manière de développer une application

Les "générateurs", c'est polyglotte?

53

Page 54: #Polyglottisme, une autre manière de développer une application
Page 55: #Polyglottisme, une autre manière de développer une application
Page 56: #Polyglottisme, une autre manière de développer une application
Page 57: #Polyglottisme, une autre manière de développer une application

Oui et non

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

Ils le font

58

Page 59: #Polyglottisme, une autre manière de développer une application
Page 60: #Polyglottisme, une autre manière de développer une application
Page 61: #Polyglottisme, une autre manière de développer une application
Page 62: #Polyglottisme, une autre manière de développer une application
Page 63: #Polyglottisme, une autre manière de développer une application
Page 64: #Polyglottisme, une autre manière de développer une application
Page 65: #Polyglottisme, une autre manière de développer une application

Ressources

65

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

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

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

67


Recommended