Monday, July 1, 2013

Hybrid Mobile Development

Introduction

In this article we will see how the different hybrid mobile approach supports for developing mobile application for multiple mobile platforms such as iOS, android and Blackberry etc. In this article I have targeted mostly used hybrid development framework available in market as of now. Hybrid mobile application basically is a power of HTML5, JavaScript and CSS3 as well as Native API for cross platforms.

Hybrid Mobile Development

Hybrid mobile apps combine aspects of the two, written in HTML5, CSS3 and JavaScript, but with access to device functions via a plug-in developed by mobile development framework. Hybrid apps make it possible to embed HTML5 apps inside a thin native container, combining the best (and worst) elements of native and HTML5 apps.

Hybrid Frameworks
There are lot of hybrid mobile development frameworks available in the market. We will see in brief some of the widely used frameworks.

PhoneGap/Cordova:

PhoneGap is an open source framework for quickly building cross-platform mobile apps using HTML5, Javascript and CSS. When we want to develop application for Android, iOS, Blackberry and windows phone etc, we need to have the understanding of all the languages that each of the platform uses. PhoneGap solves this by using standards-based web technologies to bridge web applications and mobile devices.
·         http://phonegap.com/

Dojo:

Dojo is a JavaScript framework, a collection of utilities written to ease development of client-side Mobile/Desktop applications. Dojo is one of several such libraries. It is composed of a collection of JavaScript functions that cover DOM operations to perform useful operations frequently needed by developers. It establishes a framework for defining modules of code and managing their interdependencies; it provides build tools for optimizing JavaScript and CSS, generating documentation, and unit testing; it supports internationalization, localization, and accessibility.

The Dojo Toolkit is organized as –
Dojo: Contains the core and most non-visual modules.
Dijit: Is a library of user-interface modules for widgets and layout.
Dojox: holds assorted modules not yet considered stable enough to include in dojo or dijit.
Util: includes build tools such as optimization, documentation, style-checking, and testing.

·         http://dojocampus.org/
·         http://www.classdojo.com/

Sencha Touch:

 JavaScript library or framework, specifically built for the mobile devices. It is fully based on web standards such as HTML5CSS3 and JavaScript. Sencha Touch we can integrate with the PhoneGap and easily create HTML5 based mobile apps that work on Android, iOS and BlackBerry devices, and produce a native-app-like experience inside a browser. Sencha touch has set of Control defined which we can use in the mobile development. All the controls are enabled with the touch events/features.


JQuery Mobile:

JQuery Mobile is a user interface framework based on jQuery that works across all popular phones, tablet and desktop platforms. JQuery is developed to meet the responsive web design (RWD) principles. JQuery mobile framework allows user to design a single highly-branded web site or application that will work on all popular Smartphone, tablet, and desktop platforms.

·         http://jquerymobile.com/


Hybrid Frameworks Comparison   



Hybrid Mobile App Pros and Cons

Pros

ü  Faster time to market.
ü  Hybrid app development enables seasoned developers with the knowledge of traditional technologies like HTML5 and CSS to build quality apps without having to learn native app development.
ü  A reduction in native coding usually results in more reusable code across platforms as the HTML5/JS/CSS code base can be utilized across platforms
ü  Maintenance costs are usually lower
ü  Targeting multiple platforms without writing multiple apps from scratch
ü  Not having to maintain multiple codebases in the future.

Cons

ü  There are several layers of abstraction that tend to slow down the application.
ü  It is a lot more difficult to debug a hybrid app than it is to do the same to a native app.
ü  It is not possible to use a lot of native features – especially the cutting-edge features that have just been released.
ü  Potential performance issues.
ü  HTML5 doesn’t work for everything.
ü  Native frameworks can provide advanced functionality that cannot always be easily replicated on the HTML5/CSS/JS side




Conclusion

The best choice would depend on the type of application you are developing.  For example, animation-intensive apps such as games or Device specific functionality would favour native apps, while hybrid applications may be better suited for simple and small apps or enterprise mobile apps because they provide multi-platform support.


The rule for Hybrid Development “Build once and deploy to multiple platforms”.


1 comment:

  1. A nice article here with some useful tips for those who are not used-to comment that frequently. Thanks for this helpful information I agree with all points you have given to us. I will follow all of them.
    Mobile App Development Company in Dubai
    Android App Development Company in Dubai
    Mobile App Development Company in UAE

    ReplyDelete