SlideShare une entreprise Scribd logo
1  sur  18
Alternative crédible pour vos applications mobiles ?
2
© 2019
Flutter : la Promesse
Fast development
Expressive and Flexible UI
Native Performance
3
© 2019
WHOAMI ?
Nicolas Hodicq
Mobile & Web developer / CTO
 Consultant Web & Mobile Cross-platform
 Développeur JavaScript / Java / Dart
 Industrialisation des développements
 Formateur
 17 projets mobiles et web
4
© 2019
Flutter ?
SDK mobile cross-platform Open Source
par Google pour créer des applications 2D
Android & Ios
Moderne react-style framework
Moteur de rendu haute performance
Bibliothèque de Widgets
Écrit majoritairement avec le langage Dart
5
© 2019
DART
Language open source créé par Google
(2010)
Destiné initialement à résoudre les
problèmes JavaScript (performance,
sécurité, projets grande échelle)
S’exécute dans une machine virtuelle (Dart
VM)
Compile en ARM et x86 code et transpile
en JavaScript
6
© 2019
DART
Orienté objet et fortement typé
Gestion de types génériques
Single thread / Isolate
Traitements asynchrones (Future)
Programmation réactive (Stream)
7
© 2019
POURQUOI Flutter utilise DART ?
Skia, Text et Dart VM implémentés en C/C++
Just In Time (JIT) / Ahead Of Time (AOT)
Fast allocation (short live objects)
Garbage collector (without lock)
Gestionnaire de dépendances
Permet l’écriture de Flutter en Dart (lisibilité
pour les développeurs)
8
© 2019
ARCHItecture FLUtter
9
© 2019
ARCHITECTURE REACT NATIVE
JavaScript
Bridge
OEM Widget Canvas
Location
Audio
Camera
Bluetooth
Sensors
…
PlatformApplication
Virtual Tree
10
© 2019
REACT NATIVE : Ndash
11
© 2019
ARCHITECTURE Flutter
Native code
Rendering
Canvas
Location
Audio
Camera
Bluetooth
Sensors
…
PlatformApplication
Virtual Tree
Platform
channels
12
© 2019
Flutter : History of everything
13
© 2019
Flutter : WEBVIEW
14
© 2019
Architecture applicative
 SetState
 FutureBuilder / StreamBuilder
 Vanilla / Inherited Widget
 Scoped model
 Pattern Flux / Redux
 Business Logic Component (BLoC)
15
© 2019
Expérience développeur 🤘
 IDE (Android Studio, IntelliJ, VS Code)
 Flutter-cli
 Live & Hot reloading
 Widgets tree inspector
 Tests unitaires, widgets et tests
d’intégration
 Performance profilling
 Formatting code (dartfm)
16
© 2019
Expérience utilisateur
 Composants bas niveaux
 Bibliothèques de composants (Material &
Cupertino)
 API Animation
 API Gesture
 Performance / 60 fps
17
© 2019
OPPORTUNITIES
O
STRENGTHS S WEAKNESSESW
THREATS
T
Flutter : SWOT
 Expérience utilisateur (animation, gesture)
 UX / UI (layout, custom, material, cupertino)
 Outils de développement
 Langage DART
 Hummingbird (Flutter web)
 Flutter Desktop
 Mutualisation de code métier avec
application web flutter et angular-dart
 SDK récent (maturité)
 Architecture, 4 approches
 Pas d’injection de dépendances
 Certaines fonctionnalités ne sont pas
réalisables
 ARM sur la platforme iOS (pas de bitcode)
 Composants natifs difficilement réutilisables
18
© 2019
Merci de votre attention
@nartawak
Photo by Jefferson Santos on Unsplash
Photo by Samuel Zeller on Unsplash
Animation by Stan Yakusevich on Dribble
Crédits Photo / Animation

Contenu connexe

Similaire à Flutter: Alternative crédible pour vos applications mobiles ?

1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy
1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy
1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - AlloyMeetup Mobile Montpellier
 
Introduction à web assembly
Introduction à web assemblyIntroduction à web assembly
Introduction à web assemblyJérémy Buget
 
Ch1. Développement mobile
Ch1. Développement mobileCh1. Développement mobile
Ch1. Développement mobileHaifa Chorfi
 
Gtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogyGtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogySacha Leprêtre
 
PhoneGap VS Appcelerator
PhoneGap VS AppceleratorPhoneGap VS Appcelerator
PhoneGap VS AppceleratorTiyab K.
 
