DÉVELOPPEMENT MOBILE

Publié le : 30 Sep 2020

Quels frameworks pour le développement mobile ?

Développement mobile : Quel framework choisir en 2020 ?

 

Définition des frameworks

Les Frameworks (ou infrastructures logicielles en français) sont des boîtes à outil ou également des espaces de travail destinés aux développeurs informatiques. Ils leur donnent accès à un ensemble d’outil et de composant autonomes dans un but de faciliter leur travail et de gagner du temps dans le développement de leurs projets. 

Les frameworks permettent d’une part de poser les fondations des applications sur lesquels les développeurs travaillent sans devoir tout recommencer depuis le début et d’autre part de résoudre des problèmes de développement souvent rencontrés (sécurité, arborescence, etc.). Au-delà des outils pour accélérer le développement et offrir un cadre de travail, les frameworks ont également l’intérêt de donner accès à une méthodologie qui permet aux développeurs d’organiser le développement qui sera compris par un autre développeur qui maîtrise le framework.
 

 

Pour quel type d’utilisation ?

Comme expliqué précédemment, les frameworks sont des boîtes à outil quasi indispensable pour les développeurs. Il y en a pour tous les goûts et projets, que ce soit pour le développement d’application mobile, de jeu vidéo, de site web et va même jusqu’à la conception d'application bureau ou encore pour développer une PWA (si vous vous posez des questions à ce sujet ou que vous n’avez pas encore lu cet article, voici l’article où on parle de l’intérêt de développer une Progressive Web app)


 

Qu’en est-il donc du développement mobile et de toutes ses caractéristiques ? 

La réponse à cette question dépendra entièrement du besoin de votre organisation et du ratio temps/ budget que vous avez. Faîtes un état des lieux de votre projet et en fonction du résultat de vos besoins, peut-être qu’il sera plus intéressant pour vous de passer par un framework natif si vous voulez développer une application très puissante et qui ne va que sur un seul système d’exploitation, par exemple iOS, ou alors choisir un framework hybride répondant au besoin d’être présent sur différentes plateformes rapidement. 

 

 

Choisir parmi le menu du jour

 

<1 Native Script

Présentaion Native Script_Framework pour du développement mobile en 2020

 

Développé par Progress, Native Script est un framework open-source (pouvant être lu, modifié et redistribué par quiconque) sous le code Javascript et avec la possibilité de faire de la multiplateforme. 

Native Script a été pensé dans le but de pouvoir développer des applications natives sur iOS, Android et même sur Windows, le tout avec XML, CSS et JavaScript (qui par ailleurs est considéré comme le langage le plus universel), tous étant des langages de codes utilisés pour le développement web. 

 

Native Script et ses spécificitées : 

 

  • Gain de temps sur le développement d’application puisque celle-ci sera directement adaptée pour être utilisée sur différents systèmes d’exploitation (iOS, Android, Windows, etc.)

  • Utilisation de toutes les interfaces de programmation (soit APIs) natives des plateformes mobiles avec comme résultat une expérience utilisateur très proche de celle obtenue avec un framework non multiplateforme

  • Même constat au niveau performance de l’application avec des animations fluides pouvant aller jusqu’à une exécution de 60 images par seconde et une prise en charge des bibliothèques natives iOS et Android et Javascript

 

 

<2 Node.js

Découverte Node.js_Framework pour application mobile

 

Créé par Ryan Dahl en 2009, Node.js se définit comme un framework intuitif et intelligent destiné au développement mobile. Également open-source et multiplateforme, il est toutefois principalement destiné à iOS, Android et Windows, Node.js traite également les données en JavaScript avec en prime l’avantage de pouvoir écrire en JavaScript du côté du client mais également du côté du serveur permettant ainsi un vrai gain de puissance et de rapidité puisque le serveur n’a plus besoin de traduire le script client qui était autrefois différent du sien. 

 

Node.js et ses spécificitées : 

 

  • Comme précédemment sur Native Script, les application développées sont directement adaptées pour être utilisées sur différents systèmes d’exploitation (iOS, Android, Windows, etc.)

  • Également, la bibliothèque JavaScript n’a plus de secret pour ce framework

  • Le langage du script est exactement le même du côté du serveur et du client, permettant ainsi de gagner en efficacité puisque aucune traduction n’est à faire lorsque des requêtes sont envoyées et reçues

  • Un avantage de taille qui se trouve dans la gestion asynchrone des éléments. Cette conception permet d’éviter les files d’attentes dans le traitement des requêtes. Plusieurs actions peuvent donc être lancé en même temps sans attendre que l’action A soit terminée, donnant lieu à un gain de temps conséquent par seconde.

 

 

