SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
Présentation Flutter
Appshare 07 mars 2019
C’est quoi ?
Un SDK
Projet open-source poussé par Google.
Une solution construite en C, C++ et Dart.
Architecture proche de celle de React.
Langage de programmation le Dart (sorti en 2011)
Depuis quand ?
Première version en 2015 (sous le nom de Sky)
première release 1.0 le 4 décembre 2018
version 1.2 sortie en février 2019 qui inclut le SDK Dart 2.2
Site web qui recense les librairies : https://pub.dartlang.org/flutter
A quoi ça sert ?
Créer une application native et cross plateforme (iOS, Android, “web”) à partir
d’un même code.
Qui est la cible ?
Les designers, les prototypeurs*, les développeurs … tout le monde au final.
Selon moi : pour un projet qui souhaite avoir exactement la même interface
partout
*je sais, ce mot n’existe pas
C’est un cousin ...
éloigné de PhoneGap et Cordova, seulement des applications hybrides.
proche de React Native et Xamarin. Dépendance forte de l’OS : utilisation d’un
langage interprété qui doit s’interfacer avec un OS, donc obligé d’avoir un pont
entre ces 2 couches (risque de perte de fps). C’est l’OS qui affiche le contenu. Sur
Android il est difficile de toujours savoir à quoi va ressembler l’application
Flutter se base sur une approche simple pour répondre à cette problématique,
avez-vous une idée ?
non ? un indice ...
… il dessine !
Flutter dessine sa propre interface (widget indépendant des OEM), donc il garantit
l’affichage au pixel prêt.
Gain en performance (fps)
Il permet d’avoir un look iOS ou Android, de faire même look iOS sur Android
(mauvaise idée, quoique …)
Rendu structurel
Pas d’utilisation de DSL* UI externes (langage dédié à l’UI)
*domain specific language
Les widgets
Inspiré de React -> un widget décrit à quoi la vue devrait ressembler étant donné
sa configuration et son état
Toute l’UI est composée de widgets
Quelques catalogues :
● Material
● Cupertino
{Les widgets}
import 'package:flutter/material.dart';
void main() {
runApp(
Center(
child: Text(
'Hello, world!',
textDirection: TextDirection.ltr,
),
),
);
}
Tooling : IDE
IntelliJ
Android Studio
Visual Studio Code
Tooling : CLI
$ flutter doctor
$ flutter upgrade
$ flutter packages get (or upgrade)
$ flutter format
$ flutter analyse
Tooling : Hot reload
JIT (Just-In-Time)
Mise à jour de l’application en temps réel sans recompiler (injection du nouveau
code dans la VM Dart à l'exécution)
C’est state full, c’est à dire que le contexte est conservé (Intéressant quand on
debug un écran profond)
Quoi de neuf dans la version 1.2 ?
Amélioration de la stabilité, des performances et de la qualité du framework de
base
Amélioration des “widgets” existants (Material et Cupertino)
Nouvel outil web pour les développeurs (inspecteur de widgets, vue
chronologique, …)
SDK Dart 2.2 (+ 15 à 20% sur les performances)
au fait Fushia c’est quoi ?
Fuchsia est le nom de code du nouveau système d’exploitation open-source
développé par Google.
L’interface utilisateur porte le nom Armadillo, il sera l’interface utilisateur par
défaut de Fuchsia. Cette interface a été développée avec le SDK Flutter.
Un peu de code …
Installation flutter
Lancer sur iOS et Android
Flutter inspector
Sortir une IPA
Merci
questions ?

Contenu connexe

Tendances

Tendances (20)

Introduction Dart
Introduction DartIntroduction Dart
Introduction Dart
 
Chp1 - Introduction au Développement Mobile
Chp1 - Introduction au Développement MobileChp1 - Introduction au Développement Mobile
Chp1 - Introduction au Développement Mobile
 
Introduction à Angular
Introduction à AngularIntroduction à Angular
Introduction à Angular
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
Angular Avancé
Angular AvancéAngular Avancé
Angular Avancé
 
Concevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring BootConcevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring Boot
 
Support cours angular
Support cours angularSupport cours angular
Support cours angular
 
Flutter workshop
Flutter workshopFlutter workshop
Flutter workshop
 
Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOps
 
Support developpement applications mobiles avec ionic v3 et v4
Support developpement applications mobiles avec ionic v3 et v4Support developpement applications mobiles avec ionic v3 et v4
Support developpement applications mobiles avec ionic v3 et v4
 
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
 
rapport de projet de fin d'étude_PFE
rapport de projet de fin d'étude_PFErapport de projet de fin d'étude_PFE
rapport de projet de fin d'étude_PFE
 
Flutter talkshow
Flutter talkshowFlutter talkshow
Flutter talkshow
 
cours Android.pptx
cours Android.pptxcours Android.pptx
cours Android.pptx
 
Flutter
FlutterFlutter
Flutter
 
Android-Tp3: fragments et menus
Android-Tp3: fragments et menusAndroid-Tp3: fragments et menus
Android-Tp3: fragments et menus
 
Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)
 
