The different development modes

Your application depends on many technologies and programming languages. These technologies offer various possibilities  that can be grouped under different development modes.

Native mode

In this development mode, the code is directly written in the smartphone’s operating system. Development tools used are Objective C or Swift for IOS and Java for Android smartphone

This is a powerful language method that has been designed to perfectly fit the needs and functioning of mobile devices. It allows the creation of functionalities  IOS and Android own functionalities.

That historical mode guarantees rapid execution but the main harm is the necessity to develop two different applications, one for each device. In consequence, it’s common that both versions of IOS and Android are different for navigation or global solution maintenance which is more complex and expensive than other development solutions.

Classic Hybrid mode 

In this development mode, technologies used are related to the web world, that means using mainly Javascript, HTML and CSS. Several frameworks exist and facilitate developments by providing design tools and code libraries. We meet mainly development environments like Cordova, Xamarin, AngularJS or React Js that we have adopted in Ubidreams

This development mode has the advantage of not forcing the development of two different applications for iOS and Android. Same code is available for both devices. However, this classic and historical hybrid mode has various technological limitations because Javascript code, created by those different frameworks, isn’t executed natively in smartphone operating systems. Response times can be affected, dialogues with connected devices too and the offline mode will probably be difficult to set up in certain configurations.

Multiplateform native mode – REACT NATIVE

This development configuration, as the classical hybrid mode, uses Javascript as a development base but calls upon a specific framework named React Native which creates a bridge between Javascript code and native code for Android and iOS. This means that the code generated is fully native and executes itself in a smartphone operating system with classic native performances. 

React Native is defined as “Build native mobile apps using JavaScript and React”. We could explain that like a React component that is written in Javascript and has a common comportment because it is linked with two native components, one in Objective-C for iOS and the other in Java for Android. Js component will communicate through a bridge (core of React Native) with the native components to control and act on them. 

Communities that use and contribute to that open source development environment are Facebook, Airbnb, and Pinterest. This way, updates are immediate and constant but in the event of a missing functionality within the library, React native allows the insertion of pieces of native code into the Javascript code to create custom plugins.  

In matters of mobile development, UBIDREAMS chose in 2016 to change its development mode and adopted React Native to capitalize on his experience with Javascript and to offer the best solution in efficiency, development cost controls and solution maintenance.

UBIDREAMS has experience with the realization of many SDK integrated in its React Native code as for example : the connexion with Beacons ultrasounds or with NFC readers in technical  and FinTech applications.

A question, a project ? We help you define your project.