Andrzej Lewandowski
Hybrid Solutions in the Mobile Applications World
Today’s world – can anyone imagine our daily life without omnipresent smartphones? They are with us everywhere: at work, at home, and even during a journey. We don’t separate from them even for a moment. Technological development caused modern mobile devices to be more than means of communication, they are mobile offices or even multimedia centers. It all makes the mobile market develop dynamically, and the number of available applications is enormous.
Whether our application is successful or not is not the matter of the solution’s accuracy or innovativeness, but mainly its accessibility to different platforms. It challenges its creators as there are differences determining each platform, starting with the level of the view of a platform, through its layer of business logic or data access as well as the management of subsystems such as a camera, gyroscope or fingerprint reader.
Each difference is the reason why writing a native solution the creator has to know not only specifics of a given platform, but also a programming language dedicated to it. It makes keeping product integrity much more difficult and it prolongs the process of creation.
Hybrid solutions are based on a native code, but the whole process of creation takes place in a framework providing a programmer with components and tools necessary to write a cross-platform application (a framework is responsible for an application’s code translation to a native language of a given platform). In the market there are available many different solutions, some of them are based on a cross-platform runtime environment Node.js, among others React Native, Apache Cordova, Ionic (free mobile UI toolkit to create high level cross-platform applications on a mobile device with an iOS system, Android).
Hybrid solutions in mobile applications – how does it work?
An application is most often written using HTML5to run the view and JavaScript or TypeScript (an open-source programming language created by Microsoft, a strict syntactical superset of JavaScript – it enables object-oriented programming based on classes) to run the logic and data access layers. The runtime environment enables viewing a created application together with a dynamic possibility to change the presented platform.
It facilitates the process of testing the solution. In the most modern phones there are notches and different display sizes, which influences the application’s scalability. Nowadays, hybrid solutions are based on Angular version 8, which had a radical influence on the optimization of a lifecycle of a page (a single screen application), as well as the whole navigation between screens.
As Node.js is only a runtime environment, there is necessary an appropriately configured native environment for the application distribution (it is Xcode for iOS and Android Studio for Android). In case of iOS it unfortunately means the necessity of owning an Apple equipment. In case of Android, the situation is much better and we have a full freedom here.
Hybrid Applications in the most popular stores
The process of creating an application is not finished when a code is written and a version is build. It also needs to be distributed to receivers, fortunately official channels of distribution are helpful here(App Store and Google Play). Hybrid applications are fully supported by these stores.
They also enable easy and clear way of managing the test stage, starting with an internal stage to the open Beta version. It allows conducting tests within a defined number of users, as well as the possibility of promoting our solution among others and enlarging a group of possible recipients.
Introduction of hybrid solutions into the market had a huge impact on the world of mobile applications. A very important aspect of creating is an optimization of time and costs connected with the process of writing an application as well as sustaining the code integrity for different platforms. In the business world time is always of a great importance and on many occasions it is a factor deciding about the success of a solution. A good example is the mProlib application which was recognized by the jury of the Good Design 2019 competition which was organized by Institute of Industrial Design. The application was qualified to a small group of finalists.