Материал из РВУЖД
The usage of Mobile Apps continues to be tremendously increasing in the last 2-3 years. There is a lot of scope for expansion in this field. Almost all leading software companies are concentrating on mobile app development. However, time and investment are turning out to be a challenge.
An application designed for an Android device will not be compatible with other devices, and also the efforts are to become repeated in order to make that app suitable for other devices. This resulted in the need for cross platform mobile phone applications. These apps limit the efforts of the developer for creating or testing mobile apps on various platforms. The theme of these tools really is easy, the developer can make apps using any custom language (java or vb.net or HTML or any other scripting language). Once the design and execution of the app is completed, the developers can use an easy function to generate exactly the same functional app for any mobile platform form of Android, Blackberry, or iOS or any other mobile platform.
Re usability of code, reduced development costs, and simple deployment are some of the benefits of using cross-platform networks. There are various cross-platform frameworks available. The best ones are PhoneGap, Appcelerator Titanium and Rhodes. Let's discuss the salient options that come with each of these 3 frameworks
2) Appcelerator Titanium: Appcelerator is known for their revolutionary product, Titanium, which allows web developers to produce mobile apps without learning Cocoa-Touch or Java. Titanium is actually an API and run-time which lets you build a web application and deploy it to some mobile phone, or run it around the desktop. A Titanium Mobile Web app is designed to be run from a server. You are able to successfully run it from the browser like a local file also. The main drawback with Appcelerator is that it does not have Android Emulator, a virtual mobile device that operates on your computer, which lets the developers to develop and test Android applications without needing a physical device.
3) Rhodes: Rhodes is definitely an Mobile App Development framework from "Rhomobile" that enables developers to develop 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. Thus, instead of having to get the UI in Objective C, C++, Java, or.NET for each device, it's possible to do it once in HTML and deploy on all of the devices. Rhomobile claims that, "You don't even need to know much about Ruby. HTML was chosen because of people's knowledge of it." This approach accelerates the expansion process, even if you simply want to launch on one device. Their developers declare that using Rhodes to develop a mobile app takes about 1/5 the time of building it natively using the device's standard tools.
Rhodes is dual-licensed underneath the GPL and a commercial license. Open-source Developers make their apps by using the GPL version of the framework and want not pay a dollar to Rhomobile. On the other hand, the commercial developers may license the commercial form of Rhodes and negotiate either a revenue share or per-seat fee with Rhomobile.
Having said that, the cross platform mobile development tools continue to be not considered be panaceas. Even though many of these tools continue to be evolving rapidly the mobile platforms are evolving much more rapid pace. Major platform vendors are competing with each other to create loads of functionalities and capabilities to life. You could expect some surprises when testing the same functionality on different platforms/devices. Another important thing to think about when creating a new functionality that does not appear in the cross platform may take even more time to its cross platform counter part. Once the application gets complicated and time to generate new enhancements, you can't assume it might be breeze anymore.
Though it may be easier to construct evidence of concepts and prototypes with such cross mobile frameworks, we ought to better assess the nature from the app, people that use the app, performance requirements and ease of maintenance and adapting enhancements.