Thursday 31 July 2014

Basics of Cross Platform Mobile Application Development

The use of Mobile Apps has been immensely increasing in the recent past. There is a lot of possibility for extension in this field. Nearly all principal software companies are focusing on mobile app development. Conversely, time and money are proving to be a challenge.
Frankly speaking an app built for an Android device will not be attuned with other devices, and the efforts are to be continual so as to make that app compatible with other devices. This impelled to the requirement for cross platform mobile apps. These apps bound the efforts of the developer for creating or testing mobile apps on various platforms. The theme of these tools is very easy, the developer can construct apps using any custom language (java or vb.net or HTML be it any scripting language). One time the design and execution of the app is accomplished, the developers can use an effortless function to generate the same functional app for any mobile platform version of Android, Blackberry, or iOS or any other mobile platform.

Reusability of code, Cost effective development and easy deployment are some of the benefits of using cross-platform networks. There are diverse cross-platform frameworks available. 

Some of the top ones are PhoneGap, Appcelerator Titanium and Rhodes.
 
1) PhoneGap: PhoneGap is an open source mobile application framework for building such cross-platform mobile applications utilizing HTML, CSS, and JavaScript. The app helps the developer create applications that can run on multiple devices/platforms with the same code base. Apps developed with PhoneGap can interrelate directly with mobile device hardware like GPS, which are unavailable to normal web apps. These apps can be built and deployed like native applications. PhoneGap supports nearly all platforms such as Android, iOS, Blackberry and Windows Mobile making it the most dominant framework for cross-platform development.

2) Appcelerator Titanium: Appcelerator is known for their innovative product, Titanium, which allows web developers to create mobile applications without knowledge of Cocoa-Touch or Java. Titanium is essentially an API and run-time which allows you to build a web application and deploy it to a mobile device, or run it on the desktop. A Titanium Mobile Web app is intended to be run from a web server. You can effectively run it from a browser as a local file also. The main downside with Appcelerator is that it doesn't have Android Emulator, a virtual mobile device that executes on your computer, which lets the programmers to develop and test Android applications without utilizing a physical device.

3) Rhodes: Rhodes is a Mobile App Development framework from "Rhomobile" that empowers developers to enhance sophisticated mobile apps that could be deployed on all the major mobile platforms like iPhone, BlackBerry, Windows Mobile, Symbian and Android.
Rhodes uses HTML for user interface development. Therefore, instead of having to develop the UI in Objective C, C++, Java, or.NET for each device, one can do it once in HTML and deploy on all the devices. Rhodes is dual-licensed under the GPL and a commercial license. Open-source Developers make their apps by using the GPL version of the framework without any cost. 

To summarize the cross platform mobile development tools are still not considered be solution. Although the majority of these tools are still growing rapidly the mobile platforms are evolving even swifter pace. Major platform vendors are contending against each other to bring loads of functionalities and capabilities to life. You may expect some surprises when testing the same functionality on different platforms/devices. Another significant thing to consider when constructing a new functionality that does not exist in the cross platform may take even more time to its cross platform counterpart. When the application is getting complex and time to bring in new enhancements, you cannot assume it would be breeze anymore.

Even though it is better to build proof of concepts and prototypes using these cross mobile frameworks, we should better estimate the nature of the app, users of the app, performance requirements and ease of maintenance and adapting enhancements.

No comments:

Post a Comment