image

Flutter or not Flutter

image
IKOMOBI
25 juin 2019

Un framework de développement créé par Google pour réaliser des applications mobiles Android et iOS

Flutter est un projet open-source créé par Google et mis en avant depuis Google I/O 2017, permettant de développer des applications principalement pour Android, iOS et Fuchsia. Le projet utilise le langage de programmation Dart, présenté par Google en 2011.

Le but premier du projet est de permettre de créer de manière simple et rapide des applications optimisées et multiplateformes. Il permet un design identique sur chaque appareil, quelque soit sa plateforme, la version de son système d’exploitation ou son année de production, en utilisant ses propres Widgets qui sont des copies d’éléments graphiques d’Android et iOS, dessinés directement à l’écran.

Flutter : entre avantages et inconvénients

Le premier avantage de Flutter se trouve du côté du développeur

La plupart des technologies multiplateformes, telles que Xamarin, sont composées de parties spécifiques à Android et iOS ce qui augmente la complexité lors du développement. Ici, seul un code commun est nécessaire et s’adapte parfaitement aux 2 systèmes d’exploitation.

Flutter propose aussi un mode « non-optimisé » utilisé pendant le développement pour intégrer rapidement l’interface, la navigation et la logique de l’application sans devoir redéployer celle-ci sur un appareil entre chaque changement, contrairement à Android ou iOS. C’est un gain de temps considérable, autant pour le client (coûts de développement) que pour le développeur. Une fois le développement terminé, on crée une version optimisée de l’application qui sera utilisée en production.

Ensuite vient l’expérience utilisateur, qui va considérablement être mise en avant via des animations faciles à mettre en place, et surtout des performances proches de celles des applications natives. En effet, Flutter est principalement écrit en C++ et utilise le moteur graphique open source Skia acquis par Google en 2005. Skia est utilisé dans Google Chrome, Chrome OS, ou encore Mozilla Firefox et permet un rendu de bas niveau. De plus, Flutter s’interface avec les SDK spécifiques à chaque plateforme de manière optimisée (caméra, GPS, etc.).

Enfin, Flutter est un projet open source, point sécurisant car si le projet devait être abandonné par Google, celui-ci serait très sûrement repris par un autre développeur, notamment au vu de son engouement.

Certains composants natifs ne sont pas encore disponibles avec Flutter

Etant donné la nature des Widgets, le développement peut se trouver freiné si l’application nécessite un élément d’interface qui n’a pas encore été intégré à Flutter.

Certains composants natifs ne sont pas optimisés pour Flutter comme Google Maps ou les Webviews. Google et la communauté travaillent sur ce sujet.

Le projet dépend également du soutien de Google, et s’il venait à être abandonné et repris par des développeurs tierces, il pourrait être mis à jour moins souvent, et donc moins à même de « coller » aux applications natives.

Flutter et ses concurrents : quelle solution pour des applications multiplateformes ?

React Native

React Native est une solution multiplateforme lancée par Facebook en 2015, utilisant le Javascript et ayant vite fait ses preuves au sein de la communauté des développeurs. Aujourd’hui, son principal avantage face à Flutter est son ancienneté (facilité pour le développeur de trouver des bibliothèques ou du support). Néanmoins, Flutter rattrape bien son retard grâce à sa possibilité de personnaliser les éléments d’interface, et ses performances supérieures à son concurrent direct.

Xamarin

Xamarin est un framework de développement mobile multiplateforme utilisant le langage C# et le framework .NET. Il est fondé en 2011 (à la base appelé « Mono for Android » et « MonoTouch » pour iOS) et fût racheté en 2016 par Microsoft. Bien qu’il soit une alternative forte au développement d’applications natives, il reste tout de même nécessaire d’écrire des parties de code spécifiques à chaque plateforme. Aujourd’hui, les applications natives sont plutôt développées en Kotlin et Swift profitant des dernières optimisations alors que Xamarin base sa partie native sur les langages Java et Objective-C. Flutter est plus accessible pour les développeurs et propose un tronc commun pour toute l’application, ce qui apporte un gain de temps substantiel.

Applications natives Android et iOS

Flutter apporte une solution concrète au développement d’applications mobiles simples : les performances d’un code natif et l’utilisation d’un tronc commun pour les 2 plateformes. Néanmoins le développement natif sera plus adapté à des applications complexes, qui utilisent plusieurs fonctions avancées telles que le Bluetooth, le NFC, Google Maps, des éléments d’interface très spécifiques (existant déjà, alors qu’il faudra les recréer en Flutter), les capteurs présents au sein des smartphones, etc. Les applications natives seront également plus fluides et respecteront les habitudes et usages de leurs utilisateurs respectifs.

