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
IKOMOBI
4 juin 2020
Design . Mobile

Ce que nous a enseigné la mise en pratique du neumorphisme en terme d’UX design et de développement lors de la réalisation d’une application mobile Android

La popularité croissante du neumorphisme nous a amené, chez IKOMOBI, à expérimenter son implémentation au sein d’une application Android et le proposer à nos clients. Voici le retour d’expérience de nos pôles d’experts UX Design et Android. Skeuomorphisme : dès l’origine, les UX designers cherchent à rendre l’expérience utilisateur plus intuitive Le Skeuomorphisme est une […]
image
image
Bérengère Noël
28 mai 2020
Design . Mobile

Marketing #1 Comment augmenter l’engagement de vos clients et de vos utilisateurs grâce aux mécanismes de gamification ?

Dans le domaine du web et des applications mobiles, la gamification, consiste à exploiter des mécanismes issus de l’univers du jeu dans d’autres domaines, comme des applications ou des sites internet. Elle vise à capter l’attention de l’utilisateur dans un processus de récompenses lui donnant envie de continuer et d’y revenir régulièrement. Le jeu et […]
image
image
IKOMOBI
26 mai 2020
Stratégie

Après le confinement : comment faire pour réussir sa transformation digitale ?

La mise en quarantaine d’une large partie de nos entreprises et services publics, bien que imprévisible, raisonne comme un coup de semonce pour chaque dirigeant, notamment vis à vis du niveau de “digitalisation” de son entreprise. Pour les entreprises à maturité digitale plutôt élevée, cette situation s’est transformée en stress test impromptu, impitoyable révélateur des dysfonctionnements […]
image
image
Bérengère Noël
5 mai 2020
Design

Design #2 Quelles bonnes pratiques faut-il privilégier lors de la conception d’un formulaire en ligne ?

Le formulaire est bien souvent l’étape clé d’un parcours utilisateur : paiement en ligne, création de compte, prise de contact, etc. Un formulaire mal conçu génère de nombreux irritants et pénalise la qualité générale d’une expérience utilisateur. Par conséquent, il convient de maîtriser les bonnes pratiques correspondantes et concevoir des formulaires qui ne comportent aucun […]
image
image
Bérengère Noël
28 avril 2020
Design . Mobile

Design #1 En e-commerce, quelles bonnes pratiques faut-il adopter sur mobile pour proposer des fiches produits qui vont déclencher l’acte d’achat ?

Le mobile est définitivement devenu le point central de la relation client. Il répond aux besoins d’immédiateté des consommateurs. Ces derniers veulent être en mesure de vivre une expérience d’achat sans couture autrement dit sans frein ni obstacle, quelque soit le lieu ou le moment. Dans ce contexte, la fiche produit est l’élément central de […]
image
image
Équipe iOS
23 avril 2020
Mobile . Technologie

TechnIKO #2 Migration UIWebview vers WKWebview

UIWebview vs WKWebview UIWebview est un composant d’interface permettant d’afficher du contenu HTML directement dans une application. C’est un composant déjà ancien puisqu’il est apparu avec iOS 2. Il est fortement présent au sein de nos applications pour, par exemple, afficher le contenu des FAQ, des CGV, le tunnel de commande, la création de compte […]
image
image
Équipe Android
20 avril 2020
Mobile . Technologie

TechnIKO #1 Appeler une méthode Javascript dans une Webview via Kotlin

Le TechnIKO, c’est quoi ? Chez IKOMOBI, nos experts sont tous les jours confrontés à des problématiques nouvelles qui les amènent à concevoir des solutions innovantes pour nos clients. Grâce à TechnIKO nous allons vous faire découvrir les coulisses de ces différentes innovations, au travers notamment la diffusion des techniques et méthodes de développements chères […]
image
image
Florian Hureau
23 décembre 2019
Actualités

IKOMOBI News #6 : Spotify, Youtube Ads, 5G, voice, Dior, mèmes 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. « 圣诞老人到了! » D’où vient cette citation ? Scrollez au bas de l’article pour voir la source 😉 2019 Wrapped : Spotify donne un aperçu de l’usage des données personnelles pour les années à venir La fin […]
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
Technologie

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 : […]