Les entreprises sont en quête d’outils permettant de développer un seul code tout en ciblant l’ensemble des plateformes à la fois mobile, Desktop et Web.

Web, Mobilité et BYOD, mais aussi nouveaux scénarios numériques métiers, ont conduit les entreprises à accepter dans leur SI une grande variété de terminaux et de systèmes d’exploitation. La problématique du développement cross-plateforme est toujours au cœur des débats, les entreprises cherchant de plus en plus à ne plus avoir une équipe de développeurs par plateforme et à ne développer qu’un seul code visant toutes les plateformes : Web, Android, iOS, Windows, macOS et même Linux.

Le problème, c’est que les outils proposés depuis des années soit ne couvrent pas Windows, soit ne couvrent pas le Web, soit proposent des expériences utilisateurs dégradées très éloignées de l’expérience native, soit se révèlent sur-consommatrices de ressources.
Les solutions se sont multipliées chacune imposant des compromis. Tout dépend d profil des développeurs.

Parmi les nouveaux outils de développement cross plateforme en vogue, Flutter de Google connaît un succès croissant même s’il impose de maîtriser un nouveau langage : Dart. À la fois kit de développement, framework et toolkit UI, Flutter se veut une alternative à React Native et Xamarin. C’est aussi une solution disponible et finalisée contrairement au duo « .NET6 / .NET MAUI » de Microsoft qui ne sera finalisé qu’en fin d’année.

Cette semaine, Google annonce le lancement de Flutter 2. Si Flutter était au départ un outil de développement Android/iOS, il n’a cessé d’étendre ses capacités pour supporter à la fois un déploiement Web mais aussi un déploiement Desktop. Flutter 2 vient officialiser ces efforts d’universalité. Flutter 2 n’est plus un framework mobile mais un framework portable. Il est l’un des rares à supporter 6 plateformes : Web, iOS, Android, Windows, macOS, Linux. Avec une vraie qualité graphique et une unité visuelle qui permet aux utilisateurs de bénéficier d’une expérience utilisateur riche et moderne.

Flutter 2 permet de créer des applications compilées et des Progressive Web Apps. Il laisse ainsi le choix entre un moteur de rendu HTML principalement utilisé pour le Web et les mobiles ou un CanvasKit (basé sur WebAssembly et WebGL) principalement utilisé pour les déploiements Desktop.

Flutter 2 marque surtout l’arrivée de nouveaux partenaires importants qui contribuent activement à son enrichissement :
* Microsoft d’une part non pas pour le support de Windows mais pour le support des scénarios double-écran ciblant notamment le Surface Duo
* et Canonical d’autre part qui apporte son savoir-faire pour peaufiner la génération des applications Desktop sous Linux et plus particulièrement sous Ubuntu.

Bref, si Flutter a d’abord attiré la curiosité des développeurs sur mobiles, le framework est désormais un outil qui peut séduire tous les développeurs en entreprise. Une solution à considérer notamment si les équipes de développement proviennent des mondes Web ou Mobile… Les équipes plus accoutumées à l’environnement .NET préfèreront probablement attendre .NET MAUI.