|
|
|
|
|
|
Ces deux évolutions sont avant tout itératives, en apportant, certes, des améliorations intéressantes, mais qui sont principalement des points de détail. Trois articles ont été publiés sur Medium : Annonce de Flutter 3.3, les nouveautés de Flutter 3.3 et Dart 2.18.
Dart 2.18 : l'interopérabilité avec Swift / Objective C Grâce à Dart:FFI, Dart est aujourd'hui en mesure de communiquer directement avec du code natif développé en C. Depuis la version 2.18, la compatibilité s'élargit à deux langages familiers de l'écosystème Apple : Objective-C et Swift. Cela va ainsi permettre la réalisation de bibliothèques comme cupertino_http et ainsi exposer des APIs comme NSURLSession. Pour l'heure, le support est qualifié d'expérimental, mais fort prometteur. Malheureusement, aucun mot sur l'avancée du très attendu static metaprogramming.
Impeller prend du grade Nous aimons tous Flutter, mais il faut admettre que les animations sur iOS ne sont pas toujours aussi fluides que sur Android. C'est pour cela qu'Impeller, un tout nouveau moteur de rendu avait été présenté en mai dernier. Les premiers essais ont été concluants, permettant au projet de rejoindre le tronc Flutter central et d'être désormais accessible, par l'intermédiaire d'un flag. À noter toutefois que seul iOS est supporté, la version Android n'étant "pas prête pour une preview".
Des Widgets, des meilleures performances… L'édition 3.3 de Flutter suit la droite lignée de ses prédécesseurs avec des nouveaux attributs, quelques nouveaux widgets (SelectionArea, AnimatedFractionallySizedBox…) et la poursuite du support de Material Design 3. On note toutefois le support de Scribble (interprétation de l'écriture manuscrite), une meilleure gestion du trackpad et la fin annoncée du 32 bits pour iOS. Si vous souhaitez rentrer dans les détails, j'ai pu réaliser trois vidéos mettant l'accent sur les nouveautés annoncées et les différentes Pull Requests validées (partie 1 et partie 2). |
|
|
|
|
|
Le problème apparu il y a plusieurs mois déjà reprend de l'ampleur. Android Beam sera complètement supprimé d'Android 14. Chrome OS va permettre de jouer aux jeux tactiles Android… mais avec un clavier. Enfin, si vous utilisez Python, faites très attention aux dépendances ! |
|
|
|
|
|
Deux failles de sécurité importantes ont été trouvées. La première concerne des access tokens donnant porte ouverte à des données confidentielles sur AWS. La seconde montre que l'on peut facilement détourner les Actions sur GitHub, afin de récupérer des clés signant les packages. |
|
|
|
|
|
Le typosquatting consiste à héberger des packages malicieux sous des noms proches d'une bibliothèque : urllib au lieu de urlib . Malheureusement, il est difficile de lutter contre. Par ailleurs, Pub.dev se montre particulièrement mauvais lorsqu'il s'agit d'héberger du contenu publicitaire comme cette dépendance, qui est présente depuis plusieurs jours déjà. |
|
|
|
|
|
De plus en plus de smartphones se disent résistants à l'eau, mais une fois dans cet environnement, ils sont coupés de toute communication. Des chercheurs sont toutefois parvenus à établir un protocole permettant de faire dialoguer deux téléphones entre eux par le son. Cette émission revient aussi sur les tarifs de Xcode Cloud, la solution de CI/CD d'Apple. |
|
|
| | |
|
Avant de basculer vers Flutter 3.3, attendez peut-être quelques jours, car des régressions sont notées sur l'anti-aliasing du texte, le scroll (lien 1 & lien 2) et certaines bibliothèques qui ne fonctionnent qu'en partie. |
|
Comme chaque mois, place aux mises à jour des plugins officiels pour les IDEs. Côté IntelliJ IDEA, la M70 permet d'avoir l'émulateur intégré à la fenêtre (comme sur Android Studio). Et de l'autre pour VS Code, la 3.48.0 apporte un changelog bien plus touffu avec le renommage des dossiers qui va automatiquement corriger les import. |
|
Côté Dart, un breaking change est annoncé autour des ResourceHandle . |
|
Flutter Vikings avait lieu la semaine dernière et voici quelques slides dénichés sur les réseaux sociaux : |
|
Côté communauté Flutter, voici les changements :
- Rémi Rousselet vient d'annoncer officiellement que Riverpod 2.0 devrait sortir au cours du mois de septembre
- Le package officiel Quick Actions passe en version 1.0, car rien ne justifiait le fait de persévérer en 0.x.
- Wiredash, l'outil permettant aux utilisateurs de faire des retours directement dans les applications Flutter voit son modèle de prix changer. On est désormais très proche des solutions concurrentes (environ 1 000 € l'année)
- Serverpod supporte désormais l'authentification via Firebase dans la version 0.9.10
- Suite à l'arrivée de
cupertino_http , la bibliothèque Dio devrait bientôt l'intégrer à son écosystème. |
|
Au cours de la session de questions/réponses de Flutter Vikings, l'équipe Flutter, chez Google, a indiqué que le support de l'Apple Watch était "quelque chose sur lequel ils ont commencé à travailler". |
|
Google Bug Hunters vient de lancer un programme autour des projets opensource du groupe et hébergés sur GitHub. C'est notamment le cas pour Flutter, où selon le type de faille découvert, les récompenses varient de 5 000 à 13 337$. Pour Fuchsia, qui est un projet dit "flagship", elles sont doublées et peuvent atteindre 31 337$. |
|
Comme chaque mois également, VSCode a été mis à jour : vous pouvez consulter les nouveautés sur ce lien. |
|
Une interview de l'ancien directeur de Fuchsia a été réalisée par le média 9to5Google. On y apprend quelques informations, mais il semblerait qu'il soit encore sous NDA, dans la mesure où peu d'informations "fracassantes" sont données. |
|
L'application Hamilton fut la première vitrine de Flutter. Conçue par la société Very Good Ventures, son créateur a fait l'objet d'une interview dans laquelle il explique comment elle a permis la croissance effrénée de l'entreprise depuis. |
|
AWS Amplify propose de nombreux SDK Flutter. En partenariat avec Hashnode, un hackathon est organisé pour gagner jusqu'à 1 000 $ de crédits sur la plateforme. |
|
La GameJam autour du moteur de jeu Flame a permis la création d'une vingtaine de mini-jeux. Si vous avez quelques minutes à perdre, vous avez de quoi faire ! |
| |
Articles & tutoriaux Flutter |
|
|
|
Un des participants à Flutter Vikings a publié ses notes (jour 1 et jour 2) sur les deux journées de la conférence Flutter. Cela devrait vous guider pour choisir quelles sessions visionner dans les différents replays proposés par les organisateurs. |
|
|
|
|
|
Plutôt qu'un long article, voici une liste de 12 astuces UI/UX à appliquer dans toutes les applications (mobile/web/desktop). Cela concerne le mode sombre, les champs de recherche, les formulaires… |
|
|
|
|
|
Vous venez tout juste de commencer votre épopée vers l'apprentissage de Dart et Flutter ? Pour vous guider dans cette quête, voici un exemple de route à suivre qui couvre les principaux sujets autour du framework de Google. À noter qu'il manque probablement les notions de Flutter Web et Desktop, qui ne sont pas explicitement nommées. |
|
|
|
|
|
Les trois flux standard pour les entrées/sorties sont aussi disponibles en Dart, par l'intermédiaire de dart:io . Cet article vous explique comment exploiter chacun, par le prisme d'une application en ligne de commande. |
|
|
|
|
|
Parmi les nombreux changements apportés à Dart 2.18, on peut notamment citer l'ajout de trois nouvelles règles pour Lint : discarded_futures, unnecessary_to_list_in_spreads et unnecessary_null_aware_operator_on_extension_on_nullable . Cet article vous explique ce que chacune apporte, pour vous laisser décider si elles peuvent ensuite être ajoutées dans votre analysis_options.yaml . |
|
|
|
|
|
La meilleure manière de faire du Flutter est de réaliser un projet "de zéro". Il est également possible de faire cohabiter du code existant avec de nouvelles fonctionnalités en Flutter. Appelé "add-to-app", cela fonctionne aussi bien sur Android, iOS, que sur le web. À ce titre, il existe un exemple officiel très bien documenté qui explique comment y parvenir sur le GitHub de Flutter. |
|
|
|
|
|
Le dock de macOS est notamment connu pour son effet de grossissement (magnification en anglais) au passage de la souris. L'auteur de cet article s'est pris au jeu de le recréer et explique comment il y est parvenu. Son code est disponible séparément. |
|
|
|
|
|
Vous avez peut-être remarqué qu'il existe en Flutter la notion de KeepAlive , généralement autour de listes. Il existe par exemple un attribut addAutomaticKeepAlives sur les ListView . Si le concept vous est toujours apparu comme obscur, vous avez ici une excellente explication. |
|
|
|
|
|
Ah notre cher CORS ! Si utile sur le papier et pourtant si embêtant pour nous, développeurs. Si vous vous appuyez sur Firebase Storage pour stocker des images à afficher, vous allez rapidement vous confronter à la fameuse erreur. N'ayant pas la main sur le serveur (service Google oblige), existe-t-il une solution pour se dépatouiller de ce tas de nœuds ? Bien sûr, en suivant ce guide ! |
|
|
|
|
|
Il n'y a pas que Flame pour concevoir des jeux, puisqu'Easy Physics 2D est un moteur physique 2D. A travers un exemple très simple, vous apprendrez comment l'utiliser, avant de - pourquoi pas - passer à plus grande échelle ? |
|
|
|
|
|
Vous avez entendu parler des Shaders, mais vous n'avez pas encore franchi le pas pour créer votre premier ? Plus besoin de vous cacher derrière votre petit doigt, puisque cet article vous prend la main pour obtenir une belle animation à la fin. |
|
|
|
|
|
Le problème soulevé par ce développeur est intéressant : la maintenance des packages sur Pub.dev. Alors qu'il réalisait une application nécessitant de la cryptographie, il a ouvert une Pull Request pour améliorer une bibliothèque existante, mais qui n'a jamais reçu une quelconque réponse. Malgré des relances par email, il en est resté au même stade. La solution dans ce cas de figure est de forker le repo et d'utiliser celui-ci dans le pubspec. L'interrogation sur la maintenance à long terme des packages est intéressante. Que faire dans ce type de cas ? |
|
|
| |
|
|
|
|
#dart team/community should promote Isolate more. The new API http://Isolate.run() is one step closer to making Isolate more friendly to developers. I saw many developers blaming #Flutter for janky, but they even haven't used Isolate to wrap their heavy computations!
|
|
|
|
Dans Dart 2.19, une méthode run sera disponible sur la classe des Isolate . Plus besoin de créer les différents canaux de communication, à l'image de la méthode compute , mais uniquement disponible en Flutter, (pas en Dart).
|
|
|
Les bibliothèques Dart/Flutter |
|
|
|
|
|
|
|
|
|
|
Lorsque vous faites des Pull Requests, vous avez normalement créé des branches pour chacune des fonctionnalités. Une fois, celles-ci acceptées (ou non), elles deviennent alors inutiles. C'est ici qu'intervient le concept de git prune , qui consiste à supprimer ces branches devenues obsolètes. |
|
|
|
07 septembre |
Antwerpen, Belgique |
Flutter Belgium |
|
19 septembre |
Paris, France |
Build for Everyone |
|
|
18 octobre |
New York, USA |
Firebase Summit |
|
20-21 octobre |
Nantes, France |
Devfest Nantes |
|
|
|