Comment Flutter Web peut réduire le coût de développement de votre application

Publié: 2020-05-15

Vous avez une idée de produit, mais vous avez besoin d'un plan pour le diffuser dans le monde. Afin d'exposer votre service au plus grand nombre d'utilisateurs possible, vous avez besoin d'applications mobiles et Web. Mais votre courte recherche est brutale - bien que vous n'ayez qu'une idée étroite , elle nécessite trois applications différentes (Android, iOS, Web), trois types de spécialistes différents (Kotlin, Swift, JavaScript) et peut-être même trois fournisseurs distincts.

Mais vous n'êtes pas le premier à être dans cette situation. Les créateurs d'applications telles qu'Airbnb, Uber Eats et Discord se tenaient également là où vous en êtes maintenant. Ils ont tous décidé d'opter pour une solution multiplateforme. Et il semblerait qu'en 2020 le joueur le plus important de cette discipline soit Flutter.

Qu'est-ce que Flutter ?

Flutter est un framework Google qui vous permet de produire des applications mobiles pour iOS et Android en utilisant une seule base de code. La première version stable de Flutter est sortie fin 2018. Google a créé Flutter en réponse à la fonte des budgets des applications mobiles et à la popularité croissante de React Native, devenant son principal concurrent.

Flutter attire l'attention sur Dart, un langage orienté objet de Google qui, selon de nombreux spécialistes du domaine, est l'avenir de tout développement mobile, Web et de bureau. Comparé au JavaScript utilisé par React Native, Dart est entièrement orienté objet et fortement typé. Qu'est-ce que cela signifie pour votre entreprise ? Le code livré dans Dart est beaucoup plus résistant aux erreurs et beaucoup plus facile à maintenir, même pendant de nombreuses années dans une équipe changeante.

Flutter pour le Web conquiert les navigateurs

Comment tout cela se traduit-il sur le Web ? 2020 est une année importante pour Flutter car elle apporte un nouveau défi. Le framework est sur le point de conquérir les écrans et les navigateurs Web plus grands. Au cours des deux dernières années, outre Flutter, il y a eu un projet de recherche appelé Hummingbird qui était censé générer des applications Web à partir du même code Flutter que les applications iOS et Android utilisent.

Le projet a mûri et il y a un an, l'équipe principale l'a inclus dans le cadre, et actuellement (en mai 2020), il est toujours sur la branche bêta. Qu'est-ce que ça veut dire? Aujourd'hui encore, il est possible de créer des applications Web à l'aide de Flutter et l'équipe de Google pourrait l'annoncer comme stable à tout moment. Un code, une technologie, trois oiseaux avec une pierre . Il semble que votre projet soit parfaitement adapté.

Un scénario pour les applications multiplateformes est assez courant. De nombreuses solutions populaires et bien connues ont utilisé ce modèle pour gagner du temps et de l'argent. Walmart, Soundcloud et Bloomberg ont opté pour des applications mobiles multiplateformes. Je parie que vous avez au moins une application multiplateforme sur votre téléphone mobile.

Icône des services de développement multiplateforme

Intéressé par le développement multiplateforme ?

Apprendre encore plus

Cependant, la possibilité de créer des applications Web en cours de route est quelque chose qui s'est ouvert à nous il y a quelques mois à peine. Bien qu'aucune des grandes marques n'ait encore décidé de cette décision, il est clair aujourd'hui que tôt ou tard ce sera un excellent outil pour les startups et les PoC rapides.

Avantages Flutter pour votre application

Coûts de développement réduits

À l'aide de Flutter pour le Web, trois applications sont créées à l'aide d' une seule base de code , au sein d' une équipe technologiquement connectée , avec un rythme . Vous n'avez pas besoin de rechercher des fournisseurs de trois technologies différentes, puis de synchroniser leur travail. Il n'est pas nécessaire de dupliquer la même fonction de paiement ou l'autorisation des médias sociaux trois fois.

Cependant, cela ne signifie pas que vous pourrez limiter le nombre de dépenses par trois. Il est souvent un peu plus compliqué de fournir une certaine fonctionnalité pour le multiplateforme. D'après mon expérience, il existe quelque chose comme un facteur multiplicateur multiplateforme égal à 1,2-1,5. Cela signifie que si une fonctionnalité prend X heures de développement pour une plate-forme, elle prend (1,2-1,5) * X lorsqu'il s'agit de multiplateforme. Pourtant, x1,5 par rapport à x3 pourrait être un cas gagnant pour votre budget.

Développement d'applications plus rapide

Tout ce qui précède fait de Flutter un excellent choix pour la PoC et la vérification des idées de produits. En quelques semaines seulement, vous pouvez obtenir une application fonctionnelle que vous pouvez facilement publier sur les magasins d'applications. Après un succès potentiel, vous pouvez envisager de reconstruire des applications sur des technologies natives. Cette voie a été suivie par Airbnb. Après le succès de ses applications mobiles multiplateformes, ils ont décidé de passer aux applications natives en 2018.

Processus de maintenance plus simple

Gardez également à l'esprit ce qui se passera lorsque votre candidature sera finalement acceptée. Lorsqu'elle entre en maintenance, il est beaucoup plus facile de maintenir l'application avec un spécialiste Dart/Flutter . Votre entreprise peut ne pas être en mesure de trouver des tâches pour trois développeurs différents à plein temps simplement en maintenant le code. De même, tout déséquilibre dans leurs compétences engendrera des variations dans le rythme de travail.