Midi technique - présentation docker
Midi technique - présentation dockerMidi technique - présentation docker
Midi technique - présentation docker
 
Docker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à DockerDocker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à Docker
 

Similaire à Présentation Flutter

01 programmation mobile - android - (introduction)
01 programmation mobile - android - (introduction)01 programmation mobile - android - (introduction)
01 programmation mobile - android - (introduction)
TECOS
 
Gui android eclipse
Gui android eclipseGui android eclipse
Gui android eclipse
ESPRIT
 

Similaire à Présentation Flutter (20)

Adama Coulibaly.pptx
Adama Coulibaly.pptxAdama Coulibaly.pptx
Adama Coulibaly.pptx
 
Hello droid
Hello droidHello droid
Hello droid
 
Android Studio, premier contact
Android Studio, premier contactAndroid Studio, premier contact
Android Studio, premier contact
 
Android Studio, premier contact
Android Studio, premier contactAndroid Studio, premier contact
Android Studio, premier contact
 
1-android.pdf
1-android.pdf1-android.pdf
1-android.pdf
 
Flutter: Alternative crédible pour vos applications mobiles ?
Flutter: Alternative crédible pour vos applications mobiles ?Flutter: Alternative crédible pour vos applications mobiles ?
Flutter: Alternative crédible pour vos applications mobiles ?
 
Guide d'Initiation a flutter - developement mobile
Guide d'Initiation a flutter - developement mobileGuide d'Initiation a flutter - developement mobile
Guide d'Initiation a flutter - developement mobile
 
Introduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdfIntroduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdf
 
Apache Cordova 3.3 de zéro
Apache Cordova 3.3 de zéroApache Cordova 3.3 de zéro
Apache Cordova 3.3 de zéro
 
Cours cordova & REST
Cours cordova & RESTCours cordova & REST
Cours cordova & REST
 
De iOS à bada présentation complète_octobre 2011
De iOS à bada présentation complète_octobre 2011De iOS à bada présentation complète_octobre 2011
De iOS à bada présentation complète_octobre 2011
 
Initiation au développement mobile sous Android
Initiation au développement mobile sous AndroidInitiation au développement mobile sous Android
Initiation au développement mobile sous Android
 
In01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introductionIn01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introduction
 
01 programmation mobile - android - (introduction)
01 programmation mobile - android - (introduction)01 programmation mobile - android - (introduction)
01 programmation mobile - android - (introduction)
 
Développer une application android en 2015
Développer une application android  en 2015Développer une application android  en 2015
Développer une application android en 2015
 
Native script
Native scriptNative script
Native script
 
Jug Lausanne Android Janvier2013
Jug Lausanne Android Janvier2013Jug Lausanne Android Janvier2013
Jug Lausanne Android Janvier2013
 
Conférence Titanium + Alloy au JUG Montpellier
Conférence Titanium + Alloy au JUG MontpellierConférence Titanium + Alloy au JUG Montpellier
Conférence Titanium + Alloy au JUG Montpellier
 
Intro Android
Intro AndroidIntro Android
Intro Android
 
Gui android eclipse
Gui android eclipseGui android eclipse
Gui android eclipse
 

Plus de Appstud

Plus de Appstud (20)

Appstalk techniques photos
Appstalk techniques photosAppstalk techniques photos
Appstalk techniques photos
 
Internet Of Things
Internet Of ThingsInternet Of Things
Internet Of Things
 
KaRma Sutra
KaRma SutraKaRma Sutra
KaRma Sutra
 
Applications of Artificial Intelligence
Applications of Artificial IntelligenceApplications of Artificial Intelligence
Applications of Artificial Intelligence
 
Quand les croyances impactent notre bonheur
Quand les croyances impactent notre bonheurQuand les croyances impactent notre bonheur
Quand les croyances impactent notre bonheur
 
La collapsologie : l’effondrement de la civilisation thermo-industrielle
La collapsologie : l’effondrement de la civilisation thermo-industrielleLa collapsologie : l’effondrement de la civilisation thermo-industrielle
La collapsologie : l’effondrement de la civilisation thermo-industrielle
 
Apple WorldWide Developers Conference 2019
Apple WorldWide Developers Conference 2019Apple WorldWide Developers Conference 2019
Apple WorldWide Developers Conference 2019
 
L'utilisation du digital par l'agent de Police Municipale
L'utilisation du digital par l'agent de Police MunicipaleL'utilisation du digital par l'agent de Police Municipale
L'utilisation du digital par l'agent de Police Municipale
 
Android makers
Android makersAndroid makers
Android makers
 
Notre cerveau entre rêve et réalité
Notre cerveau entre rêve et réalité Notre cerveau entre rêve et réalité
Notre cerveau entre rêve et réalité
 
