Mobile Technology Research Group

Group logo of Mobile Technology Research Group

Web vs Native vs Hybrid App development

Tagged: ,

Viewing 1 post (of 1 total)
  • Author
  • #15496
    Christopher Stein

    At the suggestion of Suzanne, @stamang, I’m joining this group and cross posting a bit of our discussion from the CUNY Games Network forum. You can see it here:

    The discussion turned to options for app development and which route to go. Here are my thoughts. I don’t claim to be an expert and would love to hear other’s corrections/opinions etc.

    Suzanne, I’ll post this in that group. I have to admit I haven’t gotten past the point of looking at mobile technologies yet. I’m not sure when I’m going to get the time to really get my hands dirty and develop one. If you want to know more about the technology behind PhoneGap, it’s called Cordova and is open source: Perhaps native was the wrong word to use. I think many are calling apps made by tech like PhoneGap hybrid. As I understand it PhoneGap is essentially a JavaScript library coupled with wrappers written in native code for each of the platforms it supports. You write your code in JS and then the native wrappers work with the particular OS to get everything running. Because there is that translation I’m sure that it means that there is a performance drain, much like Java programs running on the virtual machine. For apps that are very dependent on the speed of the code executed (like a game or image editor) this might be a problem. For other kinds of apps it may not be a problem at all.

    The main reason people are doing them is that web developers can leverage their existing skills and you don’t have to write ground-up native apps for iOS, Android, Windows Phone, Blackberry… For companies like Facebook who have a lot of money and a lot of users and a lot of data then yeah, it makes sense to write all of those applications. For educational based apps where there is no money but a lot of different student devices to support, and especially those apps that are mostly displaying textual information, then the hybrid ones are probably best. I also personally believe that the performance of HTML5/CSS3/JS apps will continue to get better.

    For other people who might be reading this and a little confused we are talking about different ways to make an “app” available to a mobile user. There are roughly three ways (IMHO):
    1. Web Based. You make a web page that is optimised in some way for mobile viewing. The user goes to the browser in their mobile device and then uses the app. No permission needed to do this. Downsides are that the person needs Internet access to use the app and performance is slower compared to the other options. There are development platforms you can use to make your app look more like a native one.

    2. Fully Native. You write the app in the programming language supported the the OS. Package it and then submit it to the store for that OS. Users will have to visit the store, download the app and then use it. This is the best way to make sure that your app runs fast and can take advantage of the phone’s capabilities. Data is stored on the phone and so it can be used without Internet connection Downsides, you have to write the code in different languages for each platform and you have to be accepted into the store for deployment. This also usually means longer development times and higher development costs.

    3. Hybrid. You write your code once, usually using HTML5/CSS/JS, and then use a special tool like PhoneGap/Cordova to package that code into native packages for each of the different OS’es. This way you don’t have to write different code for each platform. Downside, not all of the features of all phones are supported in this way. The code does not run as fast as code written in the native OS language. There are the same downsides as a fully native app, you still have to submit the app to the various stores for each OS and get them approved and the user will then download and use the app.


Viewing 1 post (of 1 total)

You must be logged in to reply to this topic.