Thursday, August 29, 2013

Native vs Mobile Web vs Hybrid applications

We have decided on developing a mobile application, but what type of application ?

There has been an ongoing debate with legitimate pros and cons of developing a Native app or a mobile web app or a Hybrid app.

What are the differences between these types of apps?

Native apps are built using the development tools and languages (XCode and Objective C for iOS apps, Eclipse, Android Studio and Java for Android, Visual Studio and C# for Windows) that the respective platforms support and so run only on their targeted platforms.

HTML5 apps are cross-platform mobile applications that run on multiple devices since they mostly run on browsers. Developers can write complex apps using standard web technologies HTML5, Javascript and CSS.

Hybrid apps are the applications that are developed using HTML5, javascript and css, but run with in webview container on the devices and so the applications are packaged natively and so has access to native API's of the OS also.

 Like in all language wars, there is no one answer for all the questions.

It depends on what your application is offering, what is the expectation of the users and what are your core development strengths.

Native Applications


Pro:

  • Native apps have the best performance and use the last available hardware resource to improve performance.
  • Applications will work in offline mode.
  • The apps are distributed through platforms App store providing better visibility to the prospective users.
  • Your application will have access to the latest API’s, releases on that platform.
  • The apps are built in languages the platform supports and so, has access to IDEs which provide the best tools to develop, debug the project fast. iOS app can be built in objective C on XCode which has all the tools to debug, design the interface, and check the performance using Instruments etc.
  • Linkedin is one example which shifted over to Native from HTML5.
  • And there is Facebook too, which took a U-turn.

Cons

  • You need huge budgets to support all the platforms that have considerable markets.  You will need to maintain multiple teams, one team per platform you want to support. So basically each team will replicate the same functionality in their platform.
  • App updates needs to be downloaded by users and so you end up maintain several versions of Apps on your web server if not properly designed.
  • Availability of developers for ramping up is another concern. When objective C suddenly revived after release of iPhones, there are not enough good developers ready.  May be the developers can be trained , but it is not feasible for small and medium head count companies and even in bigger companies where the training is feasible, the developers trained are not going to be at the same level of expertise they were on the technologies they are working on.


HTML 5 Mobile web app


Pro

  • HTML5 mobile app is similar to a normal web app, except that they are designed to work at smaller screens.
  • The distribution of these apps is very easy. You just deploy the web app on your web server and users access it from their browsers.
  • There are some very good mobile UI frameworks like JQuery Mobile, Sencha Touch and of course my favorite mgwt which provides several widgets for mobile.
  • These apps can probably reach out all platforms since they run on browsers and all the modern smart phones have a browser.
  • The development and testing of these apps is easier as they are similar to normal web apps where you have tooling support.


Cons

  • These apps don’t have access to the native functionality.
  • Performance doesn’t match with native apps.
  • These apps don’t work in offline. Actually works in offline mode, but that doesn’t match what native apps provide.


Hybrid Apps


Pro:


  • Hybrid apps are faster to develop since most of the development is done is web technologies which are cross platform and do very small amount of native coding, only when access to native layers is required. So only small portion of the code needs to be re-implemented for other platforms .This saves development time and cost and you can concentrate on developing new features rather than replicating the same features on each platform.
  • You are near to ‘Write Once, Run Anywhere’, the strategy that made Java such a dominant force.
  •  The tools for building Hybrid apps are not mature enough when compared to their counterparts on native apps. The situation is changing rapidly and soon there can be some good tools which support development of cross platform Hybrid apps.
  • These applications can be deployed in platform specific app stores.
  • Hybrid apps provide good and bad of both native apps and HTML5 web apps.
  • They can access the native layers.
  • These apps can work in offline mode.
  • Netflix is one cool example which runs the same code base against all the devices.
  • Gartner predicts by 2016 more than 50 % of the apps deployed will be Hybrid apps.


Cons:


  • Hybrid apps, even though are packaged natively are not native apps. They execute on the platforms web engine, Webkit in case of Android and iOS which is another layer between the user and the application and so the performance can’t match the native apps.
  • Since Hybrid apps are normally built using standard web technologies, there will be huge pool of developers available for ramping up. This is not the case with native apps.


If you are building productivity apps , Utility apps or Enterprise apps, Hybrid apps are for you. 

If you are building games or photos, videos related app then Native apps are the way to go. 

If you are building apps which need to work in real time, which doesn’t need access to the native layer and is not performance stressed, then html5 mobile web apps are the way to go.

So the decision needs to be done based on what type of application you are building, what is the development cost and time that can be offered.


12 comments:

  1. Are you looking for website creation you have came right place Nexevo Technologies for information....Web Design Company Bangalore | Web Development Company Bangalore

    ReplyDelete
  2. Your post clearly described about the types of application alongwith their pros and cons. Keep updating such technical information. Thanks
    Leading Web Design Company Bangalore | Professional Website Development Company in Bangalore

    ReplyDelete
  3. Amazing article !!
    You have easily cleared the differences between native app, web app and hybrid app and why they are different from each other. Also shown their pros and cons. Still a short and effective for everyone. Really very effective blog. Thank you for sharing.

    ReplyDelete
  4. Are you looking to the website design and development company than you are coming to the right place technobizzar software solutions....... website design company in Mumbai | website developer and maker in Mumbai

    ReplyDelete
  5. This article is really helpful for us. thanks for writing such a knowledgeable post.
    Android App Development Service At Sitegalleria Bangalore
    iOS App Development Service In Bangalore
     Send an Email – info@sitegalleria.com
    Book an Appointment – +91-80-95942111

    ReplyDelete
  6. Nice Article and Really helpful.Thanks a lot.
    PHP Website Development At Sitegalleria Bangalore
    Digital Marketing Service In Bangalore
    Best SEO Service In Bangalore
    Send an Email – info@sitegalleria.com
    Book an Appointment – +91-80-95942111

    ReplyDelete
  7. The information you have posted on Hybrid applications are very fascinating. It shows that you have indepth knowledge on Application development. I agree with all the cons but im skeptic towards the pros. We are the pioneers in mobile application development in Bangalore. You must take a look i insist.
    Take a look: Sitegalleria.com

    ReplyDelete
  8. what a knowlegeable info. you have shared with us on native vs mobile vs hybrid Applications. It'll really help our technical friends to gain something new. Thanks for posting !!
    ............................................................................................

    TrendyFeed Latest News
    TrendyFeed latest posted News
    The Trendy feed is one of India’s New business news publications – 60% of Trendyfeed readers do not read another business paper, making Feed a critical reach vehicle for the top end audience. Feed among business papers in terms of readership.

    A representative of an integrated newsroom, The Trendy feed is the fastest-growing news website in India. The feed provides daily national, international and business news, tracks market movements and detailed coverage of significant events. The site has evolved multimedia features like videos, podcasts, and slideshows.


    Our Office Address

    B Block 99 Sector 64 Noida 201301
    contact@thetrendyfeed.com

    ReplyDelete