Why a hybrid mobile application?

Mobile Reading Time: 7 min.

  • views1648
  • 0comments
Share

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.

The hybrid is a connection of at least two solutions which apparently do not interact with each other. In terms of mobile applications and a hybrid approach, the hybrid mobile applications are a combination of the web development technologies with native mobile platforms. In other words, an application written in HTML, CSS, and JavaScript programming languages works and behaves like a native mobile application on platforms such as Android, iOS, and Windows Phone.

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 have skills in web development technologies such as HTML, CSS, JavaScript;
  • 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.

People who don’t have any experience with Ionic and Cordova may wonder what is the difference between them if the frameworks used to build the hybrid mobile application are the same. You can understand it this way: Cordova is a stand-alone solution, which extends the features of HTML and JavaScript, to work with the device. It focuses on the access to the device and on building the native installation packages. While Ionic focuses on UI components and interactions between them, Ionic gives us CSS components, such as buttons, list, cards, forms, tabs, grid, etc., and JavaScript components such as navigation, menus, popups, scrolls, gestures, events, etc. Thanks to that, Ionic perfectly complements the Cordova project. The figure below shows where the Ionic and Cordova are located in a hybrid architecture.

hybrid application

Using Ionic requires at least basic knowledge about Angular framework, which was founded in 2010 and developed by Google. Angular is a JavaScript framework, with the MVC (Mode, View, Controller) approach, which gained popularity around the world.

Ionic ecosystem

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.

Summary

The hybrid application will surely become faster due to the optimization engine browsers that we have seen in the last few years. With these advances, hybrid applications will come close to the main advantage of the native application, namely the performance. Usually, the choice of an approach depends on which technology we are familiar with or how fast we can deliver our application to the customer. But price is also hugely important, and it can be reduced due to the portability of code between mobile platforms. One thing for sure is that thanks to HTML5 and JavaScript frameworks, the future of hybrid solutions will constantly improve, and I believe its possibilities are unlimited in every way.

Tagged with:

Tags: , , ,