‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ 

Numéro 41 (18 octobre 2021)

Ouvrir la newsletter dans le navigateur

arrow

💙️ Nous soutenir 💙️

arrow

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.

Les actualités

Image Que retenir de l'interview de Chris Sells (Google) ?

Qui est Chris Sells ?
Chris flag_lng 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 flag_lng (qui est déjà en version 2.0), une bibliothèque simplifiant l'utilisation du Navigator 2.0. Dans une interview accordée à SyncFusion flag_lng (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 flag_lng [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 flag_lng. 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".

Image Ubuntu Frame : votre application Flutter dans un kiosque

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 flag_lng qui vient de sortir, Canonical en a profité pour annoncer Ubuntu Frame flag_lng : 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 flag_lng 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 !

Image Google abandonne Material Design pour ses applications iOS

Material Design flag_lng est un ensemble de codes graphiques, notamment utilisés par sur Android. Sur le site officiel, des bibliothèques iOS flag_lng et pour le web flag_lng 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 flag_lng 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" flag_lng.

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 flag_lng, 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 flag_lng 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 flag_lng)
  • Le ListTileThemeData va mieux respecter les conventions Flutter, préparez-vous à une migration à venir (PR #91449 flag_lng)
  • 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 flag_lng)

👨‍💻 Une étude flag_lng 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 flag_lng, 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 flag_lng 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 flag_lng. 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 flag_lng !

🧰 La dernière version de XCode flag_lng 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 flag_lng.

✖️ Le support des applications Android sur Windows 11 n'est pas encore disponible, mais il semblerait flag_lng que le système sache gérer plusieurs instances d'une même application.

ico

Le saviez-vous ?

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

Trucs & astuces

Le tweet

Twitter logo
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?
Image tweet

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

Lib seo_renderer

seo_renderer : Améliorer le SEO sur Flutter Web

Android iOS Web Linux Mac Windows

Le SEO (les optimisations pour les moteurs de recherche) est clairement un problème pour les sites développés en Flutter Web. Entre un site classique et un autre réalisé en Flutter Web, la balance chavire de l'autre côté pour de multiples raisons : temps d'affichage du site, indexation des données… C'est pour cette raison que Google recommande plutôt la technologie pour les "applications web", où cet aspect SEO n'est pas si important. Un package vient pourtant essayer d'améliorer la partie indexation en générant des balises HTML plus classiques. Cela permet ainsi aux robots des moteurs de recherche de mieux lire le contenu, mais en contrepartie, vous allez devoir faire quelques modifications dans votre base de code.

Lib upgrader

upgrader : Notifier les utilisateurs en cas de mise à jour

Android iOS Web Linux Mac Windows

Vous venez de publier une mise à jour sur le Google Play ou l'App Store ? Si vous souhaitez prévenir ou forcer vos utilisateurs à basculer vers cette dernière, ce package va extraire les données sur les boutiques d'applications et afficher la version ou encore la liste des nouveautés. Mais vous pouvez aussi utiliser appcast qui est un flux RSS (que vous devrez héberger) et qui vous permettra d'avoir entièrement la main sur les données affichées.

Le podcast

Image Une interview avec e.Voyageurs SNCF / OUI SNCF

Une interview avec e.Voyageurs SNCF / OUI SNCF

Tech Rocks est une communauté qui est destinée aux managers dans la tech'. Mais ce n'est pas pour autant que le contenu est inintéressant pour les développeurs. Ils produisent notamment un podcast hebdomadaire qui reçoit des salariés des entreprises connues… et pour le dernier numéro, il s'agit de Romain Ceyrat, CTO chez e.Voyageurs SNCF. Il y revient sur les bonnes pratiques mises en place en interne, notamment un permis à points. Mais surtout e.Voyageurs SNCF bascule progressivement vers Flutter. Très intéressant à écouter (27 minutes), ne soyez pas trop regardant sur les anglicismes un peu trop fréquents.

A noter que le 03 novembre prochain, des membres de l'équipe de développement Flutter feront une présentation lors d'un meetup. Mais on en reparlera d'ici là !

La vidéo

Image Les sessions Flutter lors du Hacktoberfest

Les sessions Flutter lors du Hacktoberfest

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

Les outils

Image Outil asdf

asdf : Gérer de multiples versions

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.

Image Outil Panache

Panache : Générer facilement le thème Material

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.

Image Outil SQLStuff

SQLStuff : Un Lint pour vos requêtes SQL

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

En partenariat avec Flutter-Jobs.tech

[CDI] Ingénieur Développement Mobile (H/F)

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.

[CDI] Lead Developpeur Mobile (H/F)

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 !
arrow

Prochains évènements

21
octobre

En ligne

L'histoire d'Android

29-30
octobre

En ligne

Flutter Kaigi

03-04
décembre

En ligne

Dart Up
Votre avis sur ce numéro
😍😆🙄😡👍👎