Header image

Hybrid App Developement

Hybrid App Development

Hybrid mobile app development is an approach to programming for mobile devices that combines the strengths of native programming and HTML5 mobile app development. To build a hybrid mobile app, developers write the core of the application as an HTML5 mobile app and then place a native device wrapper around it. The native wrapper acts as an intermediary and translates instructions into a form that the mobile device understands. The HTML5 core of the hybrid mobile app runs inside the native container and uses the mobile device's browser engine (not the browser itself) to render the HTML5 and process the JavaScript locally. The HTML5 app core can then be reused for other mobile platforms.

Corporate developers use hybrid apps to make supporting the number of mobile devices in the enterprise less time consuming and costly.

Going Native

If you are new to mobile development and want to build performance-critical mobile apps and/or take advantage of native APIs, you would need a good resource on learning mobile native development. Let’s take iOS for example. If you want to be a native iOS developer, firstly get yourself a Mac. You can write code anywhere, but a Mac is needed to build the code into an application as is an iOS Developer Account ($99 per year). You can get a great intro to Objective-C by creating your own Flappy Bird game in your browser..

This tutorial introduces application design, structure and code implementation while building a ToDoList app (ToDo lists seem to be the ‘Hello, World!’ applications for mobile development). As for Android development, I would recommend Learning Android, 2nd Edition by O’Reilly. It gives a good insight at of Android development while building a Twitter-like mobile client. And of course, SitePoint has plenty of iOS and Android development articles for you to enjoy!

Native over Hybrid

Building native applications means using the native language of the platform, Objective-C on iOS, and Java on Android. The main advantage of native applications is their performance. Native apps are compiled into machine code (Dalvik byte code under Android), which gives the best performance you can get from the mobile phone. Best performance includes fast and fluid animations as well as full access to phone hardware, multi touch support and the latest APIs.

Native development is far from easy. Despite the great number of resources that can be found, it may not be understandable to everyone. As code must be written specifically for each platform, the same code will have to largely be rewritten with little able to be shared. The logic may be the same, but the language, APIs and the development process is different. This process can be relatively long for complex applications.