5 Points to Keep in Mind While Designing Mobile Apps

Oscillating between deciding to go with Native Code or PhoneGap

PhoneGap enables software programmers to build applications for mobile devices using JavaScript, HTML5 and CSS3, instead of often less-known languages such as Objective-C. The resulting applications are hybrid, meaning that they are neither truly native nor purely web based. PhoneGap uses a single code base for all platforms (iOS, Android, Windows 7, mobile web) whereas Objective C only supports iOS.

There are quite a few benefits of building a mobile app in Phone gap over native language. It just requires HTML5/CSS/Javascript skills vs. Objective-C or Java.

Considering the advantages of creating a mobile app in Phone gap, we worked on creating a Notes app for iPhone using this framework. We mostly had all the fields available with third party controls, so it took us very less time to make the app work. But the issues related to performance turned out to be a major ship stopper. We noticed a lag in performance when drawing the Inking, or fetching the screenshot of a typed URL.

5 points that can quickly help you decide

1) Startups in industries like fashion, photography, medicine and so on, planning to build consumer apps and looking for processing intensive apps that require functionalities like resizing the images, cropping them and storing them in different sizes; for this target group we recommend using native code.

2) If you absolutely require a neat interface flow that makes good smart phones such a joy to use, you must go with native app development as HTML 5 based apps run the risk of feeling jerky.

3) PhoneGap is also not recommended for apps that require functionality that makes lots of calls to the OS such as geo location.

4) On the other hand, PhoneGap is highly recommended for those looking for more cost effective cross platform development. Such apps are faster to market, easier to repurpose, relies on less costly, less specialist skills for implementation, and better suited to existing work flows in design / technology agencies.

5) For beginners starting from scratch, learning development in PhoneGap is no easier than starting to learn for native Android, iPhone, Windows phone, Symbian or any other.

What we advice

As clearly evident from this discussion, there are pros and cons to each approach. As a Company, we will continue using a mix of both approaches and take a decision based on the requirement of the app.

We recommended using PhoneGap with simple apps to get best coverage over multiple platforms with least effort. If application logic needs more phone specific features, then at first stage core app can be written in HTML5 and Javascript and extended with plugins which are written in native code by others or yourself.

Applications that rely heavily on phone building hardware is better to be written in native code, it makes the app perform better and nothing beats native code in compatibility.

Although Web technologies haven’t achieved the level of performance we can attain with native code, but it’s getting close. We’re hopeful that Web technologies will soon become indistinguishable from native experiences.