SlideShare uma empresa Scribd logo
1 de 10
Baixar para ler offline
INTRODUCTION A FLUTTER
FLUTTER C’EST QUOI ?
• Flutter est un nouveau Software Development Kit créé par Google,construit en C, C++ et
Dart,dont l’objectif est de nous proposer une nouvelle approche «cross-platform» de
développement mobile.En se basant uniquement sur le langage Dart,il permet de construire
des applications natives Android et iOS.
• Flutter se situe au même niveau que React, Native ou Xamarin,ce qui signifie qu’à partir du
code écrit en Dart va ensuite être généré du code Android et iOS.
POURQOUI FLUTTER ?
• Apple lance son SDK en 2008, Google en 2009,chacun basé sur son langage propre :
Objective-C et Java.
• L’application communique avec la plateforme pour créer des widgets ou accéder à
des services comme l’appareil photo. Le rendu des widgets est fait sur un Canvas et les
événements sont renvoyés aux widgets. C’est une architecture assez simple,cependant, il faut
créer des applications différentes pour chaque plateforme car les widgets et le langage
de développement sont différents chez iOS et Android.
POURQUOI FLUTTER ?
• Les premières plateformes multi-OS se sont basées sur le Javascript et les webviews.On
pourra citer différents frameworks: Titanium,PhoneGap, Cordova,Ionic…
• Avant de publier son SDK iOS,Apple encourageait les développeurs à développer des webapps
pour l’iPhone… l’utilisation des technologies web pour faire du cross-platform s’est donc
imposé comme une évidence.
POURQUOI FLUTTER ?
• Des plateformes réactives comme ReactJS ont été ensuite plébiscitées, car elles simplifient la
création des webviews. En 2015, la création de React Native a apporté ces technologies au
monde du mobile.
POURQUOI FLUTTER ?
• Flutter propose des vues dynamiques similaire à React Native. Ce framework choisit
cependant une approche différente pour réduire les problématiques de performance (dues au
pont).Ainsi, Flutter a choisi d’utiliser Dart,un langage compilé (contrairement au Javascript).
• Dart est compilé“en amont” en code natif pour les différentes plateformes cibles. Cela
permet à Flutter de communiquer avec la plateforme sans passer par un pont (“bridge”,
permettant de passer d’un contexte à l’autre). Le fait de compiler le code permet également
de réduire le temps de démarrage de l’application.
POURQUOI FLUTTER ?
• Flutter déplace les widgets et le rendu dans l’application. Cela permet aux widgets
d’être personnalisables et extensibles.Tout ce dont Flutter a besoin de la part de la
plateforme est le Canvas dans lequel afficher le rendu du widget afin qu’il apparaisse à l’écran,
qu’il puisse recevoir des événements (clics, gestes) et accéder aux services (GPS,appareil
photo etc).
• Il y a donc toujours une interface entre le programme en Dart (en vert) et le code de la
plateforme (en bleu, pour iOS et Android). Cette interface se charge de l’encodage et du
décodage des données… mais cette interface est incomparablement plus rapide que
le pont Javascript.
• Le fait de déplacer les widgets et le moteur de rendu dans l’application ne modifie pas son
poids.Le poids minimum d’une application Flutter sur Android est d’environ 6.7MB,ce
qui est comparable au poids d’applications construites avec des outils similaires.
POINTS FORT DE FLUTTER
• haute vitesse de développement avec des fonctionnalités comme le « hot reload »,un
framework reactif, des widgets pré-existants et des outils intégrés aux environnements de
développement
• designs de qualité, personnalisables,reposant sur des widgets, une bibliothèque
d’animations,une architecture en couches extensible
• expérience de haute qualité sur les différentes plateformes grâce à un coeur à haute
performance et une prise en compte de l’interopérabilité des plateformes
HOT RELOAD
• Flutter implémente un système d’hot reload (rafraichissement à chaud) qui permet un
rechargement de l’ordre de la seconde sur le mobile ou l’émulateur. Le hot reload est stateful,
ce qui signifie que l’état de l’application est conservé après chaque rechargement.
• Le hot reload fonctionne en injectant le code mis à jour dans la machine virtuelle en cours
d’exécution. Cela inclut non seulement l’ajout de nouvelles classes mais aussi l’ajout de
méthodes et de champs aux classes existantes
• Il y a en revanche des changements de code qui ne sont pas pris en compte dans le hot reload
– l’initialisation de variables globales
– l’initialisation de champs statiques
– la modification de la méthode main
HELLO WORLD
• DEMOAPPS AVEC FLUTTER