Presentation gamification
Presentation gamificationPresentation gamification
Presentation gamification
 
Infographie appstud.png
Infographie appstud.pngInfographie appstud.png
Infographie appstud.png
 
Tests et KPI(s) - quoi, pourquoi, comment ?
Tests et KPI(s) - quoi, pourquoi, comment ?Tests et KPI(s) - quoi, pourquoi, comment ?
Tests et KPI(s) - quoi, pourquoi, comment ?
 
Go programming language
Go programming languageGo programming language
Go programming language
 
Idées VS échecs
Idées VS échecs Idées VS échecs
Idées VS échecs
 
Blockchain
BlockchainBlockchain
Blockchain
 
La programmation neuro-linguistique
La programmation neuro-linguistiqueLa programmation neuro-linguistique
La programmation neuro-linguistique
 
Le futur de l'acquisition sur mobile
Le futur de l'acquisition sur mobile Le futur de l'acquisition sur mobile
Le futur de l'acquisition sur mobile
 
Intelligence Artificielle - La technique et l'éthique
Intelligence Artificielle - La technique et l'éthique Intelligence Artificielle - La technique et l'éthique
Intelligence Artificielle - La technique et l'éthique
 
API Web Moderne avec GRPC
API Web Moderne avec GRPCAPI Web Moderne avec GRPC
API Web Moderne avec GRPC
 

Présentation Flutter

  • 2. C’est quoi ? Un SDK Projet open-source poussé par Google. Une solution construite en C, C++ et Dart. Architecture proche de celle de React. Langage de programmation le Dart (sorti en 2011)
  • 3. Depuis quand ? Première version en 2015 (sous le nom de Sky) première release 1.0 le 4 décembre 2018 version 1.2 sortie en février 2019 qui inclut le SDK Dart 2.2 Site web qui recense les librairies : https://pub.dartlang.org/flutter
  • 4. A quoi ça sert ? Créer une application native et cross plateforme (iOS, Android, “web”) à partir d’un même code.
  • 5. Qui est la cible ? Les designers, les prototypeurs*, les développeurs … tout le monde au final. Selon moi : pour un projet qui souhaite avoir exactement la même interface partout *je sais, ce mot n’existe pas
  • 6. C’est un cousin ... éloigné de PhoneGap et Cordova, seulement des applications hybrides. proche de React Native et Xamarin. Dépendance forte de l’OS : utilisation d’un langage interprété qui doit s’interfacer avec un OS, donc obligé d’avoir un pont entre ces 2 couches (risque de perte de fps). C’est l’OS qui affiche le contenu. Sur Android il est difficile de toujours savoir à quoi va ressembler l’application Flutter se base sur une approche simple pour répondre à cette problématique, avez-vous une idée ?
  • 7. non ? un indice ...
  • 8. … il dessine ! Flutter dessine sa propre interface (widget indépendant des OEM), donc il garantit l’affichage au pixel prêt. Gain en performance (fps) Il permet d’avoir un look iOS ou Android, de faire même look iOS sur Android (mauvaise idée, quoique …) Rendu structurel Pas d’utilisation de DSL* UI externes (langage dédié à l’UI) *domain specific language
  • 9. Les widgets Inspiré de React -> un widget décrit à quoi la vue devrait ressembler étant donné sa configuration et son état Toute l’UI est composée de widgets Quelques catalogues : ● Material ● Cupertino
  • 10. {Les widgets} import 'package:flutter/material.dart'; void main() { runApp( Center( child: Text( 'Hello, world!', textDirection: TextDirection.ltr, ), ), ); }
  • 11. Tooling : IDE IntelliJ Android Studio Visual Studio Code
  • 12. Tooling : CLI $ flutter doctor $ flutter upgrade $ flutter packages get (or upgrade) $ flutter format $ flutter analyse
  • 13. Tooling : Hot reload JIT (Just-In-Time) Mise à jour de l’application en temps réel sans recompiler (injection du nouveau code dans la VM Dart à l'exécution) C’est state full, c’est à dire que le contexte est conservé (Intéressant quand on debug un écran profond)
  • 14. Quoi de neuf dans la version 1.2 ? Amélioration de la stabilité, des performances et de la qualité du framework de base Amélioration des “widgets” existants (Material et Cupertino) Nouvel outil web pour les développeurs (inspecteur de widgets, vue chronologique, …) SDK Dart 2.2 (+ 15 à 20% sur les performances)
  • 15. au fait Fushia c’est quoi ? Fuchsia est le nom de code du nouveau système d’exploitation open-source développé par Google. L’interface utilisateur porte le nom Armadillo, il sera l’interface utilisateur par défaut de Fuchsia. Cette interface a été développée avec le SDK Flutter.
  • 16. Un peu de code … Installation flutter Lancer sur iOS et Android Flutter inspector Sortir une IPA