Retrouvez tous les outils que nous utilisons pour concevoir, développer et gérer vos projets.

Les 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 Androïd.

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’Androïd 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 Cordova, Xamarin, Angular JS, React JS comme environnement de développement.

Ce mode de développement présente l’avantage de ne pas obliger à développer deux applications différentes pour Apple et Androïd 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 (Ce que nous faisons)

 Cette configuration de développement utilise à l’identique du monde hybride classique, 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ée un BRIDGE ou PONT entre le code javascript et du code NATIF, Objective C ou JAVA selon l’OS utilisé, pour APPLE et Androïd. 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 coeur 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 pluggins spécialisés.

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.