Native Vs Cross Platform App
With the onset of Mobile devices and the usage pattern with increasing number of users have left companies looking for applications on Mobile devices. Mobile developers are confronted with Duopoly. The majority of the Mobile devices either come with Android or iOS as operating systems. If we look at the major market share of the Mobile OS, we can easily make out the other lesser significant Mobile OS.
As we can observe, Android is leading the Mobile OS by sheer number of Android Mobile Manufacturers and low cost Android devices, at 52%. Apple leads the 2nd position by a whopping 35% and the rest fall in line.
If we look at the fact, it’s pretty evident that for making an application which would run in both OS or multiple application for each OS, the application developers will have to code multiple times. An application made for Android will have to be recoded with COCOA for usage in Apple iOS with different set of OS features and further tweaked for performance. All these require vast amount of Resources and Time alike, not mentioning the deadlines of delivering an application to the customer.
Here, Cross platform development comes into picture. Now, the developers are developing an application which is supported by all the platforms whichever allows the execution of HTML5 in their system. We will talk more about Cross Platform Applications later.
So what is Cross Platform Development?
HTML 5:Cross Platform apps are developed based on Web browser and its support for HTML5, CSS3 and JAVA Script. HTML 5 is the latest version of Hyper Text Markup Language which is used in structuring, designing and presenting content in Web browsers. So we see, the Cross platform apps are majorly coded in HTML5 and any device which has support for the same will be running the application seamlessly. Now let us have a look on how Cross Platform Apps execute in real time. CSS3 provides the styling and look/feel of the application and Business Logic is coded with the help of JAVA Script.
As we can observe for a Cross platform application, the application structure is pretty simple. An application runs on the Web Browserwhich is the user frontend. Data and information collected from the user is then sent to web server where the real business logic of the application is executed, either coded in Java or PHP. This application derives database and file resources from this application layer only. This application is loaded into web service which actually is a platform for the application to execute.
It is evident from the application execution that, no part or very minor part of execution, is actually done on the user frontend, rather frontend is completely used for display and user interaction.
CORONA:Corona SDK (Software Development Kit) is a cross platform technology that utilizes LUA (Lightweight Scripting Language) for abstracting the application development from a specific Mobile Operating System. The application can be tested on a simulator and the best thing is, that it executes in both Android as well as iOS operating system.
Major Reason for opting and discarding Cross Platform Apps:
Considering the ever changing Mobile OS market and incumbent new technologies, the software app market is pretty much aware of a foolproof app development strategy. Android and iOS being the major player in the market have their own share of app store, but these are operating system specific and hence needs to be ported or recoded for specific platforms. Cross platform eliminates the necessity of porting and recoding and making an application, which not only caters to the iOS and Android market but also targets the smaller markets of Blackberry and Windows which are showing promising trends themselves. We can list the reason as to why we should prefer Cross Platform Development.
1. Greater Reach
2. Easy Marketing
3. One Instead of Many
4. Uniform Look and Feel
5. Use of Known and Extensively used technology
6. More developers are working in HTML5 development than in Native languages
7. Reduced Development Cost
8. Support for almost all hardware features of the IOS and Android Device
9. Easier to develop
The major disadvantages of Cross Platform App are rather superficial and can be omitted in due course of time. With increased support on Mobile device hardware, a Cross Platform app is as good as a Native app. Furthermore, native apps are more system specific, which means they are mainly developed for the Operating System and hence provide more support for the OS. There are some features like Dalvic Cache, Virtual Machine which are not yet available for Cross Platform apps. Furthermore integration of the apps with the device settings is not yet possible, which makes some specific apps which are best developed natively. Considering the major reasons of going for a Native app.
1. Different tools and language
2. User Interaction
3. Platform Integration
4. Pleasing Factors, Cross Development app are monotonous as they don’t provide OS features
5. Loss of Flexibility
6. Loss of functionality and features in other OS like Blackberry , Windows, BADA and Symbian
Optimal Solution using various Technologies:
In the following chart we will provide an analysis of the various mobile development on the basis of Costs, Performance and Hardware and OS access. This will provide us with a clear picture of how various Cross Platform development SDK fares with native App development.
So we can simply deduce the huge cost factor which always prevails for Cross Platform Apps. Considering performance of the Apps, Native apps perform better than Cross platforms with Native shells.
What Developers think about Cross Platform Apps?
Developers have found out that applications which they coded on Native platform, could have been done using Cross Platform Development SDKwhich would have saved a lot of time for them. A series of survey were performed which provides with insight on how PhoneGap would have helped reduce the cost and provide the same functionality in Apps, and how PhoneGap is utilized in various App developments.
Let’s have a look on a series of opinion pools:
Preferred Approach of Developers:
Switching to Cross Platform from Native Dev:
PhoneGap and Cross Platform Development Categories of Apps:by