Is Hybrid apps the “future” of Mobile Development?
There
has been a lot of discussions are happening regarding mobile
application development using native approach and Hybrid approach.As
Gartner(www.gartner.com),the
analysts
predicted that by 2016 more than 50 percent of mobile applications
will be hybrid.
So
its time to clearly analyze the pros and cons of hybrid app
development and it advantage over native application
development,there by enabling the mobile app owners to take a quick
decision,whether to go with native approach or hybrid approach.
What is a hybrid mobile app?
Hybrid
mobile apps run inside the native browser container and leverage the
device's browser engine to render the HTML and process the JavaScript
Locally.No matter which is the target device ,it can be iOS Android
Blackberry etc , the app developed using HTML+ Javascript will work
on all the devices .So by following this approach following are the
advantages
- Faster time to market
- Low development cost.Multi-platform applications can be developed in a short period of time
- Maintenance cost are usually lower
- HTML5 developers are typically easier to find and less expensive than native developers
- Web app development knowledge is enough to develop apps
- A single source code is needed to maintain for multiplatform apps
A
lot of helper frameworks are available currently available to support
hybrid mobile apps development .Some of them are
An
HTML 5 based framework which provide a lot of mobile specific
components and methods.To develop apps using Sencha touch some
knowledge about the standards of Ext Js is necessary as it is not
following pure Javascript coding styles.So the learning curve here is
a bit steep.Sencha touch follows a class system ,so it is easy to
manage the code.
Jquery
Mobile
Jquery
mobile is also an HTML 5 based user interface system designed to make
responsive websites and apps that are accessible on all
smartphones,tablet and desktop devices.Compared to sencha touch
Jquery provides less number of components and UI
is wrapped with a custom jQuery Mobile styles, just like jQuery
UI. Page
transitions and animations don’t feel ‘native’ enough and can
be sluggish sometimes.
Ionic-Angular
JS
This
is the youngest among the above two frameworks.Ionic provides a set
of Angular directives (custom HTML elements) for it’s own
components, making it as easy to use the widgets as writing a line of
HTML code. In addition to directives, Ionic uses Angular’s touch
recognizers, view animation logic, HTML sanitation, and asynchronous
communication.This is not an object oriented javascript framework
like sencha touch.This can be observed as a weakness or a
strength,depending on the level of simplicity requested on the
JavaScript front end.
All
the above frameworks provide a lot of UI related component and APIs
,but none of these framworks provide any ways to access native device
directories or native features like Camera,Photo Library etc.
Cordova(Phonegap)
is using to solve this issue
Cordova
(Phonegap)
Apache
cordova is a set of device APIs that allow a mobile app developer to
access native device function such as camera,accelerometer
etc.Combined with Jquery Mobile ,Sencha touch ,Ionic etc, this allows
a smartphone app to be developed with just HTML,CSS and JavaScript.
Titanium
Appcelerator
Compared
to other hybrid frameworks ,the concept here is a bit different.All
the other frameworks are using the devices basic web-view to render
the app pages,but here the code written using the Titanium APIs will
call the corresponding methods in native SDK .For example to add a
button to a page titanium SDK uses a class named
Titanium.UI.Button.On compilation this class will access the
corresponding UIButton class in iOS Sdk if the app is for iOS or will
access the Button class in Android.This approach gives a fully native
appearance to the app as it is not using the Web-view and will work
just like a native app.But here also a lot of limitations are
there.The
more complex your applications become, the more often you’ll have
to deal with, on the one hand technical issues (random crashes, weird
behaviors, annoying bugs, etc.), on the other hand a greater effort
(code organization, MVC separation, multi-device support,
multi-platform support, code readability, etc.
Drawbacks
Now
coming to the drawbacks of hybrid app development .
- Potential performance issues
- Some features may not work in all mobile platforms (for example : webworkers which is commonly using in web based apps is not available in lower versions of Android,pdf support is not available in android browsers,but it is available in iOS browsers.)
- Native frameworks can provide advanced functionality that cannot always be easily replicated on the HTML5/CSS/JS side
- UI design will become difficult if need to handle multiple sized devices.
- Privacy is not guaranteed in hybrid apps.
Summary
If
the user is expecting a high performance app with rich UI and
animations then ,surely Hybrid is not a solution.But for simple
multi-platform apps with limited number of screens and less
animations then Hybrid will be a better option.
Thanks for sharing hybrid mobile app this app is helpful for every one you can post more post for this topic...
ReplyDeletehttp://www.appliconic.com/
This comment has been removed by the author.
ReplyDeleteWell you are very right Sreelal, I am currently working with Affordable Web Design or Software Development - Hire Programmers , and now in advance level I am thinking to do app development , Very nice post , I really appreciate this one !
ReplyDeleteThanks your blog is awesome.
ReplyDeleteVideocon offers one of the best prepaid service in Punjab.
Nice Blog Keep Posting.
ReplyDeleteTesting Tools Training in KPH
wonderfull blog keep posting.
ReplyDelete< a href="https://www.vcubesoftsolutions.com/python-full-stack-in-kphb/">PYTHON FULL STACK IN KPHB
Great content! Keep up the momentum with your blog postings.
ReplyDeletejava full stack training Institute In Hyderabad