Thursday 12 June 2014

Comparison of Phonegap vs. Native Application in Depth.

Hello Friends,

For more video tutorial you can Visit
Visit our website for examples


Hi, My this blog is about making a small comparison between PhoneGap & Native Mobile Application platform (Android, iPhone etc). Nowadays, its about a hot topic in the mobile application development that which is better to go and pretend for the application?



After making my experience in Phonegap & Android, I'm now able to make a small comparison based over my own points. I'm going to compare PhoneGap with Android Native features based application.

Platforms


As jumping into the topic, the first similar thing is both are opensource! yes! PhoneGap is provided by Nitobi based over the Adobe. And who is behind the scene of Android? That's Google. Google is playing a base role towards the back structure of Android. Focusing over the market trend, developers are focus and in search to find that what is better for their next mobile application? Cross Mobile Application or Native App?

Wait, don't be confused. Now, you'll be thinking that we were talking about PhoneGap & Android then what is this? So, just a basic intro about both for the non-technical ones is that

Defination


Application that is coded ones and able to run multiple platforms of smart device is Cross Mobile Applicaiton.

Application that can just work on the hierarchy based environment that used to create the application for a particular platform is called Native Application.

So, PhoneGap is Cross Mobile Application. You may code once and use that on 6 different platforms / Mobile Operating Systems (Conditions Exists). However, we took here Android as Native so this application would just work over the Android platform. You can make a comparison with iPhone too because our cause to make a difference is over hierarchical structure.

Working Style


Coming to first comparison, how both works? I'm gonna make article simple so can the newbies and non-technicals of Mobile Application can also understand this. Native Android Application works directly with DVM (Dalvik Virtual Machine) which means that whatever you code, it would be directly compiled into the machine compiler code that can be understanded by Java Machine to perform appropriate task. DVM works on Kernal that means that the base Operating System of DVM is similar to Linux. Can call Mobile Linux too. The core language that is needed behind the scene is Java. Android Application Development is based on Java and uses Android Library packages.

Phonegap is having a long procedure here. First, we make our application with frontend development tool skills. For example, HTML, CSS, JavaScript etc. Even thought, the PhoneGap (Cross Mobile Application) is totally working over these. It means that you need the knowledge of it. PhoneGap made a one thing easy by adding these tools. Now, your web designer / UI Designer / FrontEnd Developer guy can easy start working on the application. It doesn't require the knowledge of Java. However, the phonegap application is treated as WebView inside the application structure. There is another thing behind it, If you go with native android, you just need java & android library to go through your core functionalities. However, PhoneGap requires any base programming language behind the scene. Similarly, if you want to develop and application on phonegap, you need to have Android / iPhone / Blackberry etc development environment that treats the application in its webview. Because, this is like a website but working internally with compiled form over webview so, we can't call it Web Application. Its Hybrid Application.So, PhoneGap pushes its webviews in core language (we have android as topic so android) and then android starts work now as going to DVM then DVM push it to Java Virtual Machine. Sounds weird? Yes it.  So, here by complexity and enhancement, Android Wins.

Coming to coding structure, so HTML, CSS , JavaScript is more easy in understanding then Native Java Programming language. So, ofcourse, you're fimilar with your technologies then its possible now for you to create your app. PhoneGap Wins.

Can I access mobile native features from Cross Mobile Application platform (PhoneGap etc) ? Yes you can. You can easily access to the native features as they provided the API that links you with the native code. There are a lot of things that we can only do in native application, but PhoneGap solved this problem by providing the PLUGIN functionality. You can create your own Java Coded plugin that can be used in your DOM (Document Object Model). Easy? Yes it. However, there are many basic & commonly used functionalities that are already provided by phonegap & then by opensource platforms. So, its a rare case that you need to make a plugin (depends upon requirement). So, meaning while, both provides ability to access core functionalities. Both are equal.

Development Time


How much development time is required behind the scene? As according to the overall survey, Phonegap takes less time then Native Mobile Applicaiton. The time you require 3months for creating native app will be just completed with the target time of 1month. Means, less cost, less time, good with Time Management & easy to go through the help. PhoneGap wins.

App Speed Comparison


What about the native speed comparison? Which application would perform faster performance with native features? Android. Why? Because, it doesn't need to take the application as hybrid. Just pass out the code to DVM & then DVM knows better from there. Take an example, if you want to get all the list of files form your SD card, then as my experience, PhoneGap will take 13seconds or more to get. However, Native Android Application will do this in just less then 4seconds. What's great? Ofcourse. Android wins.

 What about the resources available in the market for the development purpose (means developers)? If you want to go through the Cross Mobile Application (PhoneGap), then you've lot and lot of resources for this. because, the person who makes the HTML / CSS of the html templating can just start working here with looking a while on Client Side Scripting. However, Java developers or other programmers are not enough as comparing to them. Even though, the programmer is too much experience then the UI / UX Developer. PhoneGap wins.

Pricing


What about pricing? Any good comparison for it? Yes. There is a difference of both of the cost of development. Keep in mind that phonegap makes it easy to run a simple application on different platforms ( 6 OS right now when writing article) and native just support the appropriate. So, I got to research and got this link Average Cost Estimation. It states that right now,

Level of Application
Native App (Android)
Cross Mobile (PhoneGap)
Small Level Application
20-37.000 euro
15-25.000 euro
Medium Level Application
58.000 euro
40.000 euro
Enterprise Application
60.000+ euro
100.000+ euro

Here again, by basing the quotes & pricing, PhoneGaps makes the good revenue & it is expensive then the android application development. PhoneGap wins (for Organizations) - Android Wins (For Customers)

Personally, making out of bound from price & estimating overall with hierarchy, Architecture & stability, for a small size of application that just need to show up the content and doesn't require to use native component, (GO WITH PHONEGAP). If you're going to make medium level application, it depends upon the requirement and the structure of reliability that you're looking for, we can't commit estimation but again will prefer (GO WITH PHONEGAP). However, if application is based over Enterprise Architecture and so many native component usage with strong data structure handling and a lot of depth, then don't go over relying on a Hybrid Applications, its a road to native so (GO WITH ANDROID).

For more video tutorial you can Visit
http://YouTube.com/WebBoostings/
Visit our website for examples
http://programming-guru.com/

Thank You
Abhishek Bendre

No comments:

Post a Comment