App development: native, Web-based or hybrid?

By Aavishkar Jugwanth,  Developer at Barone, Budge & Dominick (BBD)

Calling your mobile device a phone is a misnomer in today's fast-moving world. The proliferation of mobile devices, specifically smartphones and the increased number of tasks users are relegating to their mobile device is a matter of fact.

From booking tickets to banking to chatting and social media, the smartphone does it all and is even being used as an electronic wallet in many countries. As more devices equipped with NFC (near-field communications) appear, your mobile could even open doors and raise the boom at a parking garage in the near future.

Companies wishing to remain top of mind among customers and give them the opportunity to transact and interact with the minimum of inconvenience must take cognisance of the growth of mobile and make themselves easily accessible on these platforms. Unfortunately, when considering the degree of diversity between the different platforms, the user requirements, the budgeting concerns and the numerous architectural paths available in mobile application development, many businesses are confused as to where they should start when it comes to going mobile.

Three options

When considering mobile application development, there are three options to explore: native, Web-based and hybrid applications.

Native: Native applications are, as the name suggests, specific to a given platform. When creating native apps, the developer uses standardised SDKs (software development kits) created by the manufacturer to ensure the standards on that platform are kept up to the level the manufacturer intended.

These applications offer the best performance and user experience. Native applications are faster with fluid animations, full access to the built-in components and ease of use for the user. Also, there is generally much more documentation to assist in creating your application.

These applications can only run on the device they are designed for, so if you want to have an app for multiple platforms, you need multiple applications and specialised developers for each. The development cycle is longer, costs are higher due to specialised resource requirements and you have multiple code streams which will become increasing difficult to maintain over time.

Web-based: Using standard Web technology such as HTML 5, CSS, JavaScript, developers can produce write-once, run-anywhere applications that run in the browsers of almost any mobile device. This is convenient, but comes at the cost of some limitations.

With advances in CSS and with HTML 5, there could be hope for Web-based mobile applications, but at the moment these applications are greatly overwhelmed by the performance, requirements and functionality of other approaches. These applications do not allow for offline storage and security, and users will not be able to use the compound touch gestures they are used to.

Hybrid: Combining native and HTML, hybrid applications allow you to take the some of the best (and worst) allowances of the other two approaches. Hybrid application development has made great strides, with the APIs (application programming interfaces) and libraries exposing more of the underlying device. Developers now have access to almost all of the device's built-in components.

You still use CSS and HTML 4/HTML 5 and JavaScript, but developers can optimise JavaScript and create awesome CSS layouts presented by compliant HTML, capable of working on any platform. There may be special scenarios, however, where native developers need to write plug-ins to complex tasks.

The world of mobile is constantly changing, with new devices, new features and new platforms constantly being introduced. The manufacturer API is the first to expose the new features and the hybrid APIs are always soon to follow. The comparison chart below may help you decide your way forward.

Mobile is a growing industry and nobody really knows to what extent mobiles will still influence and impact our lives. What we do know is that it will have a significant impact and become an even more integral part of our lives in the foreseeable future. Companies need to come to terms with mobile platforms and ensure they are able to provide their customers with easy access by developing applications that draw them in and allow them to conduct business with the swipe of a finger. If you don't, your competitors certainly will.

 

Native

HTML5

Hybrid

App Features

     

Graphics

Native APIs

HTML, Canvas, SVG

HTML, Canvas, SVG

Performance

Fast

Slow

Slow

Native look and feel

Native

Emulated

Emulated

Distribution

Appstore

Web

Appstore

Device Access

     

Camera

Yes

No

Yes

Notifications

Yes

No

Yes

Contacts, calendar

Yes

No

Yes

Offline storage

Secure file storage

Shared SQL

Secure file system, shared SQL

Geolocation

Yes

Yes

Yes

Gestures

     

Swipe

Yes

Yes

Yes

Pinch, spread

Yes

No

Yes

Connectivity

Online and offline

Mostly online

Online and offline

Development skills

ObjectiveC, Java

HTML5, CSS, JavaScript

HTML5, CSS, JavaScript

 

Share this News
Share |
Subscribe to our Daily Newsletter here
comments powered by Disqus