Application mobile: 5 conseils pour apprendre le flutter comme un pro [from a Flutter course creator]

J’enseigne Flutter depuis quatre ans maintenant. Je m’éclate encore.

Pendant ce temps, j’ai encadré un bon nombre d’étudiants. Je recevrai des e-mails, des commentaires sur mon site de cours fluttercrashcourse.com ou sur ma chaîne YouTube ou sur les DM Twitter (@seenickcode).

Il y a un modèle récurrent que j’ai remarqué. Les étudiants se plaignent de prendre des mois pour apprendre les bases de Flutter et, de plus, ils n’ont pas encore essayé de construire quoi que ce soit eux-mêmes. Ils se plaignent d’être coincés dans l’enfer du didacticiel, un terme que nous entendons trop souvent.

Alors maintenant que c’est la nouvelle année, j’ai décidé de réfléchir et d’énumérer cinq conseils pour les nouveaux arrivants à Flutter. Si je devais recommencer moi-même et suivre ce conseil, j’aurais probablement gagné beaucoup de temps. Pour les personnes intéressées par le travail indépendant, l’obtention d’un stage ou un nouveau poste en tant que développeur Flutter, cela peut vous aider à gagner du temps.

Avant de commencer avec le conseil numéro un, si vous ne me connaissez pas déjà, je m’appelle Nick et j’enseigne Flutter. Mon objectif est de mettre à profit les 20 ans d’expérience que j’ai en tant qu’ingénieur logiciel, dont 10 ans dans l’espace mobile, en travaillant avec des startups et des entreprises Fortune 500 et de partager certains de mes conseils. Consultez mon site Web fluttercrashcourse.com où j’ai publié un certain nombre de cours Flutter gratuits.

Passons maintenant au conseil n°1…

Astuce n°1 : l’apprentissage se fait plus efficacement en tant que « jeu multijoueur », et non en tant que « campagne à un seul joueur ».

Tout d’abord, assurez-vous d’avoir configuré un référentiel GitHub public avec un code simple sur lequel vous travaillez, même si c’est quelque chose avec lequel vous vous amusez. Ensuite, ajoutez le fichier README.md avec une liste de ce que vous cherchez à construire ou à apprendre.

Désormais, la prochaine fois que vous demanderez de l’aide, la configuration précoce vous permettra de partager facilement ce sur quoi vous travaillez avec les autres. Lorsque vous rencontrez un problème avec le code sur lequel vous travaillez, le code sera déjà facilement partageable. Ceci est très important car l’erreur classique que font les ingénieurs juniors est de copier et coller leur code dans un e-mail ou un DM. Faire cela augmentera considérablement les chances que votre question soit ignorée. Cela vous permettra également de partager votre travail et d’entamer des discussions avec d’autres. Publiez ce sur quoi vous travaillez ou une question que vous pourriez avoir sur le réseau social que vous utilisez.

De plus, ce que fait ce référentiel GitHub, c’est d’ouvrir la porte au démarrage d’une conversation et à la connexion avec d’autres membres de la communauté. Consultez la page de la communauté Flutter pour une liste d’idées sur la façon de se connecter avec d’autres https://flutter.dev/community. Si vous le souhaitez, vous pouvez m’envoyer votre question directement par e-mail à l’adresse nick@fluttercrashcourse.com.

Dans l’ensemble, vous serez étonné par les conseils et l’aide des autres membres de la communauté Flutter et aurez une nouvelle perspective sur ce sur quoi vous travaillez. Plus important encore, si vous passez plus d’une journée à dépanner quelque chose, peut-être que quelqu’un vous orientera dans la bonne direction, vous faisant gagner un temps considérable.

Conseil n°2 : arrêtez d’apprendre quel est le meilleur package de « Gestion d’État ».

