Developing Mobile Applications

on Wednesday, October 9, 2013
Oh my, almost a year has passed since my last blog post. A lot has happened while I was away from writing this blog, but I'll start from the one that took most of my time which is my master's thesis about developing mobile client for HIP platform.

When I first started working on the thesis I had a rough idea about mobile development. While diving deeper into the issue I found out that there was a huge debate going on in the web about whether one should develop HTML5-based applications or author native apps. Both had their own pros and cons. HTML5-based apps were quick to author and they work in various platforms and operating systems out of the box. Native applications on the other hand require separate codebase for each platform, but they can access device's native features such as camera and notifications and they perform usually better than HTML5 apps which are used via browser. Also monetizing your app was an important factor supporting the development of native application.

What bothered me though was that at Humap we wanted best out of these two worlds. We have lots of experience about developing upon traditional web techniques including HTML5, CSS3 and modern JavaScript. It was also very tempting that the single codebase would work in all mobile devices. But on the other hand we wanted to author native application so that we could develop features such as notifications and easily shooting and uploading photos and videos to any HIP-based environment.

This is what the thesis is all about. How to author mobile application quickly and cost effectively so that it works in cross platform environments, yet so that it can access device's native features and you can publish your application in different app stores. The magic is that you start by authoring HTML5 application quickly and cost effectively upon jQuery Mobile framework. Then in comes PhoneGap which is a framework that can be used to build your HTML5 code into a native application for just about any mobile operating system. The Adobe PhoneGap Build service makes authoring a breeze. Just upload your sources as zip or connect your Github account and the cloud service will build your application into various platforms including iOS, Android, Windows Phone, WebOS, Symbian and Bada.