Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Les nouveautés Flutter

Les nouveautés Flutter

Depuis le dernier meetup du Flutter Paris en juin 2018, cette présentation retrace les principales nouveautés qui sont intervenues dans le monde de Flutter.

Speaker : Edouard Marquez - Freelance Android & Flutter

Contenu :
- Les nouveautés Dart
- Les nouveautés Flutter
- Les nouveautés de la communauté

081b06f3d680a58d45bf672c0dfa0a6a?s=128

Edouard Marquez

September 19, 2018
Tweet

Transcript

  1. Les nouveautés Flutter

  2. Edouard Marquez Freelance développeur Android & Flutter 2 @g123k edouard@marquez.cool

    @FlutterDev Qui suis-je ?
  3. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup De quoi allons-nous parler ce soir ? FLUTTER Nouvelles versions, nouvelles fonctionnalités… COMMUNAUTE Plein de nouveautés ! DART Dart 2.0 et Dart 2.1
  4. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Mais avant de commencer… Android Web iOS ReactNative Xamarin Autres Aucun Sondage réalisé auprès de 1016 personnes en juillet 2018 - 831 réponses 67% 45% 30% 24% 15% 8% 8% Parmi les plateformes mobiles suivantes, avec lesquelles avez-vous une expérience professionnelle ?
  5. Dart 2.1 Dart 2.0 en version finale Les nouveautés du

    langage Dart 5
  6. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Dart Flutter Communauté Dart : du pire… 6
  7. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Dart Flutter Communauté Dart : du pire… 6
  8. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Dart Flutter Communauté Dart : du pire… au meilleur 7
  9. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Dart Flutter Communauté Version stable pour Dart 2.0 8 "Sound" type-system new optionnel const optionnel * AngularDart 5
  10. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Dart Flutter Communauté Et déjà une version 2.1 ! 9 Nouvelle syntaxe et harmonisation entre les "plateformes" Evolution des mixins Peu de changements notables Version "mineure"
  11. Nouveaux widgets Nouvelles versions Les nouveautés Flutter 10 Les problèmes

    bloquants
  12. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Nouvelles versions de Flutter 11 7 0.7.3 28 août 6 0.6.0 16 Août 8 0.8.2 7 Septembre Nouvelles bêtas Passage à Dart 2.1 Améliorations 
 et ajouts de 
 Widgets Cupertino
  13. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Nouveaux Widgets 12 CupertinoApp CupertinoTimerPicker CupertinoActionSheet CupertinoSegmentedControl
  14. Import des ressources 13

  15. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Possibilité d'importer un dossier d'assets 14 name: helloworld description: A new Flutter project. dependencies: flutter: sdk: flutter flutter: uses-material-design: true assets: - images/pic1.jpg - images/pic2.jpg - images/pic3.jpg Pubspec.yaml Le fichier pubspec est en quelque sorte la carte d'identité de l'application. On y indique le nom et la description du projet, tout comme les ressources ( assets ) qui pourront être utilisées.
  16. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Possibilité d'importer un dossier d'assets 14 name: helloworld description: A new Flutter project. dependencies: flutter: sdk: flutter flutter: uses-material-design: true assets: - images/pic1.jpg - images/pic2.jpg - images/pic3.jpg Pubspec.yaml Le fichier pubspec est en quelque sorte la carte d'identité de l'application. On y indique le nom et la description du projet, tout comme les ressources ( assets ) qui pourront être utilisées. assets: - images/
  17. Les problèmes de Flutter 15

  18. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart De retour en avril dernier… 16 Intégration WebView Maps Routing Taille Faciliter l'intégration de Flutter dans une application existante Enrichir/améliorer les APIs pour la navigation Intégrer des WebView dans l'arbre des widgets Intégrer une carte comme widget Réduire la taille du moteur
  19. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart De retour en avril dernier… 16 Intégration WebView Maps Routing Taille Faciliter l'intégration de Flutter dans une application existante Enrichir/améliorer les APIs pour la navigation Intégrer des WebView dans l'arbre des widgets Intégrer une carte comme widget Réduire la taille du moteur Intégration Faciliter l'intégration de Flutter dans une application existante
  20. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart De retour en avril dernier… 16 Intégration WebView Maps Routing Taille Faciliter l'intégration de Flutter dans une application existante Enrichir/améliorer les APIs pour la navigation Intégrer des WebView dans l'arbre des widgets Intégrer une carte comme widget Réduire la taille du moteur WebView Intégrer des WebView dans l'arbre des widgets Maps Intégrer une carte comme widget Intégration Faciliter l'intégration de Flutter dans une application existante
  21. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart De retour en avril dernier… 16 Intégration WebView Maps Routing Taille Faciliter l'intégration de Flutter dans une application existante Enrichir/améliorer les APIs pour la navigation Intégrer des WebView dans l'arbre des widgets Intégrer une carte comme widget Réduire la taille du moteur WebView Intégrer des WebView dans l'arbre des widgets Taille Réduire la taille du moteur Maps Intégrer une carte comme widget Intégration Faciliter l'intégration de Flutter dans une application existante
  22. 17 Taille des applications

  23. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Poids en nette baisse pour les applications Flutter 18 Android (Java) Android (Kotlin) ReactNative Flutter 2018 AVRIL
  24. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Poids en nette baisse pour les applications Flutter 18 Android (Java) Android (Kotlin) ReactNative Flutter 539 ko 550 ko 7,5 Mo 7 Mo 2018 AVRIL
  25. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Poids en nette baisse pour les applications Flutter 19 Android (Java) Android (Kotlin) ReactNative Flutter 2018 SEPT 539 ko 550 ko 7 Mo
  26. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Poids en nette baisse pour les applications Flutter 19 Android (Java) Android (Kotlin) ReactNative Flutter 5,3 Mo 2018 SEPT 539 ko 550 ko 7 Mo
  27. 20 PlatformView

  28. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Le concept des PlatformView 21 Nouvelle syntaxe et harmonisation entre les "plateformes" Evolution des mixins Peu de changements notables Version "mineure"
  29. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Comment intégrer une PlatformView côté Flutter ? 22 @override Widget build(BuildContext context) { if (defaultTargetPlatform == TargetPlatform.android) { return AndroidView( viewType: 'MapView', onPlatformViewCreated: _onPlatformViewCreated); } return Text('Unavailable'); } void _onPlatformViewCreated(int id) {} DART
  30. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Comment intégrer une PlatformView côté Flutter ? 22 DART @override Widget build(BuildContext context) { if (defaultTargetPlatform == TargetPlatform.android) { return AndroidView( viewType: 'MapView', onPlatformViewCreated: _onPlatformViewCreated); } return Text('Unavailable'); } void _onPlatformViewCreated(int id) {}
  31. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Comment intégrer une PlatformView côté Flutter ? 22 DART @override Widget build(BuildContext context) { if (defaultTargetPlatform == TargetPlatform.android) { return AndroidView( viewType: 'MapView', onPlatformViewCreated: _onPlatformViewCreated); } return Text('Unavailable'); } void _onPlatformViewCreated(int id) {}
  32. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Comment intégrer une PlatformView côté Android ? (1/3) 23 public class TextViewPlugin { public static void registerWith(Registrar registrar) { registrar .platformViewRegistry() .registerViewFactory("MapView", new MapViewFactory(registrar.messenger()) ); } } JAVA
  33. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Comment intégrer une PlatformView côté Android ? (1/3) 23 JAVA public class TextViewPlugin { public static void registerWith(Registrar registrar) { registrar .platformViewRegistry() .registerViewFactory("MapView", new MapViewFactory(registrar.messenger()) ); } }
  34. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Comment intégrer une PlatformView côté Android ? (1/3) 23 JAVA public class TextViewPlugin { public static void registerWith(Registrar registrar) { registrar .platformViewRegistry() .registerViewFactory("MapView", new MapViewFactory(registrar.messenger()) ); } }
  35. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Comment intégrer une PlatformView côté Android ? (2/3) 24 public class MapViewFactory extends PlatformViewFactory { private final BinaryMessenger messenger; public MapViewFactory(BinaryMessenger messenger) { super(StandardMessageCodec.INSTANCE); this.messenger = messenger; } @Override public PlatformView create(Context context, int id, Object o) { return new FlutterMapView(context, messenger, id); } } JAVA
  36. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Comment intégrer une PlatformView côté Android ? (2/3) 24 JAVA public class MapViewFactory extends PlatformViewFactory { private final BinaryMessenger messenger; public MapViewFactory(BinaryMessenger messenger) { super(StandardMessageCodec.INSTANCE); this.messenger = messenger; } @Override public PlatformView create(Context context, int id, Object o) { return new FlutterMapView(context, messenger, id); } }
  37. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Comment intégrer une PlatformView côté Android ? (2/3) 24 JAVA public class MapViewFactory extends PlatformViewFactory { private final BinaryMessenger messenger; public MapViewFactory(BinaryMessenger messenger) { super(StandardMessageCodec.INSTANCE); this.messenger = messenger; } @Override public PlatformView create(Context context, int id, Object o) { return new FlutterMapView(context, messenger, id); } }
  38. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Comment intégrer une PlatformView côté Android ? (3/3) 25 public class FlutterMapView implements PlatformView { private final MapView mapView; FlutterMapView(Context context, BinaryMessenger messenger, int id) { this.mapView = new MapView(context); } @Override public View getView() { return mapView; } @Override public void dispose() {} } JAVA
  39. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Comment intégrer une PlatformView côté Android ? (3/3) 25 JAVA public class FlutterMapView implements PlatformView { private final MapView mapView; FlutterMapView(Context context, BinaryMessenger messenger, int id) { this.mapView = new MapView(context); } @Override public View getView() { return mapView; } @Override public void dispose() {} }
  40. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Comment intégrer une PlatformView côté Android ? (3/3) 25 JAVA public class FlutterMapView implements PlatformView { private final MapView mapView; FlutterMapView(Context context, BinaryMessenger messenger, int id) { this.mapView = new MapView(context); } @Override public View getView() { return mapView; } @Override public void dispose() {} }
  41. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Comment intégrer une PlatformView côté Android ? (3/3) 25 JAVA public class FlutterMapView implements PlatformView { private final MapView mapView; FlutterMapView(Context context, BinaryMessenger messenger, int id) { this.mapView = new MapView(context); } @Override public View getView() { return mapView; } @Override public void dispose() {} }
  42. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Et voici le résultat ! 26
  43. 27 Comment faire communiquer Flutter & Android ?

  44. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Comment faire communiquer une PlatformView entre Android et Flutter ? (1/6) 28 public class TextViewPlugin { public static void registerWith(Registrar registrar) { registrar .platformViewRegistry() .registerViewFactory("MapView", new MapViewFactory(registrar.messenger()) ); } } JAVA
  45. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Comment faire communiquer une PlatformView entre Android et Flutter ? (2/6) 29 public class MapViewFactory extends PlatformViewFactory { private final BinaryMessenger messenger; public MapViewFactory(BinaryMessenger messenger) { super(StandardMessageCodec.INSTANCE); this.messenger = messenger; } @Override public PlatformView create(Context context, int id, Object o) { return new FlutterMapView(context, messenger, id); } } JAVA
  46. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Comment faire communiquer une PlatformView entre Android et Flutter ? (2/6) 29 JAVA public class MapViewFactory extends PlatformViewFactory { private final BinaryMessenger messenger; public MapViewFactory(BinaryMessenger messenger) { super(StandardMessageCodec.INSTANCE); this.messenger = messenger; } @Override public PlatformView create(Context context, int id, Object o) { return new FlutterMapView(context, messenger, id); } }
  47. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Comment faire communiquer une PlatformView entre Android et Flutter ? (2/6) 29 JAVA public class MapViewFactory extends PlatformViewFactory { private final BinaryMessenger messenger; public MapViewFactory(BinaryMessenger messenger) { super(StandardMessageCodec.INSTANCE); this.messenger = messenger; } @Override public PlatformView create(Context context, int id, Object o) { return new FlutterMapView(context, messenger, id); } }
  48. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Comment faire communiquer une PlatformView entre Android et Flutter ? (3/6) 30 public class FlutterMapView implements PlatformView { private final MethodChannel methodChannel; FlutterMapView(Context context, BinaryMessenger messenger, 
 int id) { this.mapView = new MapView(context); this.methodChannel = new MethodChannel( messenger, "fr.g123k/mapview_" + id); this.methodChannel.setMethodCallHandler(this); } JAVA
  49. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Comment faire communiquer une PlatformView entre Android et Flutter ? (3/6) 30 JAVA public class FlutterMapView implements PlatformView { private final MethodChannel methodChannel; FlutterMapView(Context context, BinaryMessenger messenger, 
 int id) { this.mapView = new MapView(context); this.methodChannel = new MethodChannel( messenger, "fr.g123k/mapview_" + id); this.methodChannel.setMethodCallHandler(this); }
  50. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Comment faire communiquer une PlatformView entre Android et Flutter ? (3/6) 30 JAVA public class FlutterMapView implements PlatformView { private final MethodChannel methodChannel; FlutterMapView(Context context, BinaryMessenger messenger, 
 int id) { this.mapView = new MapView(context); this.methodChannel = new MethodChannel( messenger, "fr.g123k/mapview_" + id); this.methodChannel.setMethodCallHandler(this); }
  51. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Comment faire communiquer une PlatformView entre Android et Flutter ? (3/6) 30 JAVA public class FlutterMapView implements PlatformView { private final MethodChannel methodChannel; FlutterMapView(Context context, BinaryMessenger messenger, 
 int id) { this.mapView = new MapView(context); this.methodChannel = new MethodChannel( messenger, "fr.g123k/mapview_" + id); this.methodChannel.setMethodCallHandler(this); }
  52. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Comment faire communiquer une PlatformView entre Android et Flutter ? (4/6) 31 public class FlutterMapView implements PlatformView, MethodCallHandler { @Override public void onMethodCall(MethodCall methodCall, MethodChannel.Result result) { switch (methodCall.method) { case "addMarker": addMarker(methodCall, result); break; default: result.notImplemented(); } } JAVA
  53. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Comment faire communiquer une PlatformView entre Android et Flutter ? (4/6) 31 JAVA public class FlutterMapView implements PlatformView, MethodCallHandler { @Override public void onMethodCall(MethodCall methodCall, MethodChannel.Result result) { switch (methodCall.method) { case "addMarker": addMarker(methodCall, result); break; default: result.notImplemented(); } }
  54. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Comment faire communiquer une PlatformView entre Android et Flutter ? (4/6) 31 JAVA public class FlutterMapView implements PlatformView, MethodCallHandler { @Override public void onMethodCall(MethodCall methodCall, MethodChannel.Result result) { switch (methodCall.method) { case "addMarker": addMarker(methodCall, result); break; default: result.notImplemented(); } }
  55. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Comment faire communiquer une PlatformView entre Android et Flutter ? (4/6) 32 @override Widget build(BuildContext context) { if (defaultTargetPlatform == TargetPlatform.android) { return AndroidView( viewType: 'MapView', onPlatformViewCreated: _onPlatformViewCreated); } return Text('Unavailable'); } void _onPlatformViewCreated(int id) {} DART
  56. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Comment faire communiquer une PlatformView entre Android et Flutter ? (5/6) 33 class MapViewController { final MethodChannel _channel; MapViewController(int id) : _channel = new MethodChannel('fr.g123k/mapview_$id'); Future<void> addMarker({double lat, double lng}) async { assert(lat != null); assert(lng != null); return _channel.invokeMethod('addMarker', {'latitude':lat, 'longitude': lng} ); } } DART
  57. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Comment faire communiquer une PlatformView entre Android et Flutter ? (5/6) 33 DART class MapViewController { final MethodChannel _channel; MapViewController(int id) : _channel = new MethodChannel('fr.g123k/mapview_$id'); Future<void> addMarker({double lat, double lng}) async { assert(lat != null); assert(lng != null); return _channel.invokeMethod('addMarker', {'latitude':lat, 'longitude': lng} ); } }
  58. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Comment faire communiquer une PlatformView entre Android et Flutter ? (5/6) 33 DART class MapViewController { final MethodChannel _channel; MapViewController(int id) : _channel = new MethodChannel('fr.g123k/mapview_$id'); Future<void> addMarker({double lat, double lng}) async { assert(lat != null); assert(lng != null); return _channel.invokeMethod('addMarker', {'latitude':lat, 'longitude': lng} ); } }
  59. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Comment faire communiquer une PlatformView entre Android et Flutter ? (5/6) 33 DART class MapViewController { final MethodChannel _channel; MapViewController(int id) : _channel = new MethodChannel('fr.g123k/mapview_$id'); Future<void> addMarker({double lat, double lng}) async { assert(lat != null); assert(lng != null); return _channel.invokeMethod('addMarker', {'latitude': lat, 'longitude': lng} ); } }
  60. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Comment faire communiquer une PlatformView entre Android et Flutter ? (6/6) 34 @override Widget build(BuildContext context) { … } void _onPlatformViewCreated(int id) { MapViewController(id).addMarker( lat: 48.866667, lng: 2.333333 ); } DART
  61. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Et voici le résultat ! 35
  62. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Les défauts de cette solution 36 Performances
  63. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Les défauts de cette solution 36 Performances API Level 20+ 
 (> 87%)
  64. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Les défauts de cette solution 36 Performances API Level 20+ 
 (> 87%) Widgets dépendants de la plateforme
  65. 37 Intégration dans un projet existant

  66. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Rappel sur le mode de fonctionnement de Flutter 38 FlutterView Dans une Activité Android FlutterViewController Dans un AppDelegate iOS Dart runApp() Flutter
  67. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Arborescence d'un projet Flutter 39 Projet Flutter android ios lib
  68. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Arborescence d'un projet Flutter 39 Projet Flutter android ios lib
  69. 40 Comment faire si l'on possède déjà une application Android

    / iOS ?
  70. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Deux choix côté Android 41 Intégrer une vue native dans l'arbre des Widgets Flutter Vue native Permet d'intégrer une MapView ou une WebView et ainsi de corriger une limitation de Flutter Réponse aux problématiques Seule l'implémentation côté Android est disponible, par l'intermédiaire du widget AndroidView Aujourd'hui
  71. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Module Flutter 42 Créer une application Flutter classique flutter create myapp Créer un module Flutter flutter create -t module myapp https://github.com/flutter/flutter/wiki/ Add-Flutter-to-existing-apps
  72. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Créer une vue Flutter sur Android 43 // Initialisation en amont (recommandé) Flutter.startInitialization(context); // Vue View view = Flutter.createView( context, getLifecycle(), "route1" ); layout.addView(view); // Fragment Flutter.createFragment("route1"); JAVA
  73. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Sur iOS, forcément sur un nouvel écran 44 // Au clic sur un bouton - (void)handleButtonAction { FlutterViewController* flutterViewController = [[FlutterViewController alloc] init]; [self presentViewController:flutterViewController animated:false completion:nil]; } // Indiquer de lancer une route [viewController setInitialRoute:@"route1"]; OBJ-C
  74. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Lancer un écran particulier en Flutter 45 void main() => runApp(_widgetForRoute(window.defaultRouteName)); Widget _widgetForRoute(String route) { switch (route) { case 'route1': return SomeWidget(...); case 'route2': return SomeOtherWidget(...); default: return Center(child: Text('Unknown route: $route'); } } DART
  75. Les nouveautés de la "communauté" 46 Flutter pour 
 Mac

    & Windows Site regroupant les applications Flutter Nouveaux outils
  76. Applications Flutter 47

  77. Un site regroupant les applications Flutter itsallwidgets.com 48 @itsallwidgets

  78. Autres plateformes 49

  79. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Vos applications Flutter sur PC 50
  80. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Vos applications Flutter sur PC 50
  81. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Vos applications Flutter sur PC 50
  82. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Google fournit déjà en opensource une compatibilité Windows / MacOS / Linux 51 google/ flutter-desktop- embedding
  83. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Et une autre faite en Go 52 Drakirus/ go-flutter-
 desktop-embedder
  84. Dépendances 53

  85. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart De nouveaux packages 54 https://pub.dartlang.org/flutter
  86. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart De nouveaux packages 54 https://pub.dartlang.org/flutter Push OneSignal Injection de dépendances Kiwi WebRTC
  87. CI / CD 55

  88. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Support officiel de Flutter avec Nevercode 56 Build des applications Android et iOS Signature des applications Exécution des tests Publication des applications
  89. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart … tout comme Bitrise 57
  90. IDE 58

  91. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart IntelliJ 2018.2 est désormais compatible avec la Touch Bar 59
  92. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Rainbow Brackets : un plugin utile pour IntelliJ Idea, Visual Studio Code… 60
  93. Figma -> Flutter 61

  94. None
  95. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Export de Sigma vers Flutter 63 http:// aloisdeniel.github.com/ figma-to-flutter
  96. Merci ! Des questions ? @g123k 64 @FlutterFrance