panorama des solutions mobile hybrides

79
1 Panorama des solutions mobiles hybrides

Upload: ekino

Post on 12-Apr-2017

3.039 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Panorama des solutions mobile hybrides

1

Panoramades solutionsmobiles hybrides

Page 2: Panorama des solutions mobile hybrides

22

Qui suis je ?

Développeur Front End

#JavaScript #Angular #React #Cordova #Gulp #Sass #Ionic

@MeKimak @ekinoExperts

Mickael Dumand

Page 3: Panorama des solutions mobile hybrides

33

• SITE MOBILE Application web accessible depuis une URL.Créer un service

mobile

• Application hybrideApplication web installée sur mobile.

• NatifApplication installée sur mobile développée dans plusieurs langages.

Page 4: Panorama des solutions mobile hybrides

44

Fragmentation des OS majoritaires

Vision actuelle du marché mobile mondial

76%

21%

3%

AndroidiOSWP

87%92%

Android 4.1.x + iOS 8 +

Android et iOS dominent le monde

Page 5: Panorama des solutions mobile hybrides

55

Android et iOS dominent le mondeVision actuelle du marché mobile français

57%37%

6%

AndroidiOSWP

L’objectif de l’hybride

Mutualisation du code.

Gain de temps des développement.

Facilité de maintenance.

Page 6: Panorama des solutions mobile hybrides

6

CAPACITÉMAXIMALE

CAPACITÉPARTIELLE

DÉVELOPPEMENTSPÉCIFIQUE

DÉVELOPPEMENTMUTUALISÉ

APPLICATION HYBRIDE

• Intégration de pages Web à une app. native• Accès aux fonctionnalités hardware

« WEB APP »

• Pages Web consultées depuis un navigateur• Accès limité aux fonctionnalités hardware

APPLICATION NATIVE

• Compilation d’un logiciel embarqué• Accès avancé aux fonctionnalités hardware

HTML5

NATIF

HTML5

NATIF

Comment choisir ?

Page 7: Panorama des solutions mobile hybrides

77

Applicationnative

Applicationhybride

« C’est lent mais c’est moins cher. »

« Je préfère le natif ! »

Page 8: Panorama des solutions mobile hybrides

8

Facebook et LinkedIn abandonnent leurs applications HTML5 pour du natif

Temps

Pourquoi les gens pensent ça Doc ?

Je trouve ça cool l’hybride moi…

Page 9: Panorama des solutions mobile hybrides

9

Facebook et LinkedIn abandonnent leurs applications HTML5 pour du natif

Temps

Monte Marty, je vais t’expliquer.

Page 10: Panorama des solutions mobile hybrides

10L’hybride dans le temps

Adobe achète Phone Gap

Facebook et LinkedIn abandonnent leurs applications HTML5 pour du natif

Aujourd’hui : Augmentation du nombre de solutions hybrides

Plateau de productivité…

Popularité

Temps

En 2009 la société Nitobi crée PhoneGap

Naissance de PhoneGap @Nitobi

Page 11: Panorama des solutions mobile hybrides

11L’hybride dans le temps

Naissance de PhoneGap

Adobe achète Phone Gap l’open source Apache Cordova

Facebook et LinkedIn abandonnent leurs applications HTML5 pour du natif

Aujourd’hui : Augmentation du nombre de solutions hybrides

Plateau de productivité…

Popularité

Temps

En 2011 Adobe rachète Nitobi et open source le projet

Page 12: Panorama des solutions mobile hybrides

12L’hybride dans le temps

Naissance de PhoneGap

Adobe achète Phone Gap l’open source Apache Cordova

Aujourd’hui : Augmentation du nombre de solutions hybrides

Plateau de productivité…

Popularité

Temps

En 2012 Facebook abandonne HTML5 pour ses applications mobiles

Facebook et LinkedIn abandonnent leurs applications HTML5 pour du natif

Page 13: Panorama des solutions mobile hybrides

13L’hybride dans le temps

Naissance de PhoneGap

Aujourd’hui : Augmentation du nombre de solutions hybrides

Plateau de productivité…

Popularité

Temps

En 2012 Facebook abandonne HTML5 pour ses applications mobile

Facebook et LinkedIn abandonnent leurs applications HTML5 pour du natif

Adobe achète Phone Gap l’open source Apache Cordova

Page 14: Panorama des solutions mobile hybrides

14

Le vrai problème ?

Page 15: Panorama des solutions mobile hybrides

1515

Aucun SDKHTML5 pour mobile !

Page 16: Panorama des solutions mobile hybrides

1616

Un développeur hybride HTML5en 2012

Page 17: Panorama des solutions mobile hybrides

17Gartner Hype Cycle

Naissance de l’hybride

Adobe achète Phone Gap

Facebook et LinkedIn abandonnent leurs applications HTML5 pour du natif

Aujourd’hui : Augmentation du nombre de solutions hybrides