Les compétences d'une équipe de développement sont également importantes compte tenu de l'aspect et de la convivialité partagés sur différentes plates-formes. Travaillant sur trois projets, leur forme finale dépend fortement des compétences du développeur et de l'attitude de l'interface utilisateur. Lorsque le gars iOS préfère les coins arrondis et que celui d'Android ne les aime pas tellement, il peut s'avérer que ces deux applications diffèrent dans la façon dont elles influencent la marque du produit.

Flutter pour les risques Web

Développement de problèmes technologiques

D'accord, mais y a-t-il des risques ou des inconvénients associés au choix de Flutter pour le Web ? Comme toujours, il y a deux versions de l'histoire. D'un point de vue technique, il faut se rappeler qu'il s'agit encore d'une technologie bêta. Ce n'est donc pas tout à fait stable et vous pouvez même rencontrer un problème insoluble . La prise en charge des bibliothèques Flutter coexistantes est également parfois incomplète. Il est courant qu'une bibliothèque fonctionne comme un charme sur mobile mais plante sur les applications Internet car elle n'est pas optimisée pour cela. Il s'agit d'un problème mineur lorsqu'il est limité à l'interface utilisateur, mais cela peut être gênant s'il s'agit de votre principale intégration de service de paiement.

Exceptions d'applications Web

Un autre problème est que même si les univers des applications Android et iOS sont très similaires et que la base de code dans la plupart des cas est à 95-100% la même, cela peut ne pas s'appliquer à la version du navigateur. Un tiroir de feuille inférieur, un menu d'onglet inférieur ou des carrousels horizontaux sont d'excellents modèles UX mobiles qui ne s'appliquent pas bien au Web. Souvent, vous devez créer des exceptions uniquement pour l'application Web . La conception architecturale doit souvent être entièrement différente dans le mobile et le Web. Au tout début des travaux, il est bon de mettre en place une table ronde entre designers et développeurs. Laissez-les partager leur point de vue et essayez de parvenir à un consensus, surtout si vous vous souciez de votre budget et de vos dates.

Flutter vs React natif

Mais est-ce que Flutter pour le Web est votre seul choix ? Bien sûr que non. Son alternative la plus importante est React Native. React Native est un cadre concurrentiel inventé et soutenu par Facebook des années avant Flutter. Il vous permet de faire exactement la même chose - créer toutes les applications iOS, Android et Web (comme Flutter pendant une période relativement courte).

Rapport sur l'avenir du développement d'applications mobiles

Découvrez ce que l'avenir réserve aux applications mobiles

Obtenez le rapport gratuitement !

J'ai passé les deux dernières années à travailler avec React Native, et j'ai récemment sauté dans le monde Flutter afin que je puisse vous donner quelques conseils si vous êtes confronté à une décision entre les deux. Tout d'abord, il n'y a pas de gagnant unique dans ce duel , les deux technologies sont matures et toutes deux excellentes en tant que multiplateformes. Mais il y a quelques nuances qui peuvent apporter un avantage lors de la mise en œuvre d'un projet spécifique :

  • Si vous vous souciez particulièrement de l'interface utilisateur liée aux gestes (glisser, faire glisser, retirer les tiroirs, etc.), Flutter sera un meilleur choix en raison de son architecture et de la prise en charge des gestes du côté natif. RN a parfois du mal à offrir de bonnes performances combo geste + animations.
  • Si le Web est le point de contact clé pour votre entreprise, sélectionnez React Native. RN produit une application de navigateur beaucoup plus proche des produits développés en natif et vous pouvez la déboguer avec des outils natifs. D'autre part, Flutter pour les projets Web ne transpile pas vers le DOM typique et nécessite des adaptateurs.
  • Si votre application doit être maintenue et développée au fil des ans (ou si l'équipe qui y travaille peut changer avec le temps), Flutter et Dart peuvent être une meilleure solution.
  • Si votre application suppose l'utilisation de mécanismes un peu plus complexes (bluetooth, biométrie, géolocalisation) ou d'intégrations externes (paiements, médias sociaux), React Native existe depuis plus longtemps et dispose d'un éventail de bibliothèques beaucoup plus large. L'écosystème Flutter pour le Web se développe chaque mois, mais la recherche des bibliothèques disponibles devrait précéder chaque projet là-bas.

Vous souhaitez en savoir plus sur ces deux frameworks très populaires ? Découvrez notre comparaison de React Native et Flutter !

Résumé

Jamais auparavant les utilisateurs n'avaient été aussi dispersés entre les plateformes. Les appareils mobiles et les navigateurs Web ne sont que la pointe de l'iceberg. Les utilisateurs utilisent de plus en plus d'applications dans les voitures, les montres et les téléviseurs, tandis que les assistants vocaux sont également devenus plus populaires. Par conséquent, il est nécessaire de simplifier le processus et de réduire les coûts de production de logiciels. Une base de code pour le développement Web et mobile est déjà un modèle commun, et Flutter pour le Web en est un excellent exemple.

Libérer l'icône du produit

Créez votre prochaine application avec Flutter

Travaillons ensemble

Pendant longtemps, j'ai considéré Flutter pour le Web comme une technologie naissante. Mon travail récent m'a fait changer d'avis et maintenant je suis corrigé. Flutter est un jeune homme adulte qui se tient devant un avenir radieux et mérite certainement d'être considéré. Cela semble être un choix attrayant pour les idées avec de petits budgets et des délais courts. C'est pour ceux qui veulent vérifier leurs idées rapidement et à peu de frais, ceux qui ont une idée et qui répondent aux besoins du marché. C'est exactement la même chose que Flutter a fait avec le développement de logiciels.

Cela semble prometteur ?

Vous vous demandez si le développement multiplateforme serait une bonne solution pour votre entreprise ? Contactez notre équipe et obtenez une estimation de votre projet.