Mais conteúdo relacionado

Mais procurados

Conception et réalisation d’une application web (1).pptx
Conception et réalisation d’une application web (1).pptxConception et réalisation d’une application web (1).pptx
Conception et réalisation d’une application web (1).pptx
SouadZid
 

Mais procurados (20)

Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Flutter Rennes - #1
Flutter Rennes - #1Flutter Rennes - #1
Flutter Rennes - #1
 
Présentation Ionic Framework
Présentation Ionic FrameworkPrésentation Ionic Framework
Présentation Ionic Framework
 
1601896849 rapport fluttercopie
1601896849 rapport fluttercopie1601896849 rapport fluttercopie
1601896849 rapport fluttercopie
 
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...
 
Midi technique - présentation docker
Midi technique - présentation dockerMidi technique - présentation docker
Midi technique - présentation docker
 
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 Bootcamp
Flutter BootcampFlutter Bootcamp
Flutter Bootcamp
 
Présentation Docker
Présentation DockerPrésentation Docker
Présentation Docker
 
Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOps
 
Support cours angular
Support cours angularSupport cours angular
Support cours angular
 
Conception et implémentation d'un nouveau langage de programmation
Conception et implémentation d'un nouveau langage de programmationConception et implémentation d'un nouveau langage de programmation
Conception et implémentation d'un nouveau langage de programmation
 
Flutter workshop
Flutter workshopFlutter workshop
Flutter workshop
 
Introduction to the Dart language
Introduction to the Dart languageIntroduction to the Dart language
Introduction to the Dart language
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 
Flutter
FlutterFlutter
Flutter
 
Développement Android
Développement AndroidDéveloppement Android
Développement Android
 
Introduction Dart
Introduction DartIntroduction Dart
Introduction Dart
 
Conception et réalisation d’une application web (1).pptx
Conception et réalisation d’une application web (1).pptxConception et réalisation d’une application web (1).pptx
Conception et réalisation d’une application web (1).pptx
 

Semelhante a Introduction a Flutter

Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
ENSIBS
 
Gtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogyGtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogy
Sacha Leprêtre
 

Semelhante a Introduction a Flutter (20)

Adama Coulibaly.pptx
Adama Coulibaly.pptxAdama Coulibaly.pptx
Adama Coulibaly.pptx
 
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
 
Offre migrer vers_flutter
Offre migrer vers_flutterOffre migrer vers_flutter
Offre migrer vers_flutter
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
 
Native script
Native scriptNative script
Native script
 
Gtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogyGtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogy
 
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
 
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 ?
 
Conteneuriser une application .NET 8 en utilisant Docker et Azure.pdf
Conteneuriser une application .NET 8 en utilisant Docker et Azure.pdfConteneuriser une application .NET 8 en utilisant Docker et Azure.pdf
Conteneuriser une application .NET 8 en utilisant Docker et Azure.pdf
 
Cours cordova & REST
Cours cordova & RESTCours cordova & REST
Cours cordova & REST
 
Introduction générale au Framework Flutter
Introduction générale au Framework FlutterIntroduction générale au Framework Flutter
Introduction générale au Framework Flutter
 
Introduction à web assembly
Introduction à web assemblyIntroduction à web assembly
Introduction à web assembly
 
Comment creer de Applicartions Desktop avec Javascript - Bejamin Kinyamba.pdf
Comment creer de Applicartions Desktop avec Javascript - Bejamin Kinyamba.pdfComment creer de Applicartions Desktop avec Javascript - Bejamin Kinyamba.pdf
Comment creer de Applicartions Desktop avec Javascript - Bejamin Kinyamba.pdf
 
Architecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinArchitecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et Xamarin
 
Webinar - Comment intégrer des contenus riches et attractifs dans vos Apps
Webinar - Comment intégrer des contenus riches et attractifs dans vos AppsWebinar - Comment intégrer des contenus riches et attractifs dans vos Apps
Webinar - Comment intégrer des contenus riches et attractifs dans vos Apps
 
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
 
Keynote .NET 2015 : une nouvelle ère
Keynote .NET 2015 : une nouvelle èreKeynote .NET 2015 : une nouvelle ère
Keynote .NET 2015 : une nouvelle ère
 
Newlook Suite - for IBM partners - FR
Newlook Suite - for IBM partners - FRNewlook Suite - for IBM partners - FR
Newlook Suite - for IBM partners - FR
 
Windows Phone 8 for Business - Developer Talks
Windows Phone 8 for Business - Developer TalksWindows Phone 8 for Business - Developer Talks
Windows Phone 8 for Business - Developer Talks
 