Plateau de productivité…

Visibilité

Temps

Mais on est en 2015 : les choses changent !

Page 18: Panorama des solutions mobile hybrides

18

Panorama dessolutions hybrides

Page 19: Panorama des solutions mobile hybrides

19

Page 20: Panorama des solutions mobile hybrides

20

Panorama dessolutions hybrides

Page 21: Panorama des solutions mobile hybrides

21

Panorama dessolutions hybrides

Page 22: Panorama des solutions mobile hybrides

22

Piloter des composants natifs en JavaScript

Native Script

Page 23: Panorama des solutions mobile hybrides

23

JavaScriptCore introduit sous IOS7

JavaScriptCore

Page 24: Panorama des solutions mobile hybrides

24

Moteur Chrome V8 sous Android

Native Script

Page 25: Panorama des solutions mobile hybrides

2525

Vous connaissez React ?

• Le V de MVC

• Virtual Dom

• Compilation de fichier .jsx

Page 26: Panorama des solutions mobile hybrides

2626

Vous connaissez React ?

• Le V de MVC

• Virtual Dom

• Compilation de fichier .jsx

Page 27: Panorama des solutions mobile hybrides

2727

• Native TabBarIOS component React Native

• Native MapView component

Page 28: Panorama des solutions mobile hybrides

2828

• Oui mais vous devrez apprendre une nouvelle implémentation de Flexbox et écrire vos styles en JavaScript !

• La customisation est limitée aux composants existants.

Peut-on customiser noscomposants ?

• « Keep in mind that there are probably many things that are either broken or not implemented yet. »

Page 29: Panorama des solutions mobile hybrides

2929

• Création du jeu 2048 sur React

• Portage de la version React Native, disponible dans les exemples GitHub.

Démo

Page 30: Panorama des solutions mobile hybrides

3030

Version IOS faite en react-native disponible sur l’Apple store.

Facebook groups

Page 31: Panorama des solutions mobile hybrides

3131

NativeScript Release v1.0 le 04 Mai 2015

Page 32: Panorama des solutions mobile hybrides

3232

Cette approche existe déjà depuis longtemps devenu

Page 33: Panorama des solutions mobile hybrides

33

AppCelerator

Reacting to React Native

Page 34: Panorama des solutions mobile hybrides

3434

Quel développeur êtes vous ?

?

Page 35: Panorama des solutions mobile hybrides

3535

Quel développeur êtes vous ?

?

Page 36: Panorama des solutions mobile hybrides

36

Ce que fait Cordova

Page 37: Panorama des solutions mobile hybrides

3737

L’hybride :Un « navigateur » dans un conteneur natif !

WebView* = composant natif pour afficher des pages web.

Page 39: Panorama des solutions mobile hybrides

3939

Famo.us

Page 40: Panorama des solutions mobile hybrides

4040

Famo.us

• Une documentation minimaliste…

• Ce n’est pas un framework, c’est un moteur de rendu.

Page 41: Panorama des solutions mobile hybrides

41

À tester sur des projets « évènementiels »Famo.us

« Famo.us is actively tested on the following devices: »

• Android phones: Nexus 4, Nexus 5, Nexus 6, Moto G• Android tablets: Nexus 7, Nexus 9• iOS phones: iPhone 4S, iPhone 5/5C, iPhone 5S, iPhone 6• iOS tablets: iPad 3/4, iPad Air, iPad Mini, iPad Mini Retina

Page 42: Panorama des solutions mobile hybrides

4242

Onsen UI

Page 43: Panorama des solutions mobile hybrides

4343

Des composants à regarder de près !

… mais une communauté moins importante que celle de ionic.

Onsen UI Le Twitter Bootstrap du mobile !

Page 44: Panorama des solutions mobile hybrides

4444

TouchstoneJS

Page 45: Panorama des solutions mobile hybrides

4545

• Une librairie de composants React pour mobile.

• Docs will be available soon…

TouchstoneJS

Page 46: Panorama des solutions mobile hybrides

4646

Ionic

Page 47: Panorama des solutions mobile hybrides

4747

• Après avoir levé $1 million à ses début la société lève $2.6 millions début 2015.

• Certaines offres d’emplois parlent d’Ionic.

• Documentation complète

• Une large communauté, des tutoriaux et beaucoup de ressources disponibles.

• Un écosystème complet, build, application de test, extensions etc.

• ng-cordova, ionic creator, View App…

• Fortement basé sur AngularJS

Ionic n’est pas seulement un framework, c’est un SDK.

Page 48: Panorama des solutions mobile hybrides

4848

Ionic View

ngCordova

Ionic CLILes outils Ionic

Ionic push

Ionic CreatorIonic lab

IoniconsIonic Box

Page 49: Panorama des solutions mobile hybrides

4949

Apache Cordova

Plateforme pour construire des applications natives en utilisant les technologies HTML, CSS et JavaScript.

