Les différents modes de développements

Il existe de nombreuses technologies et langages de programmation dont dépendent vos applications. Ces technologies présentent des possibilités variées que nous pouvons regrouper sous différents modes de développement.

Le mode natif

Dans ce mode de développement, le code est directement écrit dans l’operating system du Smartphone. Les outils de développements utilisés sont Objective C ou Swift pour l’IOS d’APPLE et Java pour les smartphones Android.

C’est un mode de langage puissant qui a été pensé pour épouser parfaitement les besoins et fonctionnements des appareils mobiles. Il permet de créer des fonctionnalités propres aux plateformes IOS ou Android. 

Ce mode historique garantit une rapidité d’exécution mais présente l’inconvénient majeur d’avoir besoin de développer deux applications distinctes, une pour chaque constructeur. En conséquence, il n'est pas rare que les versions pour les utilisateurs d’Apple et d’Android diffèrent légèrement pour la navigation et la maintenance de la solution globale est plus complexe et bien plus coûteuse que les autres solutions de développement.

Le mode Hybride classique

Dans ce mode de développement, les technologies de développement utilisées sont apparentées au monde du WEB, c’est-à-dire à l’utilisation principalement de JAVASCRIPT, HTML, CSS. Plusieurs « Framework »  existent et facilitent les développements en apportant des outils de design et des librairies de codage. On rencontre principalement des environnements de développement comme Cordova, Xamarin, Angular JS, ou encore React JS que nous avons adoptés au sein d’UBIDREAMS pour vos applications web.

Ce mode de développement présente l’avantage de ne pas obliger à développer deux applications différentes pour Apple et Android car le même code est utilisable pour les deux mondes. Cependant, ce mode hybride classique et historique présente plusieurs limites technologiques car le code Javascript généré par ces différents « Framework » ne s’exécute pas nativement dans l’operating system des Smartphones, il s’exécute dans une vue WEB.  Ainsi, les temps de réponses peuvent être affectés, les dialogues avec des objets connectés également et le mode déconnecté ou offline pourra être délicat à mettre en place dans certaines configurations.

Le mode Natif Multiplateforme – REACT NATIVE

Cette configuration de développement, à l’identique du monde hybride classique, utilise le langage Javascript comme socle du développement mais fait appel à un « Framework » particulier qui se nomme REACT NATIVE et qui comme son nom l’indique créé un BRIDGE ou PONT entre le code javascript et du code NATIF, pour Apple et Android. C’est-à-dire que le code généré par ce développement est du FULL Natif  et il s’exécute bien dans le système du téléphone en garantissant  les mêmes performances du natif classique.

En anglais, REACT NATIVE est défini comme  “Build native mobile apps using JavaScript and React”.  On peut dire en étant plus précis qu’un composant React qui est écrit en Javascript (JS)  et qui a donc un comportement commun, est  lié à deux composants du côté natif, l’un en Objective-C pour iOS et l’autre  en Java pour Android. Le composant « JS » va communiquer via un pont (qui est le cœur de React Native) avec les composants natifs pour les contrôler et agir sur eux.

La communauté qui utilise et contribue à cet environnement de développement opensource est celle de FACEBOOK, AIR BNB, PINTEREST. Ainsi les mises à jour sont immédiates et permanentes mais dans le cas où une fonctionnalité manquerait au sein d’une librairie, la technologie REACT NATIVE permet d’insérer dans le code javascript des morceaux de code natif pour créer des plugins spécialisés.


En matière de développement mobile, UBIDREAMS a fait le choix en 2016 de changer de mode développement et a adopté REACT NATIVE pour capitaliser sur son expérience de JAVASCRIPT et apporter au marché la meilleure solution pour l’efficacité, la maîtrise des coûts de développement et de maintenance de ses solutions.

UBIDREAMS a l’expérience d’avoir réalisé plusieurs SDK intégrés à son code React Native  comme par exemple, s’interfacer avec des Beacons ULTRASONS ou des LECTEURS NFC dans des applications techniques et de FINTECH.

UBIDREAMS garantit la qualité de son code par l’utilisation de cette technologie, conjuguée à la maîtrise du design UI/UX et de la méthodologie de conception AGILE.

Une question, un projet ? Nous vous aidons à définir votre projet.