.NET DotNet CF - 1
.NET DotNet CF - 1.NET DotNet CF - 1
.NET DotNet CF - 1
 

Introduction a Flutter

  • 2. FLUTTER C’EST QUOI ? • Flutter est un nouveau Software Development Kit créé par Google,construit en C, C++ et Dart,dont l’objectif est de nous proposer une nouvelle approche «cross-platform» de développement mobile.En se basant uniquement sur le langage Dart,il permet de construire des applications natives Android et iOS. • Flutter se situe au même niveau que React, Native ou Xamarin,ce qui signifie qu’à partir du code écrit en Dart va ensuite être généré du code Android et iOS.
  • 3. POURQOUI FLUTTER ? • Apple lance son SDK en 2008, Google en 2009,chacun basé sur son langage propre : Objective-C et Java. • L’application communique avec la plateforme pour créer des widgets ou accéder à des services comme l’appareil photo. Le rendu des widgets est fait sur un Canvas et les événements sont renvoyés aux widgets. C’est une architecture assez simple,cependant, il faut créer des applications différentes pour chaque plateforme car les widgets et le langage de développement sont différents chez iOS et Android.
  • 4. POURQUOI FLUTTER ? • Les premières plateformes multi-OS se sont basées sur le Javascript et les webviews.On pourra citer différents frameworks: Titanium,PhoneGap, Cordova,Ionic… • Avant de publier son SDK iOS,Apple encourageait les développeurs à développer des webapps pour l’iPhone… l’utilisation des technologies web pour faire du cross-platform s’est donc imposé comme une évidence.
  • 5. POURQUOI FLUTTER ? • Des plateformes réactives comme ReactJS ont été ensuite plébiscitées, car elles simplifient la création des webviews. En 2015, la création de React Native a apporté ces technologies au monde du mobile.
  • 6. POURQUOI FLUTTER ? • Flutter propose des vues dynamiques similaire à React Native. Ce framework choisit cependant une approche différente pour réduire les problématiques de performance (dues au pont).Ainsi, Flutter a choisi d’utiliser Dart,un langage compilé (contrairement au Javascript). • Dart est compilé“en amont” en code natif pour les différentes plateformes cibles. Cela permet à Flutter de communiquer avec la plateforme sans passer par un pont (“bridge”, permettant de passer d’un contexte à l’autre). Le fait de compiler le code permet également de réduire le temps de démarrage de l’application.
  • 7. POURQUOI FLUTTER ? • Flutter déplace les widgets et le rendu dans l’application. Cela permet aux widgets d’être personnalisables et extensibles.Tout ce dont Flutter a besoin de la part de la plateforme est le Canvas dans lequel afficher le rendu du widget afin qu’il apparaisse à l’écran, qu’il puisse recevoir des événements (clics, gestes) et accéder aux services (GPS,appareil photo etc). • Il y a donc toujours une interface entre le programme en Dart (en vert) et le code de la plateforme (en bleu, pour iOS et Android). Cette interface se charge de l’encodage et du décodage des données… mais cette interface est incomparablement plus rapide que le pont Javascript. • Le fait de déplacer les widgets et le moteur de rendu dans l’application ne modifie pas son poids.Le poids minimum d’une application Flutter sur Android est d’environ 6.7MB,ce qui est comparable au poids d’applications construites avec des outils similaires.
  • 8. POINTS FORT DE FLUTTER • haute vitesse de développement avec des fonctionnalités comme le « hot reload »,un framework reactif, des widgets pré-existants et des outils intégrés aux environnements de développement • designs de qualité, personnalisables,reposant sur des widgets, une bibliothèque d’animations,une architecture en couches extensible • expérience de haute qualité sur les différentes plateformes grâce à un coeur à haute performance et une prise en compte de l’interopérabilité des plateformes
  • 9. HOT RELOAD • Flutter implémente un système d’hot reload (rafraichissement à chaud) qui permet un rechargement de l’ordre de la seconde sur le mobile ou l’émulateur. Le hot reload est stateful, ce qui signifie que l’état de l’application est conservé après chaque rechargement. • Le hot reload fonctionne en injectant le code mis à jour dans la machine virtuelle en cours d’exécution. Cela inclut non seulement l’ajout de nouvelles classes mais aussi l’ajout de méthodes et de champs aux classes existantes • Il y a en revanche des changements de code qui ne sont pas pris en compte dans le hot reload – l’initialisation de variables globales – l’initialisation de champs statiques – la modification de la méthode main
  • 10. HELLO WORLD • DEMOAPPS AVEC FLUTTER