|
Ouvrir la newsletter dans le navigateur |
 |
|
|
|
💙️ Nous soutenir 💙️ |
 |
|
|
|
La famille s’agrandit ! |
Après la déclinaison en anglais de cette newsletter Flutter (Flutter Croissants 🥐), nous sommes heureux de vous annoncer sa variante Android ! Sobrement nommée Android Croissants 🥐, cette nouvelle infolettre s'adresse à tous les développeurs Android.
Le contenu est assuré par Johanna Duigou, qui officie notamment au GDG Rennes Android. La trame de la newsletter est similaire à celle-ci. Seul le jour de publication est différent : le vendredi matin. |
|
|
|
 |
 |
|
Qui est Chris Sells ? Chris est Senior Product Manager chez Google dans l'équipe Flutter. On retrouve régulièrement sa plume dans des articles officiels sur Medium. On lui doit aussi go_router (qui est déjà en version 2.0), une bibliothèque simplifiant l'utilisation du Navigator 2.0. Dans une interview accordée à SyncFusion (transcript), il répond à plusieurs questions sur l'avenir de Flutter.
Le panneau avec le rebuild des Widgets généralisé A l'heure actuelle, ce panneau est uniquement disponible sur Android Studio et IntelliJ. Chris nous apprend que non seulement uk va arriver sur Visual Studio Code, mais qu'en toute logique les DevTools en bénéficieront également. Aucune date n'est toutefois donnée.
Bientôt un éditeur visuel pour les Widgets ? Sur Android, la partie graphique peut être réalisée soit en XML, soit via Jetpack Compose (qui est, pour simplifier, l'équivalent de Flutter pour les interfaces). Selon Chris, fournir un outil façon WYSIWYG ne serait pas utile en Flutter, grâce au Hot Reload. Mais c'est pourtant ce que l'équipe Android a réussi à faire avec Jetpack Compose sur Android Studio… 🤔. Le Googler redirige aussi vers les outils créés par la communauté comme FlutterFlow, Supernova ou Codelessly, qui proposent déjà des solutions en drag'n'drop.
Bientôt un éditeur de texte "riche" ? Attention, il ne s'agit pas d'une question sur un Flutter Studio, mais plutôt d'un Widget qui permettrait d'écrire du texte façon document Word. Chris Sells nous apprend : "Il y a un an environ, nous avons lancé une initiative. Nous avons rassemblé des membres de la communauté pour déterminer quelles seraient les exigences pour un éditeur de texte… quelque chose au-delà d'un simple TextField […] avec la prise en charge des raccourcis clavier, de la souris…". "Il y a eu quelques projets qui ont mené à la création d'éditeurs de texte riches. Le plus récent que je connaisse, le plus complet, et avec lequel nous travaillons en étroite collaboration est le Super Editor de Matt Carroll [NDLR : qui a travaillé un temps chez Google]".
Le support des App Clips et de l'Apple Watch Pour ce qui est des App Clips, il existe déjà de la documentation sur le site officiel . Pour ce qui est de l'Apple Watch (et les montres connectées en général), Flutter peut fonctionner sans aucun problème sur l'aspect adaptation aux différents facteurs de forme. En revanche, le fait qu'aujourd'hui le runtime Flutter occupe entre 4 et 5 Mo est un "no-go" et conclut en disant : "nous n'avons pas l'intention de supporter les montres de sitôt". |
|
|
 |
 |
|
On le sait, Canonical, la société derrière la distribution Linux est à fond derrière Flutter. La première étape consistait en la création d'un tout nouvel installateur graphique. Fort de ce succès, tous les développements d'applications pour la distribution utilisent désormais le framework de Google.
IOT, IOT, IOT ! Aujourd'hui Flutter sait fonctionner sur mobile, web et desktop. Mais la volonté de Google est d'aller au-delà en ciblant "l'informatique ambiante" : une sorte de mot-valise pour désigner tous les objets électroniques qui nous entourent. C'est ainsi que l'IOT devient un monde accessible avec de nombreuses solutions, comme Android Things (déprécié) ou Ubuntu Core.
Ubuntu Frame : un kiosque sur Ubuntu Outre la version 21.10 qui vient de sortir, Canonical en a profité pour annoncer Ubuntu Frame : un kiosque sous Ubuntu. Concrètement, cela vise tous les "écrans embarqués" qui n'ont qu'une seule application à afficher : un distributeur de banque, un panneau d'affichage, un miroir connecté…
Votre application Flutter sur Ubuntu Frame Parmi les frameworks pouvant fonctionner sur ce système, on peut citer QT, GTK, Electron, SDL2… ou encore Flutter ! (à noter qu'une simple page web est également compatible). Il suffit de créer le bon fichier de configuration (cf Rubrique Tutoriaux) et hop votre application est non seulement disponible sur les ordinateurs Ubuntu, mais aussi sur des kiosques ! |
|
|
 |
 |
|
Material Design est un ensemble de codes graphiques, notamment utilisés par sur Android. Sur le site officiel, des bibliothèques iOS et pour le web sont mises à disposition, afin de faciliter le paradigme du un design = plusieurs plateformes.
Google stoppe le support iOS Pour iOS, il existe deux moyens d'utiliser cette charte graphique : via l'implémentation en Flutter ou directement via des dépendances écrites en Objective C et/ou Swift pour UIKit (le framework de vues d'iOS). Le développement avait un double objectif : les applications publiques de Google (ex : Maps sur iOS), mais aussi pour les développeurs tiers. Mais coup de tonnerre en fin de semaine dernière : Google annonce finalement stopper le support de ces bibliothèques "natives" .
Mais pourquoi ?? Initialement les briques iOS avaient été développées pour gérer des cas non implémentés par UIKit. Mais au fil des années, celui-ci a rattrapé son retard, voire fait même mieux aujourd'hui. Selon Jeff Verkoeyen , en charge de ce projet, SwiftUI fournit aujourd'hui une meilleure solution pour concevoir des composants aux couleurs de sa marque. Enfin, ne plus utiliser ses composants va permettre à Google d'utiliser directement les composants graphiques d'Apple et donc de fournir une meilleure expérience.
Un impact pour Flutter ? Côté Flutter, cela ne devrait pas avoir de conséquences à court terme. Il est en effet tout à fait possible d'utiliser les composants Material sur iOS ou, à l'inverse, de choisir la bibliothèque Cupertino. Quelques voix s'élèvent toutefois dans la communauté Flutter pour dire que Google devrait laisser le développement des Widgets Cupertino au monde opensource et privilégier les nouvelles fonctionnalités. Un choix toujours difficile à arbitrer… |
|
|
Le reste de l'actu en bref' |
|
|
⏰ Ce lundi à 12h30, nous vous proposons un meetup sur notre chaîne YouTube. Au programme : la présentation de la bibliothèque Gate et un framework Flutter pour faciliter les échanges entre humains & vie numérique. |
|
 |
La réalisation de cette newsletter prend plusieurs heures chaque semaine. Vous voulez soutenir Flutter Digest en donnant à partir d’un euro sur Tipee ? En contrepartie : vous n’aurez jamais de pub et vous recevrez la newsletter en avant première !
|
Soutenir sur Tipee
|
⏫ Flutter 2.5.3 et Dart 2.14.4 sont disponibles sur le channel stable. Il s'agit essentiellement de corrections de bugs mineurs. |
|
✨ Du côté des Pull Requests Flutter, on peut noter :
- De nouvelles règles Lint vont être mises à disposition (PR #91659
) - Le ListTileThemeData va mieux respecter les conventions Flutter, préparez-vous à une migration à venir (PR #91449
) - Le InputDecorator va utiliser des attributs de type MaterialState là où c'est possible. Tout comme précédemment, il faudra s'attendre à un processus de migration (PR #91182
) |
|
👨💻 Une étude pour le cabinet de recrutement Cooptalis montre que les freelances ont la côte :
- 44% des entreprises ont augmenté le nombre de leurs freelances cette année
- 57% l'ont fait face aux pénuries dans leurs secteurs d'activité
- 43% des entreprises interrogées évoquent des missions de plusieurs mois
- 58 % des entreprises ont eu des cas de salariés demandant à passer freelance
|
|
📅 Dart UP, la conférence russe sur Dart et Flutter, revient pour sa cinquième édition en version 100% en ligne et gratuite. Profitez-en pour vous y inscrire , elle aura lieu cette année les 3 et 4 décembre. |
|
📝 Le DartPad semble supporter des dépendances supplémentaires : bloc, provider, riverpod, google_fonts… (la liste se trouve dans l'icône (I) en bas de l'écran) |
|
⚙️ Intel vient de mettre à disposition et en opensource un framework écrit en Dart pour "vérifier" le fonctionnement de nouveau matériel. |
|
⬆️ Le SDK de AppWrite (Backend As A Service opensource) pour Flutter vient de franchir le cap symbolique de la version 2.0 . Au programme : chaque méthode retourne désormais un Objet spécifique… et c'est tout ! |
|
🕸️ Le package firebase_database (FlutterFire) est désormais compatible Android, iOS……… et le web ! |
|
🧰 La dernière version de XCode peut maintenant "inspecter" les requêtes réseau, à condition d'avoir XCode 13 et un "vrai" téléphone ou tablette. |
|
⚰️ C'est la fin pour jQuery Mobile qui rentre désormais en phase de maintenance / dépréciation . |
|
✖️ Le support des applications Android sur Windows 11 n'est pas encore disponible, mais il semblerait que le système sache gérer plusieurs instances d'une même application. |
| |
|
Dans les années 2000, Windows XP était le système d'exploitation qui a conquis des millions d'utilisateurs dans le monde. Mais XP était surtout connu pour ses multiples failles de sécurité, obligeant Microsoft à faire des patchs très réguliers pour essayer de stopper l'hémorragie.
Devant ce problème, Microsoft a lancé en parallèle un projet réunissant 35 développeurs sous le nom de code Singularity. L'idée était de concevoir un système d'exploitation en partant de zéro, mais surtout de fournir une solution concrète aux problèmes de sécurité.
Développée à partir de 2003, la première version est sortie en 2007, avant de connaître quelques versions supplémentaires. Mais rapidement le projet a été abandonné et n'existe plus sous cette forme aujourd'hui.
Vous pouvez lire ce document PDF expliquant ce qui le différenciait des autres (ou cet article condensé). Les différents Windows sortis depuis ont probablement pioché certaines idées, mais il est intéressant de voir qu'à l'époque, chez Redmond, la sécurité était une problématique majeure. |
|
|
Articles & tutoriaux Flutter |
|
|
|
Non, non, il sera pas question d'Yvette Horner dans cet article, mais bien du composant graphique permettant d'afficher des informations qui se déplient. L'idée ici n'est pas de vous montrer du code, mais plutôt de s'attarder sur l'aspect ergonomique. Concrètement : quelles sont les bonnes pratiques pour utiliser ce composant. |
|
|
|
|
|
Cet article vous explique comment réaliser d'une part une fonction de recherche "commune" dans votre application. Puis d'un autre côté, comment afficher les résultats avec des visuels différents selon la plateforme utilisée. |
|
|
|
|
|
|
|
Imaginons que vous ayez une liste avec des Widgets différents les uns des autres et que vous souhaiteriez pouvoir vous déplacer à l'intérieur, comme dans un sommaire. Cet article vous explique comment cela est réalisable de A à Z. |
|
|
|
|
|
Flutter sur le Desktop n'est pas encore stable et son concurrent direct est nommé Electron. Cet article établit les forces et faiblesses de chaque solution pour déterminer celle qui est la plus optimale aujourd'hui sur différents points de comparaison. Verdict : à vous de lire l'article ! |
|
|
|
|
|
Kefeh Collins s'est mis en tête de tester les solutions de State Management qui existent en Flutter. Il a commencé par Stateless/Stateful/InheritedWidgets, avant de s'attaquer à flutter_hooks, Provider ou encore Riverpod. Bien évidemment, il n'a pas encore fini d'en faire le tour, mais cela vous donne déjà un bon aperçu des différences entre chacun. |
|
|
| |
|
|
|
Récupérer le numéro de version en Flutter Web |
Sur Android ou iOS, le numéro de version est géré par le système directement. Mais un site n'est pas versionné selon les mêmes critères. Toutefois, vous remarquerez que dans le dossier build/web, un fichier version.json est présent avec le nom de l'application, son numéro de version et un numéro de build (via @GonPalma). |
|
|
|
|
Générer des fausses données dans IntelliJ |
Test Data est un plugin officiel pour IntelliJ qui permet d'injecter des fausses données dans votre code. Vous pouvez utiliser des valeurs prédéfinies (texte, nombre, adresses) ou créer votre propre set (un JSON par exemple) |
|
|
|
|
Un petit casse tête |
Soit les deux codes suivants : codes 1 et 2
Les codes sont proches et pourtant les résultats sont très différents. N'hésitez pas à nous envoyer sur Twitter vos explications, la solution sera dans le prochain numéro ! |
|
|
| |
|
|
|
 |
|
How do you create a Flutter card layout that grows horizontally up to a given width, then remains fixed at that width just like in this example?
|
|
|
|
De manière régulière Mike Rydstrom établit un classement des packages facilitant l'utilisation du Navigator 2.0. Pour cette quatrième édition, go_router (la solution de Chris Sells) fait des débuts prometteurs. |
|
|
Bibliothèques Dart/Flutter |
|
|
|
|
|
|
|
 |
 |
|
AppWrite, l'un des partenaires du Hacktoberfest organisait mercredi une mini-conférence en ligne avec pour programme : Connecting your Flutter App to AppWrite, Scalable Flutter app development, Structuring a Flutter desktop application with macos_ui et enfin Generating a scalable Flutter App in seconds with Very Good CLI |
|
|
|
 |
 |
|
|
Il y a quelques numéros, fvm et son interface graphique Sidekick étaient présentés dans cette newsletter comme un outil vous permettant de gérer les différentes versions de Flutter par projet. Mais asdf est encore mieux, puisqu'il peut non seulement gérer du Flutter, mais aussi n'importe quel framework ou langage : Python, Kotlin, Symfony… (voici la liste complète). Très pratique, vous allez pouvoir définir, par projet, ou de manière globale une version, et il ne restera plus qu'à commiter le fichier .tool-versions pour que toute votre équipe en bénéficie. |
|
|
 |
 |
|
|
Panache est un outil pour Flutter vous permettant de créer un ThemeData pour votre MaterialApp. De manière visuelle et dans votre navigateur, vous allez pouvoir essayer les différentes couleurs et valeurs possibles. Un excellent outil pour les développeurs Flutter, voire même à donner directement à vos designers. |
|
|
 |
 |
|
|
Vous voulez savoir si vos requêtes SQL sont optimales ? Grâce à ce Linter, vous allez écrire des requêtes à la fois plus lisibles et probablement plus performantes ! |
|
|
Offres d'emploi, missions et stages |
|
| |
|
Sogelink - Caluire-Et-Cuire, 69 |
Né de la fusion de Sogelink et de Geodesial Group, deux éditeurs français leaders dans les domaines de la Construction et du BTP, Sogelink - Geodesial Group accompagne tous les acteurs de l'écosystème des infrastructures, des chantiers et du patrimoine avec des solutions logicielles, cloud et mobiles. Au sein de la direction technique et de votre équipe, vous avez la responsabilité de concevoir, développer et tester les solutions mobiles GEODP au sein du groupe Sogelink-Geodesial. La mobilité représente un véritable enjeu pour le groupe et de nombreux défis techniques sont à venir ! Le challenge vous plaira. |
| |
|
Capgemini - Montpellier, 34 |
Chez Capgemini, nous t'aidons à construire ta carrière en mettant en place tout un panel d'outils pour continuer à te challenger techniquement ! En tant que Lead Développeur Mobile H/F, tu seras amené à travailler sur la stack mobile de ton choix : Flutter, Kotlin, IOS / Android natif. |
| |
Vous recherchez un talent Flutter ? Envoyez-les sur Flutter-Jobs.tech ! |
 |
|
|
|
|
21 octobre |
En ligne |
L'histoire d'Android |
|
|
29-30 octobre |
En ligne |
Flutter Kaigi |
|
03-04 décembre |
En ligne |
Dart Up |
|
|
|