Un meetup est organisé ce lundi midi avec Aloïs Deniel (Google Developer Expert sur Dart & Flutter). Il expliquera comment implémenter des Design Systems personnalisés avec Flutter. Rendez-vous sur YouTube !
Un tout nouveau mécanisme concernant les thèmes vient d'être mis en place dans Flutter et devrait apparaître dans la prochaine version stable. Explications.
Les limites des Thèmes Il est aujourd'hui possible de modifier le thème d'une application, en créant un ThemeData ou en copiant un objet existant. Vous pouvez alors modifier les valeurs des différentes propriétés, mais il est toutefois impossible d'en ajouter de nouvelles. L'idée des extensions sur les thèmes est d'être beaucoup plus flexible, en vous permettant justement d'avoir vos propres attributs. Un exemple de code est disponible ici.
C'est validé ! La Pull Request est maintenant validée et permet d'y voir plus clair. Lorsque vous créez un thème, vous pouvez lui donner une extension, qui est en réalité une classe qui étend ThemeExtension. Dans celle-ci, vous pouvez définir tous les attributs que vous souhaitez et il ne vous reste plus qu'à fournir les valeurs. Tout cela va clairement nous changer la vie !
Le calendrier et les modalités autour du nouvel Advertising ID sur Android ont été légèrement modifiés. En voici les détails.
Advertising ID ? Courant de l'été 2021, Google a annoncé vouloir renforcer la sécurité et la vie privée des utilisateurs Android, pour faire suite à la mise en place de l'App Tracking Transparency sur iOS (qui ne marche pas si bien d'ailleurs…). Alors que les SDKs de pubs attribuaient par eux-mêmes des identifiants aux utilisateurs, Google va désormais s'en charger par l'intermédiaire des Google Play Services. L'idée est d'éviter la récolte d'éléments personnels par les applications, mais aussi d'offrir une plus grande transparence aux utilisateurs.
Et pour nous, développeurs ? Dès le mois de juillet 2021, Google annonçait que toutes les applications utilisant des SDKs publicitaires allaient devoir se mettre en conformité en 2022, dès lors que le targetSDK était fixé à Android 12. Pour cela, une permission particulière devait être ajoutée sur l'AndroidManifest.
Le calendrier est modifié Finalement, Google change son calendrier et ses modalités. À partir du 1er avril, toutes les applications Android, sur les téléphones, tablettes et télévisions connectés, recevront un identifiant vide, en cas de refus de l'utilisateur d'avoir des publicités personnalisées.
Par ailleurs, l'obligation d'ajout de la permission ne concerne plus Android 12, mais Android 13, ce qui laisse jusqu'à la fin de l'année 2022 pour se mettre en conformité.
Les actualités en bref
✨ Quelles sont les nouveautés côté Flutter et de sa communauté ?
Il était question du nouveau plugin Crashlytics pour Flutterdans le précédent numéro de la newsletter, malheureusement réservé aux bêta testeurs Firebase. Finalement, le lien est public, nul besoin de vous inscrire sur leur mailing-list
Le support de Material 3 se poursuit avec le Widget Card (PR #100532)
EnsembleUI est une plateforme pour, facilement, construire des interfaces Flutter selon le paradigme du "server-driven UI"
🧩 Pour perpétuer les éditions précédentes, voici trois nouvelles contributions au concours Flutter Puzzle Hack : Traffic Slide, SlideZ et ZPuzzle (créé par un français 🥖).
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 !
👋 Chris McKillop, responsable de l'ingénierie (engineering lead) sur Fuchsia vient de quitter Google.
💰 Après les multiples procès, Google va permettre aux applications Android d'utiliser des solutions de paiement différentes de celles du Google Play. Mais il ne s'agit que d'un pilote, dont on ne connaît toujours pas les modalités pour le rejoindre. Il est simplement question "d'un petit nombre de participants".
📻 Mitmproxy, le célèbre outil pour écouter les requêtes HTTP(S), vient de sortir en version 8, avec notamment des améliorations pour son interface web.
📟 Vous voulez tester la dernière version d'Android, sans acheter un nouveau téléphone ? Un Raspberry Pi 4 ou Pi 400 peuvent parfaitement faire l'affaire grâce à ce portage non officiel.
🕹️ Un nouveau canal de distribution pour les applications desktop ? Steam, le célèbre lanceur de jeux, permet de télécharger OBS Studio.
👨🏫 Vous voulez vous mettre à Rust ?Ces tutoriaux, façon apprentissage par l'exemple, sont gratuits.
🔴 Firefox pas si bon élève qu'il le prétend ? Chaque téléchargement est marqué par un identifiant unique pour ensuite enrichir les données télémétriques. Il aurait été préférable de communiquer là-dessus dès le départ…
Pour l'article UI/UX de cette semaine, on va s'attarder sur de bonnes pratiques. Google Photos a été un véritable casse-tête pour les UI/UX designers, car produire une interface graphique pour des éléments dont le ratio n'est jamais le même, est compliqué. Mais, le fait est qu'aujourd'hui, Google Photos est une réussite et cet article vous explique comment l'équipe y est parvenue.
Une gigantesque playlist de 37 heures vient d'être mise en place pour vous permettre d'apprendre à développer en Flutter. Plusieurs avantages : l'intégralité du contenu est gratuit et le parcours de formation est complet (de Dart jusqu'à la publication sur les boutiques d'applications).
Même les développeurs font des titres "putaclics" maintenant ! Mais rassurez-vous le contenu est tout de même de qualité. L'auteur de cet article explique en quoi ObjectBox est une excellente base de données, mais évoque aussi certaines de ses fonctionnalités pratiques comme un panneau d'administration via une interface web.
Eric Taix, que vous aviez pu apercevoir dans le précédent App Clinic, vous propose un article très complet autour de l'implémentation des cartes (via Google Maps et OSM) dans une application Flutter. Ne comptez pas sur un énième tutorial vous expliquant comment installer le plugin, mais plutôt sur un guide des bonnes pratiques et, comment obtenir le rendu de l'application Not A Topo (Android / iOS).
Vous utilisez VSCode pour développer vos applications Flutter ? Cet excellent article vous liste tout un tas d'astuces, raccourcis et extensions à utiliser pour améliorer votre quotidien. Et en plus, tout est expliqué en français !
Trucs & astuces iOS
Au programme de cette semaine, deux astuces pour vos développements pour les plateformes Apple. :
Des builds plus rapides
Comme indiquée dans ce tweet, la commande defaults write com.apple.dt.XCBuild EnableSwiftBuildSystemIntegration 1 permettrait de diminuer les temps de build. Est-ce votre cas ?
Calculer le temps de build
Toujours sur XCode, vous pouvez savoir le temps de build grâce à la commande defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES
Toutes les APIs sont réunies dans Flutter pour afficher des informations en sur-impression, comme des Tooltip, popup…, mais coder cela à la main n'est pas toujours très intuitif. Cette bibliothèque vous facilite grandement la vie avec une API déclarative (comme les Widgets) ou encore un alignement à l'écran, facilité.
Figma est votre outil de prédilection pour la conception des interfaces graphiques de vos applications ? parabeac_core devrait alors vous ravir, puisqu'il génère automatiquement le code Flutter associé. La semaine dernière, la version 2.5 est sortie avec un support amélioré.
Kodezi est un (énième) nouvel outil basé sur l'IA, mais dont les promesses sont toutefois intéressantes. Supportant de nombreux langages (dont Dart, Kotlin, Swift…), il peut détecter les bugs, améliorer la structure du code et même générer des commentaires. Dans les faits, j'ai essayé à de multiples reprises, mais les résultats n'ont pas été flamboyants. Allez-vous avoir un peu plus de chance que moi ?