L’écosystème

Gulp

Outil d’automatisation « task runner » il permet d’écrire des tâches récurrentes de développement en JavaScript.

AngularJs

Framework JavaScript pour programmer des applications Web SPA (Single Page Application)

Sass

Outil permettant d’étendre les fonctionnalités CSS par la compilation.

Page 50: Panorama des solutions mobile hybrides

5151

Beaucoup de composants

Page 51: Panorama des solutions mobile hybrides

5252

• TabBar

Beaucoup de composantsspécifiques au mobile

• Range

Page 52: Panorama des solutions mobile hybrides

53

Composants avancés

collection-repeat

Nécessaire pour optimiser l’affichage de longues listes.

Page 53: Panorama des solutions mobile hybrides

5454

Platform continuity

$ ionic serve --lab --livereload

Page 54: Panorama des solutions mobile hybrides

55

Composants avancés

• Infinite scroll

• Pull to Refresh

Page 55: Panorama des solutions mobile hybrides

5656

Customisable avec Sass

Page 56: Panorama des solutions mobile hybrides

57

Démo

Page 57: Panorama des solutions mobile hybrides

58

Ionic is not a good solution if you need to support older generation devices. Our compatibility starts at iOS 6 and Android 4.1. We will never support versions earlier than those. This is a framework for the future!

Page 58: Panorama des solutions mobile hybrides

5959

Historiquementles « WebViews » ne sont pas performantes !

HTML TEST

Page 59: Panorama des solutions mobile hybrides

6060

Mais ça s’améliore…

Intégration du moteur de Chrome pour la version 4.4.x !

L’hybride est sans aucun doute, une solution d’avenir !

Mise à jour automatique et indépendante de l’OS à partir de la version 5.0.x !!!

En voilà une bonne nouvelle

Page 60: Panorama des solutions mobile hybrides

61

Et aujourd’hui, des solutions ?

Page 61: Panorama des solutions mobile hybrides

6262

• Embarquez une WebView dans vos applications

• Blink + chromium

Crosswalk pour Android

Page 62: Panorama des solutions mobile hybrides

6363

• Ça change le poids de mon application ?Crosswalk pour

Android

Testons sur Galaxy SIII avec HTML5Test

• Avec Crosswalk : 494 // SunSpider : 1670,5ms

• Sans Crosswalk : 326 // SunSpider : 1732,7ms

Application installée = ~58Mb En téléchargement = ~20Mb

Page 63: Panorama des solutions mobile hybrides

6464

Même chose sur iOS ! Meilleur support HTML5 et performance correct.

HTML TEST

Page 64: Panorama des solutions mobile hybrides

6565

Et ça s’améliore aussi !HTML TEST

Page 65: Panorama des solutions mobile hybrides

66

HTML5 c’est bien mais peut on accéder auxAPI natives ?

Page 66: Panorama des solutions mobile hybrides

6767

PlugmanPossibilité de créer son plugin cordova

Développement spécifique natif pour chaque plateformeau sein d’un plugin appelé depuis JavaScript

Page 67: Panorama des solutions mobile hybrides

68

Java Android

Page 68: Panorama des solutions mobile hybrides

69

Objective-C

Page 69: Panorama des solutions mobile hybrides

70

JavaScript

Page 70: Panorama des solutions mobile hybrides

71

D’autres plugins ?

Beaucoup de plugins disponibles … avec un niveau de qualité très variable

http://plugins.cordova.io

Page 71: Panorama des solutions mobile hybrides

7272

ngCordova:63+ extensions intégrées à AngularJs

Avantages

• Facilement intégré avec Angular

• Une documentation unifié

• Des plugins testés et validés

Page 72: Panorama des solutions mobile hybrides

73

Une chose est sûre !Développeur web != développeur hybride != développeur natif

Page 73: Panorama des solutions mobile hybrides

74

‘’Things move really fast!’’

Page 74: Panorama des solutions mobile hybrides

7575

Les mêmes développeurs pour différents OS

• Mutualisation du code

• Gain de temps des développements

• Facilité de maintenance

La promesse de l’hybride

Marketing baseline

• Write once, run anywhere

• Learn once, write anywhere ( react-native )

• Write once, adapt everywhere (Ionic )

Page 75: Panorama des solutions mobile hybrides

76

Panorama dessolutions hybrides

Page 76: Panorama des solutions mobile hybrides

77

Page 77: Panorama des solutions mobile hybrides

78Gartner Hype Cycle

Visibilité

Temps

Estimation de l’institut Gartner pour l’année prochaine

50% des applications disponibles sur les stores seront hybrides

Page 78: Panorama des solutions mobile hybrides

79

Merc

i.

Page 79: Panorama des solutions mobile hybrides

8080

Mickael Dumand [email protected]

ekino. 157, rue Anatole France 92309 Levallois Perret +33 1 49 68 73 00 [email protected]

ekino