This time we decided to dive into the topic of app creation. To be more specific, about body measurement applications built on hybrid technologies.
We chose this topic to share the experience we had while creating the body tracker called eSense. It is a mobile application that measures body temperature and galvanic skin response. Data for the measurements are collected by means of external devices.
The body measurement application, or so-called “tracker,” is an app that collects and processes data about body conditions. It can be temperature, steps, heart rate, blood sugar level, etc. People use this information to track their health condition or improve indicators. Hybrid application, in its turn, implies that the app will be used for both Android and IOS platforms.
5 Steps to Develop a Hybrid Tracker
The process of app creation starts with any other process – an idea. Then you must adapt it to the customer’s needs, and only after pure magic starts – the development process. We are not going to speak about all of the processes preceding development. Today we would like to describe more practical things and move straight to the core.
If you decide whether to go with a web or app development, consider that in 2017, nearly 53% of internet traffic came from mobile devices, and this number will rise. So, a mobile version of your product is only a matter of time.
If you are a founder that wants to develop an app, but the technical side is not your strong point, the best solution for you is to find a reliable development team and fully trust them. However, note that frequently, developers tend to work with technologies they are comfortable with, sacrificing business needs. To eliminate such a situation, we will walk you through the main steps in app development:
Step #1. Choose the tech stack
The approach for the technology selection for an app depends on resources and the money customer is ready to devote. It can be either native or cross-platform technology stack. In the case of eSense customer tasked us with creating an app that would work on both IOS and Android platforms. Therefore, we started with cross-platform development. We used Ionic2, Angular2, and Cordova to create this particular app. But you can also use other tools, such as Reach Native. Building an application using hybrid technologies is cheaper and more flexible but has disadvantages, like lower performance over native apps or limited functionality.
Step #2. Develop an App architecture
After dealing with a small but real and growing project, we “learned in our own skin” how important for the program not only to work well but also to be well organized. Do not believe that only large projects require robust architecture. The proper architecture will save you a lot of effort, time, and money. And often, it generally determines whether your project will survive or not.
Mobile app architecture is perceived as a process of developing an app with a durable structure followed by a certain set of patterns and techniques. Generally speaking, there is no generally accepted term for “software architecture.” However, for most developers, it’s clear what code is good and which is bad when it comes to practice. Good architecture is a profitable architecture that makes developing and maintaining the program simpler and more efficient. A program with good architecture is easier to expand, modify, test, debug, and understand.
An app architecture depends on your project specification. No matter what application you develop: hybrid or native, it has to be suitable to obtain the client’s requirements and the industry standards.
Step #3. Creating the App
At this stage, the process of development takes place. Previous phases served as preparation for the main development. The process is based on the specification of the application. But remember that every application can be built differently, regardless of the architecture and requirements. Therefore, it can be difficult to describe such a process without resorting to a particular application. Fortunately, we have an application to describe. Our process eSense development can be divided into 9 main stages:
- creation of an app template
- creation of the skeleton for the modules
- setting up client routing
- connecting and writing database logic
- adding plugins
- connecting and configuring required third-party libraries
- creating a visual part of each page
- building functional logic for each page
- writing principles of the plugin’s work
Yet, we would like to emphasize that this example of hybrid application development is not a perfect model. The process of development may vary with regard to the specifics of the design, requirements, and principles of each developer’s work.
Step #4. Implement the Tracker Functionality
The specialty of a development hybrid app is that the app will not have a back end; the whole development will be only on the front-end side. After implementing tracker functionality, the process’s specialty will change because we have to deal with external devices and their APIs. This is not just tracker applications but all apps that interact with external devices. In the majority, trackers should work with certain external devices or services to deliver the complete result. The application eSense uses a sensor as the external device. It collects measurements of the human body, like temperature and skin response. We used plugins for sensors, which collected data and sent it to the app.
In the next version of the app, we plan to work with Bluetooth devices, but the problem is that we don’t own the APIs of these devices. So, our team will have to study these devices at lower levels to understand how they communicate with the phone to implement them in eSense. Hence, developing an application tracker is studying and implementing external devices and services designed for tracker functionality.
Step #5. Testing
The final part of our development is devoted to verifying all processes and general testing the whole system. Also, it is a good idea to retest previously cleared features in every version of the app to be sure that it will work during the release candidate testing process.
Frequently, development ends with a launch of the ready product, but that is not always the case. As an app gets into the hands of users, feedback will pour in, and you will need to incorporate that feedback into future versions of the app.