Je vous en avais déjà parlé lors de sa sortie, mais il existe également une newsletter en français sur le développement Android : Android Croissants. La personne qui s'en occupait jusqu'à présent n'a plus suffisamment de temps pour cela et j'ai donc pris la relève. Si l'actualité autour du développement natif sur Android vous intéresse, n'hésitez pas à vous y abonner !
La conférence annuelle des développeurs autour des technologies Google aura lieu au mois de mai… mais toujours au format virtuel.
Google I/O ? La Google I/O est un événement annuel qui existe depuis 2008 et dans lequel Google présente ses nouveautés. La conférence commence par un keynote plutôt orienté grand public, où des annonces "produit" sont faites : les changements sur Maps, la présentation de Google Photos…
S'ensuit un keynote dédié aux développeurs, où tous les changements sur Chrome, GCP, Chrome OS, Android… sont dévoilés. Tout cela se conclût par de multiples sessions sur des sujets plus spécifiques : le State Management en Flutter, l'intégration Firebase <-> Flutter…
Que peut-on en attendre en 2022 ? En 2021, Google avait présenté Material YOU, ainsi que des détails sur Android 12. Le même type de présentation devrait avoir lieu cette année avec la version 13, déjà disponible en version preview. Flutter devrait aussi avoir droit à son lot de nouveautés, dans la mesure où la 2.10 n'était pas si enthousiasmante.
Crashlytics permet de récolter les crashs en direct sur les applications mobiles. Racheté par Google, ce produit est désormais compatible Android, iOS et Unity. Malheureusement sa version Flutter laisse encore à désirer.
L'implémentation actuelle Aujourd'hui le plugin Flutter est basiquement un wrapper autour des SDKs pour Android et iOS. Mais l'intégration avec le code Dart n'a rien à voir avec ce que l'on peut obtenir avec Java/Kotlin ou Objective C/Swift.
Les changements Dans un message publié sur la mailing-list des tests Firebase (vous pouvez demander à la rejoindre), une nouvelle version alpha du plugin Flutter est proposée en test. Concrètement, les événements seront maintenant envoyés en temps réel sans avoir besoin de relancer l'application. Par ailleurs, les fonctionnalités comme les Velocity Alerts fonctionneront de manière similaire à Android et iOS.
Les actualités en bref
⏫ Une nouvelle version de Flutter est disponible sur le channel bêta : 2.12.0-4.1.pre.
Le support de Material 3 se poursuit avec le composant TimePicker (PR #99931) ou encore l'ajout d'un attribut surfaceTintColor sur le Widget Material (PR #100036)
⏫ La semaine dernière, Apple a mis à jour iOS et macOS. Les nouveautés sont principalement tournées vers les utilisateurs, mais il y a tout de même de quoi "se mettre sous la dent" avec des changements nombreux sur Safari (et donc de la WebView).
📣 Google a mis en ligne une nouvelle Developer Preview d'Android 13. Parmi les nombreux changements, il sera désormais obligatoire de demander la permission aux utilisateurs avant de publier une notification !
🕹️ Google a organisé un événement en ligne pour les développeurs de jeux (Android & Stadia). On note toutefois une information intéressante : le Google Play va maintenant permettre de lancer des applications, même si le téléchargement n'est pas terminé.
🧟 Les "smombies" sont les utilisateurs de smartphones qui ne regardent pas toujours devant eux en pleine rue. Ce comportement dangereux inquiète la RATP, qui va mettre en place un test où les chauffeurs de bus pourront émettre un gong afin de réveiller ces zombies modernes. Malheureusement, le projet nécessitera l'installation d'une application pour qu'une popup vienne alerter les "smombies". Autant dire que l'on connaît déjà les résultats de l'expérimentation…
♻️ Nos applications bientôt "éco-certifiées" ? C'est déjà le cas du lecteur de PDF Okular (suite KDE) qui est le premier à recevoir cette distinction de la part du gouvernement allemand.
♻️ Apple nous a présenté la suppression des chargeurs et écouteurs comme un geste écologique. Dans les faits, il s'agit plutôt d'une belle action pour les finances de la société, car elle aurait économisé 6 milliards de dollars selon certains analystes !
🎮 Le Syndicat des Editeurs de Logiciels de Loisirs (SELL) a publié son étude annuelle sur le marché français du jeu vidéo. En s'intéressant à la partie mobile, on note que les chiffres sont légèrement en baisse par rapport à 2020, mais tous les autres chiffres sont en forte croissance. Le jeu vidéo est donc un marché avec de belles perspectives dans les années à venir !
👾 Amazon a décidément tout compris. Pour attirer des nouveaux développeurs sur AWS, ils ont mis en ligne un jeu pour apprendre à utiliser la plateforme.
💙💛 L'application Unclutter regroupe des accès rapides vers ses fichiers, au presse-papier et à des notes sur macOS. Afin de soutenir les civils ukrainiens, son développeur propose l'application gratuitement et l'ensemble des dons iront dans un fond dédié, géré par la Banque Nationale ukrainienne.
Pour l'article UI/UX de cette semaine, il s'agit d'une critique de l'application iOS de GMail. Avec 1,8 milliards d'utilisateurs actifs (toutes plateformes confondues), l'application se doit d'être parfaite. Il y a pourtant à redire, particulièrement du côté des TRÈS nombreuses popups.
On évite autant que possible de parler de politique dans la newsletter, car ce n'est (hélas 💙💛) pas l'actualité qui manque dans ce domaine. Mais je vous partage le projet opensource sur lequel a travaillé la société OCTO dans le cadre du Contrat Engagement Jeune. Dans la mesure où il s'agit d'un service public, tout le code est disponible et riche en enseignements. La stack utilise notamment du Flutter Redux, Firebase Cloud Firestore…
Voici le titre de l'article absolument pas "putaclic" de Jamon Holmgren, un fervent supporter de React Native. Néanmoins, il revient point par point sur les forces et les faiblesses des deux frameworks, de manière plutôt honnête et transparente. Mais, sa conclusion est un peu décevante, puisqu'au moment d'établir la meilleure technologie, il botte en touche avec un "ça dépend".
Pub.dev est extrêmement pratique, puisqu'il regroupe, dans un même endroit, les dépendances. En revanche, tout le contenu est obligatoirement public.
Depuis la dernière version de Dart (2.16), il est possible de se connecter à d'autres instances que Pub.dev, et ainsi avoir l'opportunité de ne pas exposer les dépendances internes. Cloudsmith propose notamment cette fonctionnalité, qui est gratuite pour les projets publics ou opensource, sinon il vous faut sortir le chéquier avec tout de même une mensualité de 99 $/mois.
Aloïs Deniel, Google Developer Expert sur Dart et Flutter, revient dans un article sur la notion de séparation des responsabilités (ou separation of concerns en anglais) en Flutter. En effet, faire une salade entre UI, données, transformations… fonctionne peut-être à un instant T, mais sera très compliqué à maintenir. Après avoir lu l'article, vous aurez une multitude d'astuces pour éviter que votre code ne devienne un cauchemar dans quelques mois.
Côté Web maintenant, il est très fréquent d'inclure des dépendances externes (ex : les Google Fonts) via les serveurs des services en question. Mais est-ce une si bonne pratique ? Ne faudrait-il pas plutôt les héberger avec votre site ? Vous trouverez les points positifs et négatifs des deux propositions dans cet article.
Le support des applications Windows est stable depuis quelques semaines, mais pour Andrew Zuo ce n'est qu'un mirage. Dans cet article, il explique pourquoi le support du "desktop" n'est pas encore suffisamment mature sur Flutter et pourquoi vous devriez attendre encore un peu avant de vous y plonger dessus les yeux fermés.
Ashlar Text est un éditeur de texte similaire à SublimeText et initialement développé en C/C++ avec Qt comme frontend. Son développeur s'est lancé il y a quelque temps dans une refonte avec Flutter en ligne de mire. Afin de conserver une partie de son travail, il a utilisé Dart:FFI et il partage ensuite ses retours.
Flutter Tip #5: Contains diacritics insensitive 💡
A way to elevate the "contains" method of the String object to become diacritics insensitive ! (Especially useful when you are working with characters with accent)
#dart #flutter #FlutterTip #DartTip
Cette astuce est particulièrement utile pour les langues avec des accents, dont fait partie le français. L'idée est de rendre la méthode contains insensible aux accents. Pratique, non ?
Vous voulez rendre vos listes et grilles moins monotones ? Grâce à ce package Flutter, différentes animations vous sont proposées. Attention toutefois à ne pas trop en faire, vos utilisateurs n'attendent pas de vos applications d'être des sapins de Noël !
Découvert par hasard sur la newsletter Android, Lofelt est un outil permettant de générer des retours haptiques avancés. Pour cela, une application nommée Lofelt Studio (en version desktop ou mobile) vous permet de générer des retours complexes. Un fichier est alors créé et importable dans votre application. Côté Flutter, seule l'implémentation iOS existe, n'hésitez pas à contribuer pour son penchant Android !
Très souvent, les développeurs backend nous donnent des commandes curl pour tester leurs APIs. Mais la transformation en code (Dart pour ne citer que le meilleur) nous oblige à nous plonger dans la doc' pour ne pas commettre d'erreur. Bonne nouvelle, puisque désormais cet outil va faire la conversion à votre place, que ce soit vers du Dart, Javascript, Java, Rust…