✨ Quels sont les changements à venir côté Pull Requests Flutter ?
Dans les Devtools, sur les stack traces du CPU, les lignes des fichiers seront maintenant affichées (PR #3718)
Sur les écrans pliables (de type Microsoft Surface Duo), les popups ne vont plus s'afficher en plein milieu des écrans, mais au bon endroit (PR #98981)
✨ Du côté de la communauté, il y a du neuf également :
Le package GoRouter de Chris Sells va rejoindre le GitHub officiel de Google. Assez logique quand on connaît sa popularité… et le fait que Chris soit un Googler (mais il vient d'annoncer son départ) ! (PR #884)
La WebView va désormais être notifiée lors du changement dans l'historique de navigation (PR #4915)
Le package officiel image_picker va bientôt être compatible avec Windows (PR #4863)
La base de données ObjectBox passe en version 1.4.0 avec notamment l'accès à une application pour visualiser les données depuis Android ou encore, la possibilité d'exécuter simplement des opérations depuis des Isolates
La réalisation de cette newsletter nécessite 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 !
🧩 Le concours Flutter Puzzle Hackse termine dans quelques heures. N'oubliez pas de soumettre vos propositions et n'hésitez pas à partager vos réalisations en réponse à cette newsletter !
♻️ En 2017, des chercheurs portugais ont essayé de déterminer la consommation énergétique des langages de programmation. Sur trois critères (consommation, rapidité & mémoire), Dart se situe dans la moyenne.
📃 Sur le Google Play, Google ne va finalement afficher les informations concernant la sécurité des donnéesqu'à partir du mois d'avril aux utilisateurs (contre février initialement). Pour les développeurs/éditeurs, vous avez désormais jusqu'au 20 juillet pour remplir le formulaire, sans quoi l'application pourra être retirée à tout moment.
✏️ Roboto est la police de caractères utilisée sur Android. Après l'avoir déclinée en versions Sans Serif, Mono, Slab et Condensed, elle est désormais proposée dans une version Serif. Relativement différente de ses petites sœurs, les formes arrondies doivent aider à la lecture. Quoi qu'il en soit, elle est déjà disponible sur Google Fonts, produit Google oblige.
🚪 Chris Lattner, créateur du langage Swift, continuait de s'occuper de son "bébé", bien qu'il ne soit plus employé par Apple depuis 5 ans. Il a toutefois annoncé il y a quelques jours ne plus vouloir y contribuer.
🕵️ Il y a quelques mois, Apple introduisait l"App Tracking Transparency" sur iOS afin de laisser le choix aux utilisateurs de partager leur identifiant publicitaire. Dans cet article passionnant écrit par d'anciens employés d'Apple, il en ressort qu'il s'agit d'une grosse fumisterie…
📈 Mois après mois, un petit chamboulement commence à se dessiner : Safari va perdre sa place de deuxième navigateur web. C'est déjà effectif en Europe (Microsoft Edge est à 18%, là où Safari est à 12%), mais au niveau mondial, Microsoft Edge, puis Mozilla Firefox sont à quelques encablures du navigateur d'Apple.
🎟️ Il était temps… les iPhone et Apple Watchpourront être utilisés en 2023 pour valider les titres de transport en Ile-de-France !
🔎 Pour éviter un éventuel espionnage de la part d'Apple, les employés des magasins Appleont utilisé des téléphones Android pour créer des syndicats.
À la suite d'un article publié sur Medium (mais supprimé depuis), je cherchais à vous partager un contenu autour des bords arrondis. Finalement, celui-ci est plutôt intéressant, puisqu'il vous explique pourquoi nous aimons les formes arrondies et par conséquent, quand les utiliser. À l'inverse, il permet aussi d'établir que selon le message véhiculé, des formes plus "tranchantes" peuvent tout à fait être appropriées.
La prochaine version d'Android, Android 13, ne sortira que dans plusieurs mois, mais Google propose déjà une Developer Preview afin de se familiariser avec les nouvelles fonctionnalités. Parmi elles, on peut citer les Themed App Icons qui permettent d'avoir une cohérence entre toutes les icônes des applications installées. L'idée est qu'un filtre d'une couleur soit appliqué sur votre logo. Cet article vous explique comment y parvenir (= c'est très simple) une fois que les APIs seront stabilisées.
La mémoire vive (RAM) n'est pas infinie et à tout moment le système d'exploitation peut décider de tuer votre application, afin de récupérer de l'espace. Qui dit suppression, dit forcément perte de l'état dans lequel se trouvait votre application. Dans cet article, vous allez justement apprendre comment éviter cela, à l'aide du mécanisme de sauvegarde / restauration, intégré à Flutter.
Realm (rachetée par MongoDB) est une base de données concurrente à SQLite. Depuis la fin janvier, elle est officiellement disponible en Flutter grâce à Dart:ffi. Si vous souhaitez l'utiliser, notamment sur Windows, cet article d'annonce vous explique comment y parvenir, mais un tour sur la documentation vous sera toujours utile.
Ah ! ce bon vieux Nokia 3310 et son Snake 🐍, un classique du genre ! C'est aussi un excellent sujet pour apprendre de nouvelles technologies. Appliqué à Flutter, cela peut se faire grâce au moteur de jeu Flame.
Cet article vient compléter le précédent sur le moteur de jeu Flame. Vous connaissez probablement le paradigme BLoC pour la gestion de l'état de votre application. Eh bien, figurez-vous, que les développeurs de Flame ont créé une bibliothèque nommée Flame BLoC, qui permet, comme son nom l'indique, de marier les deux.
Lorsque vous créez un nouveau projet, il faut ajouter les dépendances, établir l'architecture… : de nombreuses étapes longues et peu réjouissantes. Cet article vous montre comment réaliser cela en quelques secondes grâce à un petit script Python.
À noter que la Very Good CLI est une alternative plus complète. À vous de choisir ce que vous préférez !
Maintenant que le support des applications Windows est stable, de nouvelles questions viennent sur le devant de la scène et, notamment, l'aspect mise à jour. Que ce soit sur Android ou iOS, il suffit de se reposer sur la boutique d'applications. En revanche, pour du desktop, il faut souvent gérer cela en dehors d'une plateforme et c'est ce que permet ce plugin. Après avoir mis à disposition un fichier sur votre serveur, l'application vérifiera d'elle-même si elle utilise bien la dernière version et en notifiera l'utilisateur le cas échéant.
Pour rester sur la partie desktop, ce plugin permet d'afficher une icône dans la barre des tâches de Windows, le menu de macOS ou le clic droit sur Linux. Vous pouvez alors proposer tout un tas de menus / sous-menus…
Vous n'aimez pas la manière de concevoir les Widgets Flutter ? Niku propose une alternative avec une écriture en cascade (les deux points). Le résultat final est le même, alors pourquoi ne pas l'essayer ?
Jeudi dernier, nous organisions le deuxième Flutter App Clinic. Concrètement, deux développeurs ont présenté leurs applications devant un panel d'experts. Ce fut un superbe moment pour avoir des retours sur leurs applications… mais que vous pourriez tout à fait appliquer aux vôtres !
La fonction de Hot Reload de Flutter est bien pratique, mais tester différents jeux de couleurs n'est pas aussi pratique qu'un outil dédié. Vous connaissez peut-être Panache, un éditeur de thème Material pour Flutter. Eh bien, Appainter est un peu "le même, mais en différent". La principale différence se situe dans la manière d'intégrer le résultat. Chez Appainter, une fois le json du thème téléchargé, vous devez passer par la bibliothèque json_theme.
Il vous est probablement déjà arrivé de tomber en rade de connexion ADSL/Fibre. Vous avez alors sans doute fait un partage de connexion, avec si possible le même SSID pour que tous vos appareils puissent s'y connecter aisément. Pas besoin de faire si compliqué, puisqu'OpenMPTCProuter permet d'agréger plusieurs connexions (ADSL, 5G, Fibre…) et ainsi choisir la plus performante.
Les APIs riment souvent avec REST/JSON aujourd'hui, mais il existe des alternatives comme Protocol Buffers. L'idée de Buf CLI est de proposer un outil "tout-en-un" pour vos développements avec du Linting, la gestion de dépendances, la génération de code…