Exemple d’applications utilisant Flutter

Des centaines d’applications sont d’ores et déjà disponibles sur le site officiel https://flutter.dev/showcase et sur le site communautaire https://itsallwidgets.com/. Parmi celles-ci, on peut tirer quelques exemples visant plusieurs millions d’utilisateurs.

Alibaba

Le groupe Alibaba, une des plus grandes sociétés de commerce en ligne, a fait le pari réussi d’intégrer Flutter pour certaines parties de leur application principale, qui touche aujourd’hui plus de 50 millions d’utilisateurs. La page de détail d’un produit, écran le plus visité de l’application, a été la première à être migrée en Flutter, suivie par la page de publication d’un article. Alibaba a observé un gain de rendement de 30% grâce au code partagé et à la facilité d’utilisation de Flutter, et compte bien migrer d’autres parties de l’application dans les mois à venir.

Hamilton Music App

L’agence de design et de développement Posse basée à New York a été sollicitée par Hamilton Musical pour développer une application mobile permettant d’avoir des informations sur le spectacle, d’acheter des produits dérivés, de s’inscrire à des tirages au sort pour gagner des places, ou encore de prendre des photos-selfies et les modifier pour y ajouter des accessoires, et ensuite les partager. Posse a choisi Flutter pour sa simplicité, son code commun et ses performances. L’application a été développée en 3 mois, et l’équipe a même pu ajouter une fonctionnalité complète la veille de la mise en production.

Et bien d’autres

Parmi les autres applications, on peut citer Google Ads, Tencent, Philips Hue ou encore Groupon.

Le futur de Flutter

HummingBird

HummingBird est un projet en cours de développement proposé par Google. Le but est de créer une version de Flutter pour le Web, en suivant le même fonctionnement que Flutter pour le mobile.

Google Ads

Google utilise Flutter pour son application Google Ads. Elle totalise plus de 5 000 000 de téléchargements, ne pèse que 27mo et possède une note de 4,3/5. Google semble avoir confiance en Flutter.

Fuchsia

Selon la Google I/O de 2019, Flutter sera compatible avec le nouvel OS de Google, Fuschia, censé être à terme le remplaçant d’Android.

Flutter est jeune, mais déjà très apprécié de la communauté des développeurs mobiles crossplatform, et le langage de développement Dart est accessible pour la plupart des développeurs mobiles et web. Le code commun permet de créer des applications plus rapidement, ce qui est répercuté favorablement sur le coût du développement.

Même si chaque langage de programmation sera plus adapté à certains projets, Flutter semble couvrir un large éventail de possibilités et sera approprié pour des applications simples, sans sacrifier ni le visuel qui reste identique aux applications natives, ni le temps de développement.

Chez IKOMOBI, les développeurs ont déjà pris en main cette alternative intéressante, afin de répondre au mieux aux besoins de ses clients. Ainsi, si vous souhaitez faire appel à nos experts mobiles et bénéficier d’une expertise Flutter, n’hésitez pas à nous contacter.

Fort de plus de 10 ans d’expérience en matière de conception et réalisation d’applications mobiles, IKOMOBI dispose d’un pôle Conseil ainsi que 4 pôles technologiques (Web, iOS, Android et Xamarin) pour vous aider à faire le bon choix pour votre projet.

image
image
Florian Hureau
3 décembre 2019
Actualités

IKOMOBI News #5 : Tesla, Black Friday, TikTok et autres actualités digitales

Chaque sprint (toutes les 2 semaines), retrouvez les infos UX design, transformation digitale, développement mobile, web et marketing mobile par IKOMOBI. “La reconnaissance faciale va protéger les droits et intérêts légitimes des citoyens contre les escroqueries et les inscriptions frauduleuses.” D’où vient la citation de la semaine ? Scrollez au bas de l’article pour voir […]
image
image
Florian Hureau
19 novembre 2019
Actualités

IKOMOBI News #4 : Disney+, WeChat, Motorola et autres actualités digitales

Chaque sprint (toutes les 2 semaines), retrouvez les infos UX design, transformation digitale, développement mobile, web et marketing mobile par IKOMOBI. « L’informatique doit être au service de chaque citoyen. Elle ne doit porter atteinte ni à l’identité humaine, ni aux droits de l’homme, ni à la vie privée, ni aux libertés individuelles ou publiques. » D’où […]
image
image
Équipe Android
7 novembre 2019
Technologies