Analyse et optimisation des performances des applications Windows Phone 7.5
Analyse et optimisation des performances des applications Windows Phone 7.5Analyse et optimisation des performances des applications Windows Phone 7.5
Analyse et optimisation des performances des applications Windows Phone 7.5Microsoft
 
Offre migrer vers_flutter
Offre migrer vers_flutterOffre migrer vers_flutter
Offre migrer vers_flutterJulien Saumande
 
Applications mobiles - quels choix ?
Applications mobiles  - quels choix ?Applications mobiles  - quels choix ?
Applications mobiles - quels choix ?odemarez
 
Choisir sa plateforme de développement mobile
Choisir sa plateforme de développement mobileChoisir sa plateforme de développement mobile
Choisir sa plateforme de développement mobileSQLI DIGITAL EXPERIENCE
 
Le développement mobile multiplateforme avec cordova
Le développement mobile multiplateforme avec cordovaLe développement mobile multiplateforme avec cordova
Le développement mobile multiplateforme avec cordovaSébastien Ollivier
 
Jug Lausanne Android Janvier2013
Jug Lausanne Android Janvier2013Jug Lausanne Android Janvier2013
Jug Lausanne Android Janvier2013jeromevdl
 
Programmation Android - 01 - Introduction
Programmation Android - 01 - IntroductionProgrammation Android - 01 - Introduction
Programmation Android - 01 - IntroductionYann Caron
 
In01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introductionIn01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introductionYann Caron
 
Framework XPlatform Mobile
Framework XPlatform MobileFramework XPlatform Mobile
Framework XPlatform MobileGabriel DUPONT
 
[Webinar Niji] Frameworks XPlateform mobile - 2210
[Webinar Niji] Frameworks XPlateform mobile - 2210 [Webinar Niji] Frameworks XPlateform mobile - 2210
[Webinar Niji] Frameworks XPlateform mobile - 2210 Niji
 
La Duck Conf - "Quelle place pour le no code/low code dans les entreprises ?"
La Duck Conf - "Quelle place pour le no code/low code dans les entreprises ?"La Duck Conf - "Quelle place pour le no code/low code dans les entreprises ?"
La Duck Conf - "Quelle place pour le no code/low code dans les entreprises ?"OCTO Technology
 

Similaire à Flutter: Alternative crédible pour vos applications mobiles ? (20)

1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy
1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy
1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy
 
Introduction à web assembly
Introduction à web assemblyIntroduction à web assembly
Introduction à web assembly
 
Ch1. Développement mobile
Ch1. Développement mobileCh1. Développement mobile
Ch1. Développement mobile
 
Gtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogyGtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogy
 
PhoneGap VS Appcelerator
PhoneGap VS AppceleratorPhoneGap VS Appcelerator
PhoneGap VS Appcelerator
 
Analyse et optimisation des performances des applications Windows Phone 7.5
Analyse et optimisation des performances des applications Windows Phone 7.5Analyse et optimisation des performances des applications Windows Phone 7.5
Analyse et optimisation des performances des applications Windows Phone 7.5
 
Offre migrer vers_flutter
Offre migrer vers_flutterOffre migrer vers_flutter
Offre migrer vers_flutter
 
Flutter Rennes - #1
Flutter Rennes - #1Flutter Rennes - #1
Flutter Rennes - #1
 
Applications mobiles - quels choix ?
Applications mobiles  - quels choix ?Applications mobiles  - quels choix ?
Applications mobiles - quels choix ?
 
Cv dridi-lotfi
Cv dridi-lotfiCv dridi-lotfi
Cv dridi-lotfi
 
Choisir sa plateforme de développement mobile
Choisir sa plateforme de développement mobileChoisir sa plateforme de développement mobile
Choisir sa plateforme de développement mobile
 
Le développement mobile multiplateforme avec cordova
Le développement mobile multiplateforme avec cordovaLe développement mobile multiplateforme avec cordova
Le développement mobile multiplateforme avec cordova
 
Programmation sous Android
Programmation sous AndroidProgrammation sous Android
Programmation sous Android
 
Jug Lausanne Android Janvier2013
Jug Lausanne Android Janvier2013Jug Lausanne Android Janvier2013
Jug Lausanne Android Janvier2013
 
Programmation Android - 01 - Introduction
Programmation Android - 01 - IntroductionProgrammation Android - 01 - Introduction
Programmation Android - 01 - Introduction
 
