A hybrid mobile application – what is it in fact? What advantages does it have compared to native apps? Which technologies should you choose to build mobile applications? The following article will give you answers to all these questions.
What is the secret of hybrid applications?
The secret of hybrid applications is strongly related to a WebView definition. In short words, it means that there is a closed web browser in a container of native mobile applications which renders a particular code in web development technologies. An application created in that way can be published in Google Play, Apple Store, or the Microsoft Windows Store. The user is often unaware that he is using a hybrid application. There is nothing wrong with that of course. On the contrary, if the user is not aware of any difference, we can be happy that our product looks as if it was written by native technologies.
Which is better–a hybrid or a native approach?
Of course, everything has advantages and disadvantages. Everything depends on the business needs of customers and some kind of a compromise. Building mobile applications based on the hybrid’s technologies gives, most of all, financial benefits for customers and great satisfaction to programmers. The client’s perspective is that he doesn’t spend additional money on the compatibility of mobile platforms such as Android, iOS, and Windows Phone. Moreover, building an application in the native approach means that the customer will need three applications–each one on a separate mobile platform. We can imagine that costs will be much higher.
When it comes to the programmer’s perspective, they can use their skills of building web applications to create modern mobile applications. The next thing is that almost each modification is compatible with all mobile platforms. What is more, in most cases, we can reuse our code from the mobile application to build a web application version. It speeds up product delivery to the customer and reduces the cost of production.
When do you choose the hybrid approach and when do you choose the native approach?
Choose the hybrid approach if:
- you care about a lower cost of application development;
- one of the highest priorities is delivery time;
- you care about a lower cost of development and maintenance (one code for each platform); and
- you already have a web version of your application, or you plan to have one.
Choose the native approach if:
- price is not your priority;
- application performance is critical for your users;
- you have skills in native technologies such as Java, Objective-C, Swift and C#;
- you would like to have access to unlimited mobile functionalities; and
- you would like to gain the highest user experience possible.
Referring to the examples, at the beginning, a mobile application of Facebook and LinkedIn was written by hybrid technologies. In 2012, Facebook maintained more than 500 million people all over the world, until they decided to rewrite the application using native programming languages. On the official Facebook notes we read:
We chose to use HTML5 because not only did it let us leverage much of the same code for iOS, Android, and the mobile web, but it also allowed us to iterate on experiences quickly by launching and testing new features without having to release new versions of our apps.
So while utilizing web technology has allowed us to support more than 500 million people using Facebook on more than 7000 supported devices, we realized that when it comes to platforms like iOS, people expect a fast, reliable experience and our iOS app was falling short. [source]
It shows that you can use the hybrid application to deliver your service to half a billion people. Mark Zuckerberg realized that he needed the best user experience possible to gain on the mobile platform. Of course, it doesn’t mean that each application must be the best in the world and to be developed based on native technologies.
What technologies are available for the hybrid?
One of the most popular projects to develop hybrid applications is Ionic Framework with open source SDK. It was made by Max Lynch, Ben Sperry, and Adam Bradley of Drifty Co. in 2013. Ionic focuses on appearance, user experience, and interaction with users, giving them ready-made components and API. In that case, how does Ionic connect to the native mobile platform components? The help comes from another open source project that Ionic was based on— the Cordova—a framework to build hybrid applications. It has a lot of plugins (above 1.2K) and thanks to them, we have access to the native functionalities. Cordova can be used to build a native installation package on Android, iOS, and Windows Phone.
Ionic is not only a framework, it is also an ecosystem to support programmers to build mobile applications. For example, Ionic Creator is a platform to build a user interface by dragging and dropping ready-made components. It can be used to design the final appearance of the application. Using Ionic View, we can simply run our application on a mobile device and share it with our customers or friends before we put it on the official app store. Ionic View is available on Google Play and Apple Store. We need to pass through a short registration process, and with the received application ID we can download and open an application. We can publish our source code on Ionic Market and share our application there, charging a fee to download it. In addition, Ionic has a good blog, documentation, and forum where you can find useful information about Ionic Framework.