90 connectés     5 849 missions IT     30 167 CV récents
se connecter | s'inscrire


puce

Applications cross-plateform : zoom sur un développement tendance


Publié le 17/07/20 par Modérateur freelance-info


Les applications “cross-platform” (ou multiplateformes) ont le vent en poupe ces dernières années. Flutter, le framework Open Source dont tout le monde parle, n'est pas étranger au phénomène. Ces technologies, de plus en plus nécessaires, doivent être médiatisées : elles représentent des opportunités et des alternatives sur lesquelles les entreprises doivent sérieusement se pencher. Le point sur les outils, le marché et le principe de fonctionnement du procédé.



Flutter, le framework Open Source dont tout le monde parle


Créé par Google, Flutter est un framework Open Source qui permet de réaliser des applications multiplateformes, dont la première version est sortie en décembre 2018.
Le but de l'outil : construire en une seule fois des applications dont le déploiement pourra être assuré simultanément sur Android et sur iOS, mais aussi sur navigateur et desktop (en beta et alpha à l'heure actuelle).
L'application est ainsi identique sur n'importe quel device ou OS, selon des performances similaires.
La différence avec les frameworks cross-plateform du marché : Flutter permet l'obtention d'une application native avec une interface utilisateur qui n'utilise ni composants natifs ni webview.

Ainsi, l'ensemble des composants de l'interface utilisateur sont construits par un moteur graphique écrit en C++ et réalisé par les équipes de Google.
Pour communiquer, aucun bridge avec les composants natifs du device n'est nécessaire puisque Flutter gère tout. On peut tout de même utiliser un système de bridge (appelé ici “channel”) si on souhaite accéder aux fonctionnalités natives de type Kotlin, Swift, Java ou encore Obj-C.

A la clé, l'outil permet de bénéficier de performances hors du commun, sur l'ensemble des applications, et en s'affranchissant de coûts d'utilisation de composants natifs évoluant à chaque nouvelle version du système d'exploitation.
Ces performances reposent sur la puissance du langage Dart, conçu par Google dès 2011. Il offre deux modes de compilation pour une expérience de développement inoubliable :
- JIT (Just In Time) : fonctionnalité de Hot Reload pour rafraîchir l'interface utilisateur, ajouter des fonctionnalités sans reconstruire l'application à chaque évolution en seulement quelques millisecondes.
- AOT (Ahead Of Time) : meilleurs performances et réduction de la taille de l'application à sa publication.

Tout est écrit en Dart : Flutter est par ailleurs proposé avec des centaines de widgets pour réaliser une composition sous forme d'arborescence, tout en réalisant des animations plus ou moins complexes sur la base d'un code toujours très compréhensible.

Au vu de tous ces éléments, Flutter mérite bien son succès : malgré son arrivée récente, il se positionne comme le futur leader du développement mobile. Il peut également garer un seul code source pour une application toujours native qui pourra compilée JavaScript avec le même résultat que sur appli mobile.
Pour les développeurs, ce véritable framework multi-plateformes ne se limite donc pas au simple mobile.

Il implique cependant l'apprentissage d'un nouveau langage, mais au prix de disposer d'une combinaison proche de la perfection.


Zoom arrière : le marché du développement mobile


Trois grandes famille de développement mobile ont émergé au cours de ces dernières années :
- Les application natives mobiles développées selon des langages spécifiques au système d'exploitation : Java/Kotlin pour Android et Swift / Objective-C pour iOS.
- Les applications et technologies hybrides (Ionic, Cordova, PhoneGap) autour de technos web (JavaScript, CSS, HTML)
- Et enfin les applications cross-plateform : mobiles et natives, elles sont générées à partir d'une même base de code.

Xamarin, React Native et donc Flutter sont des technologies permettant de générer ses applications à destination de plusieurs OS sans avoir à passer par le développement d'applications distinctes. Pratique.


Quels avantages aux applications multiplateformes ?

Elles répondent aux besoins en matière d'applications mobiles, souvent liés à l'accessibilité, avec des fonctionnalités généralement similaires sur les deux plateformes que sont iOS et Android, les plus utilisées. Si le même besoin fonctionnel est partagé, il est également intéressant de partager la même base de code.

En mutualisation les cibles d'OS, l'application multiplateformes coûte moins cher qu'une application native, en raison du partage de la même base de code. Le temps passé au test de chaque version ne bouge pas, mais les temps de développement sont quant à eux drastiquement réduits.

Pour l'interface utilisateur (UI), la bonne cohérence graphique entre les différentes versions est assurée, et ce malgré le style propre à chaque OS en matière d'éléments natifs ou de barres de navigation.
De même, le rendu est proche du natif, et les interactions et animations grandement améliorées au regard des applications hybrides.
En termes d'évolutions, l'intégration d'une plateforme est facilitée, en ciblant d'abord un OS avant l'autre.

Les applications mobiles peuvent évoluer vers des applis web ou desktop sans initier de nouveau projet.
Avec un seul langage de programmation, la constitution des équipes est facilitée, avec une taille plus réduite et des interactions et une synergie encouragées. Plus facile en effet, quand tout le monde parle le même langage.

Enfin, last but not least, la performance est LE plus important pour une application qui souhaite se démarquer sur un marché toujours plus concurrentiel.
On notera également que leur compatibilité avec les projets natifs permet de mélanger les deux types de code pour des fonctionnalités avec des nécessités de performance très élevées (Machine Learning, réalité augmentée).
Au vu de tous ces états, ils en sont fous : React Native sur Github, Facebook, Instagram, Google, Alibaba, et on en passe !


Et vous, que pensez-vous des applications multiplateformes ? Une révolution en termes de développement ?
Si vous êtes en recherche de missions orientées vers le domaine des applications, trouvez-la sur Freelance-info !

Pour tout savoir sur l'actualité IT, suivez notre blog au quotidien, et décrochez votre prochaine mission dans l'informatique sur Freelance Info !





Recruteurs
Accès via Turnover-it :
CVthèque & publication
Nous contacter
Par formulaire
AGSI SAS
75 Rue de Lourmel
75015 PARIS
logo freelance-info.fr
2018 © Copyright AGSI SAS
Conditions d'utilisation