Les communautés en ligne sont des chambres d’écho et, malheureusement, elles ont tendance à perpétuer des problèmes inutilement exagérés. Les nouveaux arrivants remarqueront que d’autres personnes étudient le même sujet et penseront qu’ils doivent également l’ajouter à leurs objectifs d’apprentissage. Personnellement, je considère qu’un « package de gestion d’état » est un package qui facilite la transmission de données à travers une arborescence de widgets. Le développeur de Flutter et ancien Googler Matt Carroll l’explique bien ici (https://medium.com/super-declarative/understanding-state-management-and-why-you-never-will-dd84b624d0e, chaîne YT ici https :/ /www.youtube.com/c/SuperDeclarative/videos).

Si vous créez une application simple, en particulier si vous êtes un nouveau venu dans Flutter, je peux vous garantir que 90% du temps, vous n’aurez pas besoin d’un package de « gestion d’état ». La plupart des applications mobiles du monde réel sont souvent alimentées par un backend qui maintient déjà l’état. Une petite fraction des applications nécessiteront une sorte d’état local, comme une base de données s’exécutant sur l’appareil. En dehors de cela, à moins que vous n’ayez une interface utilisateur très complexe et que vous souhaitiez partager cet état entre les widgets et les mises à jour de rendu de manière réactive, vous obtiendrez probablement simplement en vous appuyant sur la récupération de données à partir d’un backend lorsque cela est nécessaire.

Une autre raison d’éviter les « progiciels de gestion d’état » est que, en tant que vérité plus ou moins universelle en génie logiciel, les deux choses les plus difficiles sont de nommer les choses et la mise en cache (c’est-à-dire « l’état »). Il est donc préférable de rendre votre base de code mobile aussi simple que possible, car si vous avez un bogue dans votre application, soumettre à nouveau un correctif prend du temps. La plupart des applications modernes ont également un composant Web, et vous voudrez de toute façon transférer la majeure partie de cette complexité vers un backend.

Cela dit, si vous avez besoin de passer facilement l’état et d’éviter certains appels réseau, vous pouvez soit utiliser InheritedWidget, qui est intégré à Flutter, soit, si vous voulez vraiment simplifier le travail avec cela, le package Provider est quelque chose que j’ai utilisé . En dehors de cela, oubliez-le jusqu’à ce que vous en ayez vraiment besoin.

Astuce n°3 : trouver la « meilleure architecture Flutter », le « meilleur modèle d’organisation de code » ou « le meilleur x » vous fera perdre du temps.

Poser cette question est un signe révélateur d’un ingénieur junior. Dans le monde de l’ingénierie, le « meilleur » n’existe pas. Il y a toujours des compromis, des avantages et des inconvénients et le contexte du problème à résoudre dictera la bonne solution. Je vais vous donner un exemple : existe-t-il une « meilleure architecture » pour concevoir un gratte-ciel antisismique ? Non, il y a des avantages et des inconvénients, les opinions des différents architectes, le budget, les délais, le niveau de compétence de l’équipe pour construire la structure, l’expertise dans laquelle une équipe est déjà spécialisée dans la construction de gratte-ciel et la disponibilité des matériaux. Je suppose que vous pouvez appliquer cela à n’importe quel défi d’ingénierie – il y a toujours des compromis pour adopter une approche particulière.

Dans le cas de « l’architecture » Flutteer, si vous débutez, vous pouvez gagner beaucoup de temps et oublier cela. Concentrez-vous d’abord sur la création de quelque chose, améliorez-le, réécrivez-le, obtenez l’opinion des autres et écrivez plus d’applications. Apprenez par la pratique, découvrez les meilleures pratiques en cours de route et déterminez ce qui vous convient le mieux. Publiez votre code, obtenez les commentaires d’autres personnes plus expérimentées que vous. Cela m’amène à mon prochain conseil, en fait.

Au lieu de cela, efforcez-vous d’apprendre les meilleures pratiques. Demandez autour de vous, publiez sur Stack Overview, publiez votre code et demandez aux membres de la communauté, etc.

Astuce n°4 : si vous êtes un nouveau venu dans le développement mobile et Flutter, concentrez-vous sur les widgets et les compétences dont vous avez besoin, évitez les compétences dont vous n’aurez peut-être pas besoin de sitôt.

Alors, de quoi aurez-vous « besoin » pour apprendre ? Tout d’abord, à mon avis, en termes de définition d’un objectif, pour une application mobile au moins, si vous pouvez coder une application qui présente une simple liste déroulante de texte et d’images, avec la possibilité d’appuyer sur un élément et d’afficher un  » détail » (la formule classique « principale, détaillée » que nous voyons dans la plupart des applications) avec une mise en page de base, vous devriez prendre un bon départ. Si vous voulez aller plus loin, j’irais alors apprendre à récupérer des données à partir d’une URL pour remplir votre application.

Essayez d’abord des trucs sur https://dartpad.dev/flutter avant même d’installer Flutter sur votre machine. C’est un excellent moyen de répertorier certains des widgets utiles avec lesquels vous voudrez peut-être vous familiariser, tels que ListView, Text, Image, Navigator, Column, etc.

Concentrez-vous d’abord sur les compétences pratiques.

Astuce #5: Flutter est seulement un parmi beaucoup compétences dont vous aurez besoin si vous souhaitez faire carrière dans le développement mobile ou multiplateforme.

Si vous êtes stagiaire, indépendant ou ingénieur junior, vous pourrez peut-être vous en tirer en vous en tenant uniquement au développement de l’interface utilisateur. Mais d’après mon expérience, les responsables du recrutement et les clients auront besoin que vous compreniez au moins un peu le développement complet. Au moins comment s’intégrer à un backend, comment signaler les journaux ou les plantages à un service distant, les notifications push, CICD, etc. Idéalement, si vous êtes peu compétent en développement mobile full stack, vous serez non seulement plus commercialisable, mais pouvoir vous amuser davantage à développer les applications que vous aimez. Soit dit en passant, la plupart des applications auront une sorte de composant backend.

Alors, que devrais-tu faire? Évitez d’aller trop loin dans le développement avancé de l’interface utilisateur (à moins que ce soit quelque chose que vous aimez vraiment, alors, c’est génial) et équilibrez-le un peu en comprenant comment récupérer des données à partir d’une URL distante, comment soumettre des données, comment distribuer votre application et créer des actifs de haute qualité tels que des icônes d’application, etc., comment optimiser votre application en mettant en cache des actifs volumineux tels que des images dans un CDN, etc.

Si vous souhaitez plus de conseils, n’hésitez pas à m’envoyer un e-mail à nick@fluttercrashcourse.com avec vos objectifs et je serai en mesure de vous recommander un parcours d’apprentissage que vous pourrez envisager.

En fin de compte, Flutter fait partie d’un écosystème, comme tout autre framework. Découvrez les outils dont vous aurez besoin pour créer des applications réalistes et prêtes pour la production. Prenez les choses avec un grain de sel lorsque les créateurs de cours ou d’autres YouTubers présentent. Créez une liste d’objectifs et concentrez-vous sur une idée d’application simple, puis revenez en arrière pour dresser la liste des compétences dont vous pourriez avoir besoin pour atteindre cet objectif. Utilisez votre propre jugement.

Mon contenu sera axé sur un développement mobile plus complet, donc si vous trouvez ce que j’écris utile, restez en contact et posez vos questions. Je réponds à tout le monde !

Happy Fluttering, Nick5 astuces pour apprendre le flutter comme un pro [from a Flutter course creator]

#conseils #pour #apprendre #flutter #comme #pro #Flutter #creator