Il me semble que le Flutter utilise le Android Studio et dépend toujours de la purge Java. Bref le développement mobile reste un purgatoire.
Il me semble que le Flutter utilise le Android Studio et dépend toujours de la purge Java. Bref le développement mobile reste un purgatoire.
Dans cet autre article :
https://www.developpez.com/actu/2360...avec-Electron/
Ils disent que Flutter permet d'avoir un "émulateur" bien plus léger et plus rapide à lancer or j'ai installé le Sdk Android sur Linux et la CLI flutter mais il est nécessaire de lancer un AVD android et donc de ralentir tout le PC et rend le développement tout aussi insupportable que d'habitude (Apache Cordova, natif) ????
Qu'en est t'il ?
J'ai eu le plaisir de l'utiliser pour une application aujourd'hui dans les stores (iOS et Android) et rien à dire, hyper fonctionnel.
Je pense que tu n'as pas lu l'article avec attention, le titre de article dit que cela sera bientôt possible en standard sur Flutter, et l'exemple qui est donné est le projet Flutter Desktop, qu'il faut installer et configurer en complément de Flutter : https://github.com/google/flutter-desktop-embedding
Utiliser un nouveau service ou techno de chez Google, c'est prendre le risque de le voir disparaître dans 2 ou 3 ans.
ça à pourtant l'air bien sympa, mais investir du temps pour voir Google tuer le projet du jour au lendemain dans quelques temps, j'ai déjà donné![]()
Google lance Flutter 1.2, son SDK open source de développement d'applications mobiles iOS et Android,
et Dart DevTools, une suite d’outils de programmation Web
Lancé en 2015, Flutter est l'un des plus récents ajouts à l'arsenal des développeurs d'applications. C’est un SDK open source de développement d'applications mobiles développé par Google. Les applications Flutter sont écrites dans le langage Dart et exploitent bon nombre des fonctionnalités plus avancées du langage.
Si Google a opté pour Dart, c’est parce qu’il offre deux modes de fonctionnement. Le premier, nommé AOT (pour Ahead Of Time), permet de générer une application native pour chaque plateforme. Le code sera optimisé directement pour l’architecture sur laquelle il fonctionnera.
Le deuxième mode de fonctionnement est dit JIT (Just-In-Time) et offre la fonctionnalité de Hot Reload lors des développements. L’idée du Hot Reload avec Flutter est de corriger le problème du temps nécessaire entre chaque build en ne mettant plus que quelques millisecondes (voire secondes dans le pire des cas) entre chaque modification. Le développement de son application est alors bien plus rapide.
Outre ces deux modes, Dart est aussi très performant pour gérer l’allocation et le “garbage collector”, c’est-à-dire l’élimination des objets en mémoire qui ne sont plus utilisés.
La première version stable de la boîte à outils de développement multiplate-forme a été publiée il y a à peine trois mois. Il y a quelques heures, Google a annoncé la première fonctionnalité mise à jour pour Flutter, Flutter 1.2, au Mobile World Congress, ainsi qu'une nouvelle suite d'outils de programmation Web appelée Dart DevTools.
L'un des plus gros avantages de Flutter par rapport à ses alternatives est la communauté de développement. Flutter est open source pour que vous puissiez voir comment il est construit et faire des suggestions pour contribuer à son développement. Google travaille constamment à améliorer la stabilité et les performances du framework, tout en ajoutant quelques outils de développement intéressants.
Flutter 1.2
Nouveaux outils pour les développeurs FlutterEnvoyé par Equipe Flutter
Les développeurs mobiles viennent d'horizons divers et préfèrent souvent des outils de programmation et des éditeurs différents. Flutter lui-même prend en charge différents outils, notamment une prise en charge de premier ordre d'Android Studio et de Visual Studio Code, ainsi que la création d'applications à partir de la ligne de commande. L’équipe savait donc que le framework avait besoin de flexibilité dans la manière d’exposer les outils de débogage et d'inspection du runtime.
En plus de Flutter 1.2, l’équipe a lancé une préversion d’une nouvelle suite d’outils de programmation Web pour aider les développeurs Flutter à déboguer et à analyser leurs applications. Ces outils sont désormais disponibles pour une installation aux côtés des extensions pour Visual Studio Code et Android Studio, et offrent un certain nombre de fonctionnalités :
- Un inspecteur de widgets, qui permet la visualisation et l'exploration de la hiérarchie de l'arborescence utilisée par Flutter pour le rendu.
- Une vue chronologique qui vous aide à diagnostiquer votre application au niveau image par image, en identifiant le travail de rendu et de calcul susceptible de provoquer une "anarchie" de vos applications.
- Un débogueur de niveau source complet qui vous permet de parcourir du code, de définir des points d'arrêt et d'analyser la pile d'appels.
- Une vue de journalisation indiquant l'activité que vous enregistrez depuis votre application, ainsi que les événements liés au réseau, à l'infrastructure et à la récupération de place.
Dart 2.2
Les développeurs de Flutter et Dart seront heureux de savoir que Dart 2.2 est également disponible. Les développeurs de Flutter devraient noter que Dart 2.2 améliore de 15 à 20% les performances. De plus, le langage a acquis la capacité d'écrire des littéraux Set en utilisant des accolades {}, similaires à Python et à d'autres langages. Cela permet de créer un ensemble en tant que constante.
Dart 2.2 est disponible au téléchargement dès maintenant et est également intégré à la version actuelle de Flutter 1.2. Vous pouvez également jouer utiliser Dart 2.2 maintenant dans l'application Web officielle DartPad.
Pourquoi utiliser Flutter ?
En 2017, David Ford, un développeur logiciel, s’est laissé aller à énoncer quelques raisons qui, selon lui, sont très intéressantes à propos de ce framework :
- Son architecture est presque similaire à celle de React, un point positif pour ceux qui, comme David, aiment React ;
- Flutter est basé sur Dart, un langage de programmation moderne (développé par Google) qui est très facile à apprendre si vous connaissez déjà Java ou JavaScript. Dart a une vérification facultative du type statique. Dart peut également se compiler sur JavaScript. En fait, Dart a d'abord été conçu comme un langage de compilation JavaScript. Et il y a une machine virtuelle Dart. Vous pouvez donc utiliser Dart pour les applications côté serveur et les utilitaires de ligne de commande (tout comme Node). Et, bien sûr, Dart peut être compilé pour fonctionner sur les téléphones mobiles. Cela met Dart en concurrence avec d'autres langages « full stack » de seconde génération comme Kotlin ;
- Qu'est-ce que Polymer, GWT et Adobe Flex ont en commun et dont React ne dispose pas ? Une bibliothèque de widgets UI intégrée. Ceci, pour David, est l’une des grosses faiblesses de React. Raison pour laquelle il estime que si vous avez déjà travaillé avec un framework comme Flex, vous saurez apprécier le fait qu’il soit livré avec un ensemble de composants de haute qualité ;
- L'approche de Flutter à l'IU multiplateforme est unique. David assure que Flutter n'est pas comme Cordova ou PhoneGap qui sont essentiellement des applications JavaScript/HTML/CSS déguisées en applications natives mobiles. Les applications Cordova et PhoneGap s'exécutent dans un navigateur mobile enveloppé dans un composant natif (une vue web). Ceux-ci sont lancés comme des applications natives, mais au fond sont des applications Web. Ils n'utilisent pas de widgets mobiles. Au lieu de cela, ils utilisent les éléments Web familiers (<input>, <select>, etc.) pour créer l'interface utilisateur.
- Flutter n'est pas non plus comme React Native (ou NativeScript). React Native utilise les widgets natifs. Cela signifie que vous devez créer des applications distinctes pour Android et iOS. Cela signifie également que l'application ressemble et se comporte plus nativement que, par exemple, une application qui est passée par Cordova ou PhoneGap.
- David avance que Flutter réinvente sa propre bibliothèque de composants UI de zéro. Ces composants sont dessinés à l'aide des primitives graphiques de bas niveau des plateformes. Ainsi, les composants UI de Flutter ne sont pas des éléments HTML ni des widgets Android/iOS natifs. Ce sont des widgets Flutter. Ils ont un look-and-feel enfichable. Ils peuvent donc ressembler à des widgets natifs iOS ou à des widgets natifs Android. C'est essentiellement la même approche que JavaSwing ;
- Il n'existe pas de DSL UI externes (c'est-à-dire des fichiers HTML ou XML). Toute l'interface utilisateur est écrite en Dart. Ceci, pour David, est une grande victoire. Il avoue avoir une opinion étrange selon laquelle les DSL externes sont la racine de tout le mal. Ils réduisent considérablement la quantité d'aide qu'un vérificateur de type statique (ou IDE) peut vous fournir. Ils éliminent la refactorisation et la réutilisation du code. C'est l'une des raisons pour lesquelles il aime React.
- Avec Flutter, les UI sont codées dans le même langage que le reste de l'application : Dart. En outre, il n'y a pas d'équivalent JSX dans Flutter. Donc, quand il dit que Flutter est comme React, ce qu’il veut dire, c'est que Flutter est comme React sans JSX. Pour lui, le code privé de JSX est assez indigeste dans la combinaison React/JavaScript, mais plutôt élégant dans la combinaison Flutter/Dart ;
- Enfin, Flutter dispose d’un support de première classe pour son IDE préféré (JetBrains).
Source : Google
Et vous ?
Avez-vous déjà utilisé Flutter ? Qu'en pensez-vous ?
En général vous servez-vous d'une boîte à outils multi-plateformes pour vos développements mobiles ? Lesquelles avez-vous déjà essayé ?
Voir aussi :
Flutter va bientôt permettre d'écrire de véritables applications multiplateformes y compris pour le desktop et pourrait rivaliser avec Electron
Google publie la Preview finale de Flutter, son SDK mobile Android et iOS, la dernière étape majeure avant la publication de la version stable 1.0
Flutter, le SDK mobile pour Android et iOS sort de la phase bêta, Google annonce la Release Preview 1, une étape importante avant la version 1.0
Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités
Cela impose d'apprendre un nième langage : Dart.
Xamarin et le C# ne font-ils pas l'affaire ?
Le framework est une fusée (avec son live reload performant etc) mais je prefere rester sous xamarin ou react native car pour moi pas possible de faire de l'ihm par code (aucun moyen de faire des vues par balisage et binding des données un peu a la xaml ou tout simplement comme react /angular).![]()
Ben avant l'ère des visual machins choses, on codais les ihm par code.
Ici rien de bien compliqué pour faire des ihm, une fois compris la mécanique de layout.
Puisque tu parle de React, cet article peu t'intéresser: https://blog.geekyants.com/we-rebuil...r-4160f0499a82
(le code flutter n'est pas à jour car le déclaratif new n'est plus obligatoire)
Et une longue analyse: https://medium.com/asos-techblog/flu...t-c41b4e038db9
C'est intéressant mais l’abondance des technologies commence à être un peu trop élevées pour le développements d'applications mobiles.
Selon certains benchmarks, Xamarin a toujours le monopole de l'optimisation pour chaque plateforme donc je ne sais pas trop ...
euh
android studio java kotlin reactnative et maintenant Flutter
on a du mal à suivre![]()
Pour des apps de jeux, Flutter n'étant pas en 3D, on préférera Unity.
Pour des apps en 2D comme Google Map, pourquoi pas Flutter, le plus rapide (120fps)
Mais pour la très grande majorité des apps, texte et quelques images et graphiques, après avoir essayé Ionic, les progressive web apps qu'Apple supporte mal (pas de notification), Vue, Angular avec NativeScript, etc il ne reste en fait que React Native qui soit assez facile, universel et mûr pour réellement ne se voir bloqué nulle part, sans mauvaise surprise.
React permet non seulement 2 cibles mobiles mais aussi le Web desktop et mobile. Ça, Flutter ne pourra jamais le faire...
Euh... Sur pc, on a n technos et ça n'a jamais posé problème. Sur serveur Web, Java Perl python PHP JS Scala go et j'en passe, non plus. Sur mobile, alors que Python est le langage le plus enseigné du monde, y'a pas, c'est très bête. Alors à quand le portage de python sur Android et iOS ? Va falloir attendre FuschiaOS...
Il existe un projet Python pour réaliser des applications mobiles (Android de mémoire, iOS peut être pas) mais cela reste marginal.
Python est certainement le plus "enseigné" mais en terme d'offre et de demande, j'ai l'impression que ce langage reste dans le Big Data et la recherche. C'est un peu bête compte tenu du fait qu'il existe, entre autres, le projet IronPython qui permet d'utiliser la librairie GUI C# pour développer des applications graphiques.
A mes yeux, le plus grand frein à ce langage pour du développement logiciel est le problème de la facilité de développer des interfaces graphiques pour les applications desktops, un peu comme le permet Java et C# en fait parce qu'on va pas se mentir, développer avec Tkinter & cie sans interface, c'est pire que la mort.
Bien que Flutter et Android soient développés par Google, l’architecture technique des deux plates-formes est complètement différente. Flutter utilise Dart comme langage de programmation, tandis que le développement Android natif utilise Java ou Kotlin.
En termes d’IDE, Android Studio peut être utilisé à la fois pour le développement d’applications Flutter et natives pour Android. Cependant, les applications Flutter peuvent également être développées dans des éditeurs légers, tels que Sublime Text, Atom ou VIM, ou dans un environnement de développement intégré tel que IntelliJ Ide
Partager