Six mois après le début de Flutter: en tant que développeur de logiciels junior

J’ai récemment obtenu mon diplôme en informatique et j’ai décidé de terminer mes études et d’obtenir un génie logiciel et, heureusement, j’ai eu la chance d’être choisi par un programme hébergé par Proxym-Group où j’ai eu la chance de terminer mes études et de travailler en tant que Développeur Front-End junior, Pour résumer rapidement, l’entreprise crée des logiciels pour des clients d’horizons différents, principalement des gouvernements et des banques.

Et ici j’attends ma première tâche. mon entreprise utilise Apache Cordova pour développer ses applications mobiles, mais Apache Cordova présentait de nombreux inconvénients, ils ont donc décidé de rechercher une alternative et leur choix était Flutter . J’ai donc dû faire une étude de cas sur le flutter et apprendre à utiliser ce framework.

Pour être honnête, je n’étais pas satisfait de cette décision à l’époque, je détestais quitter ma zone de confort car tout ce que je savais était HTML , CSS , Javascript et mon framework préféré Vue.js Et je n’avais aucune expérience en développement d’applications mobiles. C’est comme si quelqu’un t’a emmené pour l’utérus chaud de ta mère et t’a juste donné une gifle et t’a envoyé au monde.

Je ne vais pas comparer Flutter à ces technologies mobiles multiplateformes dans cet article.

Learning Flutter

Je n’ai eu qu’un mois pour apprendre ce cadre et venir avec des réponses à différents sujets, et ici le voyage commence.

1.Configuration

La configuration a été simple. Flutter fournit une bonne documentation qui détaille toutes les étapes requises.

Au début, Dart avait le sentiment de Java et je détestais vraiment les langages fortement typés (je ne m’amusais pas de java à l’université) Mais à l’époque Dart est devenu un joli langage à développer. Il avait la flexibilité de Javascript et était fort comme Java. Travailler avec la programmation asynchrone avec async / await / Future est un jeu d’enfant, et il se sent aussi complet et cohérente. C’était ma première expérience et je l’ai trouvé familier et intuitif. C’est une langue fraîche et moderne. Et être compilé “à l’avance” ( AOT ) en code natif pour plusieurs plates-formes, éliminait le besoin d’un pont JavaScript et améliorait les performances.

Bien qu’il manque certaines fonctionnalités que j’ai appris à aimer (dans le monde Javascript ). La documentation est riche et c’est tout ce dont vous avez besoin pour l’apprendre

3. Architecture et modèles de gestion des états

Après avoir appris flutter , la première chose que je recherchais était les modèles de conception et la meilleure façon de structurer votre code en flutter et celui-ci était vraiment difficile depuis Flutter est une nouvelle technologie.

Certaines personnes suivent le modèle de composant de logique métier ( BLOC ) ou Redux pour Flutter mais ont pensé que c’était un peu inutilement complexe.

J’ai donc décidé de choisir le Scoped-Model équipé de RxDart puisque je viens du Web World et qu’il était le plus proche des architectures que je connaissais.

4. Construire l’interface utilisateur:

Tout est un widget, c’est tout ce que vous devez savoir,

Flutter dispose d’une grande variété de widgets d’interface utilisateur pris en charge sur le framework lui-même. Et il & # x27; est basé sur Material Design .

Material Design est merveilleux et vous pouvez personnaliser la bibliothèque Material Design de Flutter pour reproduire n’importe quel design que vous aimez.

Flutter définit l’interface utilisateur en créant une arborescence Widgets dans Dart. C’est très confortable. Comme il est écrit sous forme de code, il est facile de changer l’interface utilisateur selon les conditions.

Flutter propose également une grande variété de widgets, et l’interface utilisateur peut être créée avec une combinaison de ceux-ci, il n’était donc pas nécessaire d’utiliser une bibliothèque tierce à cette fin.

5. Développement et débogage

Travailler avec flutter et découvrir ses widgets a été une vraie joie.

Hot Reload : “Fast hot reload” qui déclare officiellement est vrai sans aucune exagération. Vous pouvez recharger en moins d’une seconde. il est rapide et fiable . , vous pouvez le réparer tout de suite, en continuant là où vous vous étiez arrêté, sans tout redémarrer, donc implémenter n’importe quelle interface utilisateur était vraiment facile.

Pour le débogage, les outils Dart Analyzer et Dart Observatory aident à trouver des erreurs à l’aide de commandes spécifiques, vous pouvez presque tout déboguer, que ce soit les performances, le temps de construction de chaque widget, l’animation, votre fléchette code…

Mon impression pendant l’apprentissage:

Je n’ai pas été aussi enthousiaste à l’idée d’apprendre une technologie. La documentation est fantastique. Flutter rock. Ce n’est en aucun cas parfait, mais à mon avis, la courbe d’apprentissage, la facilité d’utilisation et les outils disponibles en font de loin une expérience agréable.

Travailler sur un projet

Après avoir terminé l’étude de cas, voici le premier projet. réécrire une application existante en production avec flutter . avec plus de 30 interfaces utilisateur et animations complexes.

ce projet m’a été confié à moi et à mon partenaire.

Au début, nous pensions que l’écriture d’applications multiplateformes poserait plus de problèmes de conception. Mais mettre en œuvre une mise en page complexe dans Flutter était facile. mon partenaire et moi nous sommes retrouvés en train de reconstruire toute l’interface utilisateur existante en peu de temps et les mêmes choses avec l’animation spécialement avec flare (un outil pour créer des animations de haute qualité et les extraire dans des widgets flottants). d’utiliser peut-être 20% du widget que j’ai appris lors du développement de l’application.

Vient maintenant le code et la logique. puisque nous avons choisi le modèle de portée pour la gestion de l’état et pour structurer notre application et obtenir une séparation nette de l’interface utilisateur de votre formulaire logique. nous nous sommes amusés à l’utiliser au début, il était simple et facile à implémenter, mais au fur et à mesure que mon application devenait plus complexe, nous avons commencé à découvrir que la maintenance de ses faiblesses devenait difficile et difficile à mesure que mon modèle grandissait.

Avec toutes ces informations, je ne recommande pas l’utilisation de ScopedModel sauf si votre état est très facile à gérer; si votre application est suffisamment complexe, je ne pense pas que ce soit la bonne réponse pour supporter cette complexité et cette croissance. J’envisagerai donc d’essayer une autre approche dans ma prochaine application

Mais à la fin, j’ai réussi à terminer l’application.

Réflexions finales

Jusqu’à présent, je suis très satisfait de Flutter dans l’ensemble. Et il est là pour rester.

Il est vrai que les bibliothèques & amp; le support est impressionnant, mais toujours pas aussi riche que pour le développement natif et je regrette vraiment de ne pas venir d’un contexte de développement natif.

À mon avis, Flutter présente bien plus d’avantages pour les équipes commerciales et de développement que de risques. C’est une excellente occasion de créer des applications mobiles magnifiques, performantes et exceptionnelles qui répondent à vos besoins et exigences personnalisés. Cela vaut la peine d’envisager Flutter, surtout si vous voulez une application à la fois pour iOS et Android.

C’est tout, merci! Si vous avez aimé ce post, n’oubliez pas de laisser un 👏!

Si vous avez trouvé cet article intéressant et que le développement frontal vous intéresse, envisagez de me suivre sur Github ou LinkedIn .