
Flutter est un nouveau framework open source créé par Google qui aide à développer des applications natives Android ainsi que iOS avec une seule base de code. C'est plus qu'un simple framework car c'est un kit de développement logiciel complet qui a tout ce dont vous avez besoin pour créer des applications multi-plateformes. Cette revue Flutter examinera les avantages et les inconvénients de l'outil.
Les avantages
1. Haute performance
De nombreux facteurs ont un impact sur les performances d'une application, notamment l'utilisation du processeur, le nombre d'images par seconde, le temps de réponse moyen, le nombre de requêtes par seconde, etc. Flutter offre un 60fps cohérent, qui est le taux auquel les écrans contemporains affichent une image fluide et claire.
Les développeurs tentent de garder le mouvement à ce niveau car tout décalage dans cette fréquence d'images peut être identifié par l'œil humain. Comparé à React Native et Xamarin, ce framework était en avance avec un temps de lancement de 220 millisecondes et 58fps.
2. Accessibilité et internationalisation
Grâce à son plaidoyer pour l'inclusivité et la diversité, Google offre des opportunités intégrées pour créer des applications accessibles à un large éventail d'utilisateurs. Normalement, lorsque vous avez besoin que votre application fonctionne dans différentes régions et langues, vous souhaitez que votre code soit prêt pour le contenu localisé, qui est généralement créé plus tard. Ce processus est appelé internationalisation.
Flutter pour le développement mobile propose nativement des widgets basés sur le package Dart intl, ce qui rend ce processus plus simple. Il prend désormais en charge 24 langues, mais également les unités de mesure, les options de mise en page, les devises et les dates.
3. Mises à jour immédiates
L'architecture de Flutter a été gravée avec la fonction de rechargement à chaud pour permettre des mises à jour instantanées sans avoir besoin de plugins. Avec le rechargement à chaud, vous pouvez afficher les mises à jour en temps réel. Si vous rencontrez une erreur lors de l'exécution du code, le framework vous permet de le corriger immédiatement et de continuer sans avoir à le redémarrer.
Le retour à une programmation normale où le déploiement prend plusieurs minutes peut être un problème. Le rechargement à chaud améliore votre productivité, permet l'expérimentation sans longs retards et facilite les itérations rapides.
4. Courbe d'apprentissage légère
Si l'apprentissage de Dart est simple, il vous sera plus facile de vous familiariser avec cet outil. De nombreuses personnes ayant peu de connaissances en codage peuvent développer des prototypes et des applications avec le framework. De plus, vous n'avez besoin d'aucune expérience de développement mobile pour l'utiliser.
De plus, Google est populaire pour développer une documentation bien structurée et détaillée, ce qui est un problème pour React Native. Vous pouvez parcourir ces documents ainsi que les leçons vidéo et les leçons pratiques de Codelabs. Des cours sont disponibles sur Udacity et Udemy, et vous pouvez même rejoindre des communautés Facebook.
5. Widgets personnalisés et prêts à l'emploi pour le codage rapide de l'interface utilisateur
Cet outil utilise des widgets prêts à l'emploi. Avec ces blocs de construction, l'outil vous aide à créer une interface utilisateur. Alors que de nombreuses approches utilisent différents objets comme les contrôleurs, les vues et la mise en page, ce cadre propose un modèle d'objet unifié et cohérent. Chaque objet de cet outil est un widget, y compris des polices, des boutons et des rembourrages. Vous pouvez combiner des widgets pour créer des mises en page et vous pouvez décider d'utiliser des widgets à n'importe quel niveau de personnalisation.
Les widgets de ce cadre sont organisés en arborescences, ce qui facilite le rendu. Mais ils peuvent conduire à une sophistication excessive de la structure complète. Les grandes applications peuvent nécessiter jusqu'à dix couches de code pour former un objet de base. Une planification adéquate de la structure est donc nécessaire à l'avance.
Inconvénients
1. Problèmes avec iOS
Depuis que Flutter pour le développement mobile a été créé par Google, les développeurs ont raison de s'inquiéter de sa mise en œuvre iOS. Étant donné que Google s'intéresse directement à la correction rapide des bogues, la création d'applications Android sur le framework est agréable et rapide. La dernière mise à jour de l'outil comprend une apparence iOS au pixel près.
Les paramètres de l'iPhone ont été créés sur le cadre pour permettre les possibilités des widgets Cupertino. Mais ces fonctionnalités de conception et d'autres ont été mises à jour plus tard et étaient basées sur les fonctionnalités d'iOS 10, même si iOS 11 était déjà sorti depuis un certain temps. Par conséquent, il n'est pas clair si les mises à jour continueront d'être publiées aussi rapidement que celles de la version d'Android après que l'outil quitte la phase bêta.
2. Taille de fichier massive
Les développeurs passent par des efforts considérables pour réduire la taille d'une application. Les utilisateurs ont un stockage de téléphone limité, et il est préférable de publier une application qui les empêchera de le supprimer au profit de leurs images et chansons préférées. Pour minimiser la taille du code, les programmeurs évitent normalement les animations, compressent les images et réduisent le nombre de packages et de bibliothèques.
Le framework a massivement déçu les développeurs après que l'application Hello world soit arrivée à 6,7 Mo. Même lorsqu'il est tombé à 4,7 Mo, il est resté nettement plus grand que Kotlin qui est de 550 Ko et Java natif qui est de 539 Ko.
3. Fléchette
Dart est utilisé pour le développement de Flutter et présente à la fois des avantages et des inconvénients. C'est un langage de programmation et est orienté objet aussi bien que rapidement. Cependant, il n'est pas aussi performant que les langages de programmation comme C #, Java, Objective-C et JavaScript.
Peu de développeurs novices rencontreront Dart au cours de leur parcours d'apprentissage, et il peut être difficile d'obtenir de nouveaux développeurs pour votre équipe. C'est un facteur essentiel à garder à l'esprit lors de l'adoption d'une approche multiplateforme.
4. Pas de bibliothèques tierces
Les packages et bibliothèques tiers ont un rôle important dans l'automatisation du développement logiciel pour les développeurs et la suppression de la nécessité de tout programmer dès le départ. Ces bibliothèques sont normalement open source, prétestées et facilement disponibles. Pour les technologies les plus populaires et les plus anciennes, il est facile d'obtenir le package requis.
Cependant, comme Flutter pour
le développement mobile est nouveau, il n'est pas facile de trouver de tels packages et bibliothèques gratuits. Sa ressource officielle de packages gratuits continue de s'améliorer et sa liste d'outils connaît toujours une croissance. Vous devrez donc attendre avant de décider de l'utiliser pour un développement à long terme.
Si vous recherchez un outil de développement d'applications mobiles qui présente une courbe d'apprentissage modérée, de hautes performances, une accessibilité et une internationalisation, des widgets prêts et des mises à jour immédiates, Flutter est fait pour vous. Cependant, notez ses inconvénients pour savoir où vous en êtes.