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é

Edouard Marquez

September 19, 2018
Tweet

More Decks by Edouard Marquez

Other Decks in Programming

Transcript

  1. 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
  2. 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 ?
  3. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

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

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

    dernier meetup Dart Flutter Communauté Dart : du pire… au meilleur 7
  6. 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
  7. 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"
  8. 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
  9. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Nouveaux Widgets 12 CupertinoApp CupertinoTimerPicker CupertinoActionSheet CupertinoSegmentedControl
  10. 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.
  11. 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/
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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"
  21. 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
  22. 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) {}
  23. 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) {}
  24. 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
  25. 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()) ); } }
  26. 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()) ); } }
  27. 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
  28. 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); } }
  29. 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); } }
  30. 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
  31. 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() {} }
  32. 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() {} }
  33. 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() {} }
  34. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart Et voici le résultat ! 26
  35. 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
  36. 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
  37. 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); } }
  38. 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); } }
  39. 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
  40. 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); }
  41. 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); }
  42. 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); }
  43. 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
  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 ? (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(); } }
  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 ? (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(); } }
  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 ? (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
  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 ? (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
  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 ? (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} ); } }
  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 ? (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} ); } }
  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 ? (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} ); } }
  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 ? (6/6) 34 @override Widget build(BuildContext context) { … } void _onPlatformViewCreated(int id) { MapViewController(id).addMarker( lat: 48.866667, lng: 2.333333 ); } DART
  52. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

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

    dernier meetup Communauté Flutter Dart Les défauts de cette solution 36 Performances
  54. 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%)
  55. 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
  56. 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
  57. 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
  58. 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
  59. 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
  60. 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
  61. 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
  62. 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
  63. 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
  64. Les nouveautés de la "communauté" 46 Flutter pour 
 Mac

    & Windows Site regroupant les applications Flutter Nouveaux outils
  65. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

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

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

    dernier meetup Communauté Flutter Dart Vos applications Flutter sur PC 50
  68. 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
  69. 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
  70. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart De nouveaux packages 54 https://pub.dartlang.org/flutter
  71. 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
  72. 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
  73. Flutter Paris - Septembre 2018 Les nouveautés Flutter depuis le

    dernier meetup Communauté Flutter Dart … tout comme Bitrise 57
  74. 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
  75. 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
  76. 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