In01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introductionIn01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introduction
 
Framework XPlatform Mobile
Framework XPlatform MobileFramework XPlatform Mobile
Framework XPlatform Mobile
 
[Webinar Niji] Frameworks XPlateform mobile - 2210
[Webinar Niji] Frameworks XPlateform mobile - 2210 [Webinar Niji] Frameworks XPlateform mobile - 2210
[Webinar Niji] Frameworks XPlateform mobile - 2210
 
WygDay 2010
WygDay 2010WygDay 2010
WygDay 2010
 
La Duck Conf - "Quelle place pour le no code/low code dans les entreprises ?"
La Duck Conf - "Quelle place pour le no code/low code dans les entreprises ?"La Duck Conf - "Quelle place pour le no code/low code dans les entreprises ?"
La Duck Conf - "Quelle place pour le no code/low code dans les entreprises ?"
 

Flutter: Alternative crédible pour vos applications mobiles ?

  • 1. Alternative crédible pour vos applications mobiles ?
  • 2. 2 © 2019 Flutter : la Promesse Fast development Expressive and Flexible UI Native Performance
  • 3. 3 © 2019 WHOAMI ? Nicolas Hodicq Mobile & Web developer / CTO  Consultant Web & Mobile Cross-platform  Développeur JavaScript / Java / Dart  Industrialisation des développements  Formateur  17 projets mobiles et web
  • 4. 4 © 2019 Flutter ? SDK mobile cross-platform Open Source par Google pour créer des applications 2D Android & Ios Moderne react-style framework Moteur de rendu haute performance Bibliothèque de Widgets Écrit majoritairement avec le langage Dart
  • 5. 5 © 2019 DART Language open source créé par Google (2010) Destiné initialement à résoudre les problèmes JavaScript (performance, sécurité, projets grande échelle) S’exécute dans une machine virtuelle (Dart VM) Compile en ARM et x86 code et transpile en JavaScript
  • 6. 6 © 2019 DART Orienté objet et fortement typé Gestion de types génériques Single thread / Isolate Traitements asynchrones (Future) Programmation réactive (Stream)
  • 7. 7 © 2019 POURQUOI Flutter utilise DART ? Skia, Text et Dart VM implémentés en C/C++ Just In Time (JIT) / Ahead Of Time (AOT) Fast allocation (short live objects) Garbage collector (without lock) Gestionnaire de dépendances Permet l’écriture de Flutter en Dart (lisibilité pour les développeurs)
  • 9. 9 © 2019 ARCHITECTURE REACT NATIVE JavaScript Bridge OEM Widget Canvas Location Audio Camera Bluetooth Sensors … PlatformApplication Virtual Tree
  • 11. 11 © 2019 ARCHITECTURE Flutter Native code Rendering Canvas Location Audio Camera Bluetooth Sensors … PlatformApplication Virtual Tree Platform channels
  • 12. 12 © 2019 Flutter : History of everything
  • 14. 14 © 2019 Architecture applicative  SetState  FutureBuilder / StreamBuilder  Vanilla / Inherited Widget  Scoped model  Pattern Flux / Redux  Business Logic Component (BLoC)
  • 15. 15 © 2019 Expérience développeur 🤘  IDE (Android Studio, IntelliJ, VS Code)  Flutter-cli  Live & Hot reloading  Widgets tree inspector  Tests unitaires, widgets et tests d’intégration  Performance profilling  Formatting code (dartfm)
  • 16. 16 © 2019 Expérience utilisateur  Composants bas niveaux  Bibliothèques de composants (Material & Cupertino)  API Animation  API Gesture  Performance / 60 fps
  • 17. 17 © 2019 OPPORTUNITIES O STRENGTHS S WEAKNESSESW THREATS T Flutter : SWOT  Expérience utilisateur (animation, gesture)  UX / UI (layout, custom, material, cupertino)  Outils de développement  Langage DART  Hummingbird (Flutter web)  Flutter Desktop  Mutualisation de code métier avec application web flutter et angular-dart  SDK récent (maturité)  Architecture, 4 approches  Pas d’injection de dépendances  Certaines fonctionnalités ne sont pas réalisables  ARM sur la platforme iOS (pas de bitcode)  Composants natifs difficilement réutilisables
  • 18. 18 © 2019 Merci de votre attention @nartawak Photo by Jefferson Santos on Unsplash Photo by Samuel Zeller on Unsplash Animation by Stan Yakusevich on Dribble Crédits Photo / Animation