Après avoir réfléchi longuement sur le format, j'ai enfin décidé de me lancer dans un podcast audio. Complémentaire à cette newsletter, il vous propose un condensé de l'actualité tech' par le prisme de mes yeux de développeur. En une dizaine de minutes, j'y évoque les sujets qui ont marqué les derniers jours et je termine par la présentation d'un coup de cœur (une application, un produit…).
On associe généralement Flutter à Google, mais il y a d'autres acteurs qui y contribuent au quotidien, comme Canonical (Ubuntu) ou encore Microsoft.
Pourquoi Flutter ? Bien que Microsoft dispose de ses propres frameworks pour du cross-platform comme Xamarin (et prochainement .NET MAUI), la société américaine explique "aller là où se trouvent les développeurs et fournir la meilleure expérience possible pour développer sur le Surface Duo".
Le support des écrans pliables Suite à la sortie des Surface Duo 1 et 2, Microsoft a proposé de nombreuses Pull Requests dans Flutter afin de supporter les écrans pliables dans le framework. C'est ainsi que la classe MediaQuery dispose dorénavant d'un attribut Display Features listant les spécificités de l'écran utilisé et qu'un Widget DisplayFeatureSubScreen permet d'afficher du contenu sur un seul écran. D'autres PRs sont en cours de validation comme le support des popups ou encore un Widget TwoPane.
Les actualités en bref
✨ Quelles sont les nouveautés côté Flutter et sa communauté ?
Le support de Material 3 se poursuit : les Dialog (PR #98919), tout comme les badges (PR #99853) sont maintenant parfaitement compatibles et seront suivis par la nouvelle animation des InkWell (PR #99731)
Pigeon, l'outil permettant de générer le code Dart <-> plateformes s'apprête à gérer les background platform channels (PR #1022)
Les Flutter Dev Tools pourront prochainement exporter les traces réseau au format HAR, notamment supporté par Postman (PR #3807)
Appwrite, le BaaS opensource, est fier d'annoncer que les "cloud functions" obtiennent des performances radicalement meilleures grâce à l'aide des contributeurs au projet
🧩 Maintenant que le concoursFlutter Puzzle Hack est terminé, vous trouverez régulièrement des propositions et celles de cette semaine sont impressionnantes : Dashtronaut et Slide Puzzle.
📣 Flutter prend de l'envergure, à tel point que des sociétés qui fournissent des SDKs pour le framework commencent à publier des communiqués de presse !
🗺️ La nouvelle application WeGo (anciennement HERE Maps) a été entièrement réécrite en Flutter et les développeurs justifient leur choix dans un article. N'hésitez pas à tester leur application (Android ou iOS) ou leurs SDKs Flutter (Explore et Navigate).
🗜️ Une fonction d'archivage des applications arrivera bientôt sur Android. Plutôt que de les désinstaller complètement et perdre les données des utilisateurs, seul le code serait supprimé. Cela permettrait ainsi de retrouver l'état précédent lors d'une réinstallation. Même si l'on ne connaît pas en détail comment cela sera implémenté, il est déjà possible de créer des APK "archivables".
🧪 Vous avez besoin de tester vos applications sur de vrais téléphones Samsung ? Le Remote Test Lab accueille désormais les Galaxy S22 et Tab S8.
🤦 Episode 2435 de la "censure" des AppStores : Google a bloqué l'application opensource StreetComplete permettant de contribuer à OpenStreetMap. La raison ? Les applications du Google Play ne doivent pas proposer d'autres méthodes de paiement. La faute ? Dans la page A propos, des redirections vers GitHub Sponsors, Liberapay ou Patreon étaient mis en avant.
💰 Chromium / Google Chrome vont bientôt franchir la barre de la version 100. Parmi les nouveautés : une API pour acheter des biens dématérialisés et qui sera notamment connectée au Google Play sur Android.
🖥️ Swift 5.6 sortira très prochainement et cet article vient vous expliquer toutes les nouveautés - plutôt nombreuses - qui l'accompagneront.
Le saviez-vous ?
Vous êtes vous déjà demandé pourquoi les fichiers cachés sur les systèmes Linux commençaient par un point (.) ? Tout a initialement commencé avec le premier système de fichiers pour UNIX, où deux raccourcis ont été mis en place : un fichier avec un seul point (.) désignant le répertoire courant et un second avec un double point (..) permettant de revenir sur le dossier parent.
Dans la mesure où ces deux éléments n'étaient que des raccourcis, un hack a été mis en place dans la commande ls. Ainsi, si un fichier commençait par un point, il est tout simplement ignoré. Par conséquent, n'importe quel fichier commençant par un point n'est pas visible si on utilise la commande ls standard. Et c'est ainsi qu'un hack est devenu la norme pour désigner les fichiers cachés !
Afficher des boutons, rien de plus simple me direz-vous ! Oui, mais avez-vous pensé à gérer l'accessibilité ou encore bien différencier les types d'informations ? Dans cet article orienté UI/UX, vous verrez que les choix à faire ne sont pas si simples et que le moindre détail a son importance.
Si vous développez des applications pour Android, vous avez peut-être remarqué que votre disque se remplissait peu à peu. L'origine de cet embonpoint : le cache Gradle. En effet, le système de build conserve les dépendances qu'il a téléchargées pour vous faire gagner du temps. Mais très souvent, certaines ne sont plus utilisées et prennent une place importante. Dans cet article, vous apprendrez comment faire rapidement et efficacement le ménage !
Saviez-vous qu'il existe une classe AsyncCache permettant de mettre en cache le résultat de méthodes asynchrones ? Très simple d'utilisation, je suis sûr que vous ignoriez son existence et allez maintenant en user et abuser !
A base de Firebase, Radar et ML Kit, vous allez apprendre comment concevoir une fonctionnalité de messagerie sur Flutter. Le bonus vient des "smart replies" : des suggestions de réponses comme vous le trouvez sur de nombreuses applications Android aujourd'hui.
Vous avez peut-être déjà exploré les différentes animations qu'il existe au scroll sur les AppBar. Mais vous avez certainement une meilleure idée et aimeriez l'implémenter. Cet article des Français de chez BAM vous explique justement comment concevoir votre propre animation.
Les Progressive Web Apps (PWA) peuvent être installées directement depuis le navigateur. Mais, saviez-vous que vous pouviez aussi "packager" des PWA dans des applications classiques ? Cet article de Microsoft vous explique comment procéder pour une publication vers l'App Store, le Google Play ou le Microsoft Store.
Que ce soit sur Windows, macOS ou Linux, les applications s'exécutent dans des fenêtres. Ce plugin vous permet d'avoir un accès total : modifier la position, changer la taille, changer l'opacité, le style… Mais il permet aussi d'avoir un listener sur les différents événements : lorsque la fenêtre est minimisée, déplacée, affichée en plein écran… Il faudrait presque qu'elle soit intégrée directement dans Flutter !
Radio Player est un package pour Flutter qui permet de lire du contenu audio en streaming. Votre application n'a pas besoin d'être au premier plan (très utile pour des podcasts ou de la lecture de musiques) et les contrôles sur l'écran de verrouillage sont même supportés !
Le COVID aura eu la peau de l'événement physique de Flutter Vikings, mais l'équipe a tout de même persisté avec une conférence 100% en ligne. De très nombreuses présentations ont eu lieu et sont désormais disponibles au rattrapage sur YouTube. Profitez-en, c'est gratuit !
Flutter Design est un outil complet pour concevoir le design system de votre application. Après avoir défini les différentes règles, le code peut être directement exporté vers votre projet ou vous pouvez utiliser le design viewer pour vous assurer (ou partager) que tout est en ordre. En voici un exemple.
Oui… et non. Steward est un framework pour concevoir des backends en Dart, mais il se distingue par ses fonctionnalités. D'une part, il se veut modulaire en ciblant autant les petits projets que les plus grosses applications. Il intègre de l'injection de dépendances, accepte des templates créés en Mustache…
Vous avez déjà vu les badges sur des repos Git et vous aimeriez en ajouter sur vos beaux README ? Ce site vous permet d'en sélectionner parmi une vaste sélection et bien évidemment Dart & Flutter en font partie !