native vs. hybrid app

5 posts, 0 answers
  1. Graham
    Graham avatar
    2 posts
    Member since:
    Jan 2011

    Posted 19 Jun 2012 Link to this post

    Hi guys,

    Thanks for giving us a chance to touch your private beta. It looks good.
    I have 2 fundamental questions:

    1) It seems to me that Icenium produces hybrid apps which run in a native container (correct me if I'm wrong) ..
    I would like to explain to me why on your front page is written "build native mobile apps for iOS and Android" .. maybe this is a marketing trick. Could you elaborate?

    D7 explains very well the differences.

    2) Is there a risk Apple/Google or other OS platform provider to somehow block Icenium apps in the future and force devs to use their own IDEs?

    All the best, Graham
  2. Doug
    Doug avatar
    6 posts
    Member since:
    Aug 2011

    Posted 19 Jun 2012 Link to this post

    @Graham - 

    Currently Icenium provides you the frameworks and tools to enable you to build apps that run natively on both iOS and Android mobile platforms. In my experience many developers, especially those new to mobile development, don't completely understand the difference between mobile web, hybrid and native apps (hence the blog post), and in fact, those definitions are a little arbitrary anyway. Is Facebook a hybrid app? Parts of it use native controls and layout, and parts use a Web View to render HTML. The more important fact is that the apps are installed and run natively on the device, not on a web server.

    Icenium apps use Apache Cordova as the JavaScript to native API bridge technology, are compiled into app packages for the target platforms (.ipa and .apk) using the platform SDKs and compilers, and are distributable through app stores (Apple AppStore, Google Play, and Amazon Marketplace). Most people have begun to refer to this as a hybrid app (as I explain in the blog post), although some people consider hybrid apps those that pull their content from the web (e.g. mobile web with a native wrapper).

    That's a long way of saying that we felt it was easier on the main page to refer to the apps as native since they run natively on the devices (no internet connection required, unless you use a web service in the app) and can be distributed through app stores rather than confusing people with the "hybrid" term. We plan to do more to educate our potential customers on the difference between "native" and "hybrid" apps and clarify what Icenium enables.

    Unfortunately I can't speak to the Apple and Google roadmap; however, I am not worried about them blocking hybrid apps. These vendors don't make their money on development tools. They make their money on apps in the store. All they want is to ensure the quality of the app content and prevent malicious apps from reaching their customers. If they suddenly blocked hybrid apps, they would lose some big apps, like Facebook, NetFlix, and others.

  3. Plamen
    Plamen avatar
    2 posts
    Member since:
    Mar 2013

    Posted 26 Mar 2013 Link to this post

    Hi Doug,

    It has been a long time since you posted this but I would like to comment more. I am surprised that there are no more comments and questions in this thread (probably because I have never developed mobile application so far). 

    So lets take as a staring point the definitions here:

    I do not have comments on the native and mobile web applications. About the hybrid model I understand it like that: 

    Hybrid -> distributed via app store, developed with web standards, natively wrapped inside platform SDKs web browser widget

    Hybrid model 1 -> non-self contained (display HTML, CSS, JS content from a remote server)it is like web site that runs in native wrapper, which means we have Ajax calls to load presentation and data and always requires connection to work. We have skill reuse and code reuse from the existing web application

     Hybrid model 2 -> self contained- does not load new presentation content ( local HTML, CSS, JS packaged within the application). It loads only new data if necessary  (require connection) or if new data is not necessary   the application can work without connection. We have only skill reuse here because web application can not be reused out of the box.

    Hybrid model 3 -> This is the approach used in Titanium (amazing explanation here
    In this model the applications are written in JavaScript. The JavaScript is executed at runtime in execution environment created in native code. These applications does not rely on the web view. There is only skill reuse (JavaScript) and no code reuse. The reason is that we can not use the code base of the web application and probably we have to write some parts of the app differently for different platforms (but still in JavaScript). Again check out this article for nice explanation:

    As I understand it Icenium is using Hybrid model 2. Do I understand it correctly?

    Probably model 2 and model 3 could be called native. It is a matter of interpretation.

    Thanks for answering me!


  4. Steve
    Steve avatar
    10941 posts

    Posted 27 Mar 2013 Link to this post

    Hi Plamen,

    As Doug mentioned, the definitions of mobile web, hybrid and native apps are arbitrary and can be interpreted differently depending on the exact user case and implementation. Generally put, yes, the Icenium offering would lean towards your Hybrid 2 explanation.

    As we did not find any other questions, please let us know if there is something that bothers you and would like to elaborate on, so we can help in clearing any misunderstanding.

    the Telerik team

    Share feedback and vote for features on our Feedback Portal.
    Want some Kendo UI online training - head over to Pluralsight.
  5. Plamen
    Plamen avatar
    2 posts
    Member since:
    Mar 2013

    Posted 28 Mar 2013 Link to this post

    Thanks for your answer, Steve!

    For the moment I just wanted to make sure I understand what is behind the hybrid model. One resource that gives nice clarification is Martin Fowler's presentation about developing software for multiple mobile devices ( I hope it could be helpful for anyone interested in this area.

    Best Regards,

Back to Top