Native
Native apps are created in a language native to their platform. Native apps for iOS are written in Objective-C or Swift, and native apps for Android are written in Java. So if your app needs to function on both platforms, you will need to write that same application twice - once for each platform. As you may conclude from this, development of a native app tends to take a bit of time.Of course, since the app is created in a native language and can interface with the device's operating system and hardware directly, it has a distinct advantage in terms of speed and versatility. Anything that your device can do, your app can manipulate. Need to access the camera on your tablet? Maybe tune the brightness and sound? No problem. It's all there.
Here's an example of Facebook's Android app.
Accessing the native app via an icon. |
Facebook for Android. |
Web
Web apps, in the mobile context, are like your desktop/laptop browser-based websites. You type in a URL or access a bookmark, and with a working internet connection, you're able to access the functionality of those sites. These are written in HTML5, styled with CSS and coded with JavaScript. Again, like any other website. The only difference here is that these sites are designed to fit onto the screen of your mobile device. Functionality is limited to whatever traditional web applications can do - retrieval/updating/deletion of data, animations, playing of videos, and so on.You don't need any special skills outside of the average web developer's repertoire (I'm making some huge assumptions here, but bear with me) to create a web application. But you're severely limited by the need for a browser.
Here's an example of accessing the Facebook and Quora's mobile web apps.
First, you access the internet via a web browser's icon, like Chrome. |
Next, you type in the URL of Facebook... |
... or Quora. |
Note that we first start up Chrome (or any web browser), then type in the URL.
Hybrid
Hybrid apps are, simplistically put, web apps that have been ported over to a mobile device in a native app-like wrapper (via platforms such as Cordova and Phonegap) and therefore simulate the behavior of native apps. How so? Well, for starters, you no longer need to start up your browser and access a URL. You merely need to click on your app's icon, just like a native app. Limited access to the native functions of your mobile device can be accomplished via plug-ins. As you may surmise, this slows things down somewhat on the hardware side of things.Development of a hybrid app tends to be fast, though. You're basically taking the same web app and porting them to different platforms. Write once, run anywhere. Maintenance is also markedly easier. Excellent if you just want a quick-and-dirty prototype.
Here's an example of Quora's hybrid app.
Editor's Note: It's not confirmed that Quora is a hybrid app. But the interfaces of their web app and mobile app look suspiciously similar.
As in a native app, you access the app directly via an icon. |
Quora |
What to use for Mobile Development? What's better?
This probably feels like a cop-out answer but, as with most things, it really depends on what you're going for. Is this a final product or a prototype? How crucial is speed or development time? Do you foresee a lot of maintenance? Your answer will determine the direction you eventually head towards.
Thanks for reading. Much app-reciated.
T___T
T___T
No comments:
Post a Comment