London droidcon 2019 : l’incontournable grand-messe européenne des développeurs d’applications mobiles Android

Les 24 et 25 octobre derniers, deux représentants de notre équipe de développement Android se sont rendus, à Londres, à la droidcon 2019 pour faire le plein de nouveautés techniques à propos de leur plateforme fétiche. Reportage. À peine sortis de l’Eurostar, nous prenons le métro londonien pour rejoindre le Business Design Centre qui héberge […]
image
image
Florian Hureau
5 novembre 2019
Actualités

IKOMOBI News #3 : l’actualité digitale via le prisme de l’agence mobile

Chaque sprint (toutes les 2 semaines), retrouvez les infos UX design, transformation digitale, développement mobile, web et marketing mobile par IKOMOBI. Adobe Photoshop sur iPad : fin de la version bêta La vingt-et-unième mouture de cet éditeur d’image comporte son lot de nouveautés portant sur l’amélioration continue des centaines (milliers ?) d’outils qu’il propose : […]
image
image
Florian Hureau
15 octobre 2019
Actualités

IKOMOBI News #2 : l’actualité digitale via le prisme de l’agence mobile

L’actualité UX design, transformation digitale, développement mobile, web et marketing mobile par IKOMOBI Mastercard, Stripe, eBay et Visa quittent Libra, la monnaie virtuelle de Facebook Après les interrogations voire réticences de nombreux gouvernements à travers le monde, ce sont maintenant ses partenaires historiques qui font faux bond au projet Libra. Tour à tour et à […]
image
image
Florian Hureau
15 octobre 2019
Design

Le Dark Mode sur les mobiles iOS et Android

Tendance esthétique ou véritable plus-value des interfaces homme-machine, le Dark Mode est sur toutes les lèvres depuis la sortie d’iOS 13. Qu’est-ce que le Dark Mode ? En terme d’interface et par extension d’expérience utilisateur, le Dark Mode consiste à proposer un fond sombre et des composants d’interface s’y contrastant en couleurs claires (polices, pictogrammes, […]
image
image
Florian Hureau
1 octobre 2019
Actualités

IKOMOBI News #1 : l’actualité digitale via le prisme de l’agence mobile

L’actualité UX design, transformation digitale, développement mobile & web et marketing mobile par IKOMOBI Facebook Horizon, un nouveau Second Life pour relancer les Oculus Rift Facebook vient de lancer (en bêta) un nouveau réseau social. Accessible aux propriétaires d’un Oculus Rift, ce service va permettre aux utilisateurs d’interagir en réalité virtuelle avec des résidents du […]
image
image
Florian Hureau
28 août 2019
Actualités

Les 10 informations mobiles et digitales pour briller à la rentrée 2019-2020

Ça y est, c’est la rentrée ! Si comme nous vous avez profité de l’été pour faire une digital detox, il est désormais temps de vous remettre dans le bain de l’actualité des innovations et des usages numériques. Envie de briller au prochain COPIL ? C’est parti pour les 10 informations, web, mobiles et digitales […]
image
image
IKOMOBI
25 juin 2019
Mobile

Flutter or not Flutter

Un framework de développement créé par Google pour réaliser des applications mobiles Android et iOS Flutter est un projet open-source créé par Google et mis en avant depuis Google I/O 2017, permettant de développer des applications principalement pour Android, iOS et Fuchsia. Le projet utilise le langage de programmation Dart, présenté par Google en 2011. […]
image
image
IKOMOBI
20 mai 2019
Mobile

ASO 2019 : les bonnes pratiques en matière d’App Store Optimization

Après l’idéation, la conception et la réalisation de votre application mobile, cette dernière a été déposée sur les stores. Bravo mais ce n’est pas terminé ! Votre application mobile démarre sa vie publique et va bientôt être confrontée aux réalités de la visibilité sur les stores d’applications. C’est ici que la démarche d’ASO (App Store […]
image
image
IKOMOBI
25 avril 2019
IKOMOBI

Meet the team : Jason, Web Integrator et UX/UI Designer

Boulanger, architecte, avocat, informaticien… Nombreux sont les métiers que Jason a voulu faire durant son enfance. Pourtant, il n’était pas vraiment destiné à faire du design… Ayant réalisé des études en sciences/langues, il ne savait toujours pas vers quel secteur se diriger en dernière année de lycée. Il a étudié 3 ans dans une école […]