As a Developer why should I worry about Hybrid Application Development?

 

As a developer I see a great potential in the direction of mobile and device application development. It is evident that the platforms like IOS, Android and Windows Phone are making themselves better with each passing days such that they can excite more developers and eventually the consumers. A huge marketing perception is consumers and proper marketing make a product successful. May be, but when it comes to mobiles and devices, I don’t buy this argument. When I decide to buy a smart phone or tablet, first and foremost, I evaluate whether useful and popular applications are available in my local market place or not ? Applications are essential for the success of any platform. I believe a smart device with smarter platform is a void combination if there is dearth of applications to use on that. Applications are output of a developer work hence any platform need developers to succeed.


 

As a developer I want to write applications and get connected with user of all types of devices and platforms. At any given day I want to see my applications are running on all platforms and used by users of all types of devices.

 

Let us go bit mathematical here. For instance take an example, I want to run my application on three popular platforms and roughly I may need to learn three different technologies and need three different development environment.


 

 

Learning three different technology is exciting though I am more worried about writing three different sets of code for same business requirement. I am reluctant to put thrice of my work for the same application. After creating application I will have to manage and support three different codes as well. At any given day I do not find creating three different application for same business requirement a wise and smart idea. Having said that there may be some scenario when my application is relying heavily on a particular platform and device capability, in that case I may want to write code specific to platform. However when I see majority of the applications are data driven and just consuming data from remote services. In these types of applications I would consider to write one code running on various platforms.

Let us get more mathematical here, assume we are writing an application and want it to run on three popular platforms and application creation for each platform requires 100 lines of codes. So I have to write 300 lines of codes and later I need to manage and support three different sets of codes.


 

 

I may not want to do it if I am writing an application which is just consuming services and nowhere using device capability extensively.


 

I may consider to write one application and expect it to run on all platforms. This type of application is known as Hybrid Application


 


I want to write code once and expect it to run on all types of devices. And path for me would be creating a Hybrid Application. Now question is what technology, language need to be used to create a Hybrid Application? Hybrid application can be created using web technologies like HTML and JavaScript.

There are many awesome products out there which help to create Hybrid Application. One of the best could be jQuery Mobile and Kendo UI Mobile

So I may summarize Hybrid Application Development in following steps


 

  1. Create application using HTML
  2. Build application using PhoneGap
  3. Deploy it to various platform via respective marketplace

In block diagram, I can summarize hybrid application development as following


 

 

So if I am opting for hybrid application development, I may need to write only 100 lines of codes and my application is running on all the platforms. For the same requirement, if I am going to create native application, I will have to write 300 line of codes and I will have to manage 3 different set of codes.

I will end this post by saying if I am not going to write application that is going to use hardware and device capability heavily then Hybrid Application is my choice. At any given day I would like to write one set of code running on various platforms and being used by consumers from all across.

Any comment would be appreciated.

 

18 thoughts on “As a Developer why should I worry about Hybrid Application Development?

  1. Hello Dhananjay,

    What about considering a true portable solution using .NET : MonoTouch pour iPhone, MonoDroid for Android, Visual Studio for Windows Phone, and MVVMCross for both three ?!!!
    Look at this presentation: http://slodge.blogspot.co.uk/2012/03/slides-from-my-talk-at-devevening-this.html.
    It is awesome!!!
    (Some limitations explained on this page : http://stackoverflow.com/questions/10224376/mvvmcross-experiences-hindsight-limitations).

  2. Hi Anandha UI will render in browser. Browser will run in full screen mode. As I discussed in post that Hybrid Mobile Application allows you to achieve minimum denominator ..

  3. Pingback: Dew Drop – September 17, 2012 (#1,402) | Alvin Ashcraft's Morning Dew

  4. Pingback: Geek Reading September 17, 2012 | Regular Geek

  5. Pingback: Random Links for .net development : 1 « Ravi Gadag

  6. Pingback: Ravi Gadag

  7. I am reading about Hybrid Applications everywhere. I found it interesting. does every hybrid application need it’s own native part? or only one native container is sufficient to install more hybrid applications??? please give some idea

  8. Hey,

    Just read more about phoneGap and other tools. And came to know that they are creating their own layer on OS between actual app and OS. Which is making apps really slow.
    Can you please provide more comments on this? Like is there any option to overcome this issue or more?
    Thanks!
    Janki Chotai

  9. Pingback: How to detect Device is connected to Internet using Cordova « debug mode……

  10. Pingback: Creating First Cross-Platform Application using Kendo UI Mobile and Icenium « Telerik Helper

  11. Hi dhananjay, Could you please confirm that hybrid application can perform all the task as like native phone apps

  12. Pingback: PhoneGap or Cordova? Don’t confuse me and tell me the differences! | debug mode......

  13. Hi DJ, I call Hybrid Mobile Apps as “Mobile Web Apps”. The difference between Native,Mobile Web App and Mobile WebSite is,native works on platform’s “default” language,Mobile Web Apps are written in HTML/Javascript and runs inside a webbrowser control that is being hosted by a native app while Mobile WebSites are completely written in HTML,Javascript and theres no need for installation on a device.The problem with Mobile Web Apps and Mobile WebSites is : Responsive Design. You’ll have to write extra code to fit app page according to the device size or orientation types.With native app development this has been resolved automatically. I use Jquery Mobile and im fine with it.But a Hybrid doesnt give the same functionality as a Native app.First thing, if you have a limited time and you dont want to lose time learning native app development according to the platform,the best way is “Develop once,use everywhere” method which describes Hybrid Apps. If you have quite time to develop astonishing mobile app,use Native! The problem with Hybrid apps is; they cant access all the functionalities of a native app.In addition if you’re building a 3d game,native is the way to go. Im not a fan of Native or Hybrid Apps,use which one suits you well according to your plan of production.These are my opinions about the matter :)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s