<3 React Native

React Native_concepteur d'application mobile_Framework multiplateforme

 

Développé par Facebook à la suite d’un hackathon en 2015, React Native est un framework open-source construit sur React JavaScript, une bibliothèque créée en 2013 par Jordan Walke, qui permet de développer et déployer une application mobile sans avoir aucune connaissance dans les langages de programmations natifs pour iOS et/ou Android mais tout en gardant les mêmes performances des applications natives grâce au code unique. 

C’est d’ailleurs la solution la plus appréciée chez l’agence Chimichuweb (on vous en parlera davantage de ce framework une prochaine fois)

 

React Native et ses spécificitées : 

 

  • Une vitesse de déploiement rapide et une maintenance optimisée grâce au code unique JavaScript qui permet de développer une application sur différentes plateformes 

  • Être davantage axé UI grâce à la bibliothèque React JS qui est pensée à la fois pour l'expérience utilisateur native et également pour le design des applications les rendants attractives

  • Pouvoir éditer son code et en avoir l’aperçu instantanément permet d'accélérer le temps de développement, et donc diminuer le budget développement

 

 

<4 Ionic

Framework Ionic_ Développement application mobile Android, iOS et Desktop

 

Développée par Max Lynch, Ben Sperry et Adam Bradley en 2013, Ionic est également un framework open-source et hybride (multiplateforme) mais qui lui utilise les technologies HTML, CSS et JavaScript et s’appuie sur deux autres frameworks : AngularJS pour le côté application web et Cordova pour le côté application native (utilisation de l’appareil photo, GPS, etc.)

Avec l'embrasement des 2 autres frameworks, Ionic répond pleinement à la satisfaction des utilisateurs et fournit un arsenal de composant qui imite la convivialité, le design et les fonctionnalitées des application natives. 

 

Finalement, Ionic et ses spécificités sont : 

 

  • En tant que framework avec d’autres framework imbriquée en lui, Ionic peut rajouter des classes dans son code HTML pour ajouter encore plus de style et ce de manière distincte sur chaque plateforme visée

  • Développé d’abord de la même manière qu’on développe un site web, Cordova permet de transformer le “site web” sous forme d’application native en y ajoutant la possibilité d’utiliser les fonctionnalités mobiles (appareil photo, stockage interne, microphone, etc.), de quoi être rapide dans le développement de l’application

 

 

<5 Flutter

Flutter_Développement web, mobile et bureau_ Framework avec code unique

 

Développé par Google d’abord en 2015 avec une première version, puis en 2017, Flutter fait également partie de la troupe des frameworks open-source et a pour but de développer des applications web, mobile et bureau avec un seul et unique code.

Comme tous les autres frameworks multiplateforme, Flutter permet un réel gain de temps dans le développement d’application puisqu’il n’est nécessaire de développer qu’un seul code pour répondre au iOS et Android. Toutefois, il cache bien d’autres spécificités.

 

Flutter et ses spécificités : 

 

  • En réalité, Flutter n’est pas un framework mais plutôt un SDK (Software Development kit, soit un kit de développement). Il est plus complet qu’un framework et possède tous les outils de développement tels que debugger, inspector, profiling, stack tracing, bref pleins d’outils technique utiles aux développeurs

  • Flutter permet de gagner du temmps encore plus grâce au Hot reload (Rechargement à chaud) qui permet aux développeurs de tester, corriger un bug, bâtir l’interface utilisateur et ajouter des fonctionnalitées en temps réel. Toutes les manipulations faites sur l’application sont retranscrite instantanément dans les lignes de codes : pas besoin de d’abord sauvegarder puis après observer

  • Il est constitué d’un large catalogue de Widgets. Les widgets sont par ailleurs les éléments qui constituent et permettent les interactions dans une application. Ceux proposés par Flutter ont été pensés pour être fluide et performant mais aussi apporter cette gamme de design qui rend les applications de nos jours très attractives visuellement parlant

 

 

Pour aller plus loin

 

Une fois avoir lu la présentation de ces 5 frameworks, on se rend très vite compte que le choix du framework utilisé se fera en fonction du résultat attendu de la conception de l’application mais surtout en fonction du temps qu’il faudra passer sur le projet et donc du budget à allouer dans le développement d’application mobile dans votre stratégie marketing.

Si vous avez déjà une idée de votre projet ou que vous souhaitez venir en parler avec une agence de développement mobile et web, retrouvez plus en détail tous nos projets de développement d'application mobile ou contactez l'agence de développement d'application mobile et web Chimichuweb pour qu’on en discute ensemble.