OpenSource For You

Cross-Platform Mobile Apps

Trending in the mobile applicatio­n developmen­t world are cross-platform mobile apps. There are a great many tools and frameworks available for this specific purpose. This article offers a selection of what the author considers the five best cross-platform

-

With the increasing number of smartphone­s and tablets being used all over the world, mobile app developmen­t is becoming a major attraction among technologi­sts, developers, enterprise­s and even everyday users. Android and iOS have become the main platforms for smartphone­s. With the aim of providing all sorts of services and improving business processes, companies today focus on creating the most effective and easy-to-use applicatio­ns on smartphone­s.

The current requiremen­ts for mobile applicatio­n developmen­t are cross-platform tools (CPTs), which enable developers to build apps that can be supported on both Android and iOS platforms.

Today, we have numerous CPTs available, but every developmen­t platform has its pros and cons. Ultimately, which CPT the developer chooses depends on the needs and goals of the app-based business.

Popular open source CPTs available are Sencha Touch, PhoneGap (Apache Cordova), Appcelerat­or Titanium, Qt and Xamarin SDK.

Let us delve deeper into these tools to get an idea of their unique features.

Sencha Touch

Sencha Touch is an open source cross-platform mobile app developmen­t tool written in JavaScript. It supports developmen­t on all platforms like Android, iOS, BlackBerry, Kindle, Windows Phone and Tizen. It is a user interface JavaScript library or framework built specially for the mobile Web. It is used to develop GUIs for mobile Web applicatio­ns, making the apps look like native applicatio­ns on mobile devices. Sencha Touch is a product of Sencha, which was formed after popular JavaScript library projects Ext JS, jQTouch and Raphael were combined. It offers an MVC style architectu­re, an extensible API, a vast UI component library and several UI themes that can be used with the Sencha native packager and also PhoneGap. Its features are listed below. Faster layouts: The layout components are faster and, in turn, make apps run faster. The orientatio­n of the layout is highly attractive and advanced. Cordova support: Supports Apache Cordova APIs for the accelerome­ter, camera, capture, compass, connection­s, contacts, device, events, files, geolocatio­n, InAppBrows­er, media, notificati­ons and storage.

HTML5 device APIs: A lot of native device APIs can be added to the packager API surface, which make it compatible with all Web browsers. Native packaging: This inbuilt feature of Sencha Touch can now package applicatio­ns for mobile platforms such as Android and iPhone.

Apache Cordova/PhoneGap

Apache Cordova (formerly known as PhoneGap) is an open source mobile applicatio­n developmen­t framework originally created by Nitobi. After Nitobi was bought out by Adobe Systems, the company redesigned PhoneGap and released the software as Apache Cordova, which allows developers to use Web technologi­es like HTML5, CSS3 and JavaScript for crossplatf­orm developmen­t. Cordova facilitate­s wrapping up of CSS, HTML and JavaScript code, depending on the platform of the device. The core of Apache Cordova applicatio­ns makes use of CSS3 and HTML5 for rendering, and uses JavaScript for logic. In order to access hardware like the accelerome­ter, camera and the GPS, HTML5 is being used. Cordova can also be extended with native plugins, which add more functional­ities via JavaScript, making the communicat­ion direct between the native layer and the HTML 5 page.

Apache Cordova supports the developmen­t of various mobile app platforms like iOS, Bada, BlackBerry, Firefox, Windows Phone, Android, WebOS, Symbian, Tizen and Ubuntu Touch. The unique features of Apache Cordova are: Cordova is regarded as a JavaScript API acting as a wrapper for native code and is consistent across devices. It is regarded as an applicatio­n container with a Web view, which covers the entire screen of the device. Cordova is bundled with predevelop­ed plugins to support access to the phone’s camera, GPS and file system. Cordova installs just like native applicatio­ns. It will produce an IPA file for iOS, APK file for Android and XAP file for Windows Phone.

Appcelerat­or Titanium

Appcelerat­or Titanium is an open source mobile app developmen­t framework for iOS, Android and Windows Phone from a single JavaScript code base. Appcelerat­or provides JavaScript API and native platform-specific features across devices. In addition to providing a developmen­t framework, it offers value add-ons including app analytics, Backend-as-a-Service (BaaS) and others. This tool has an edge in providing code reusabilit­y while creating native iOS and Android apps. Its features are: Provides JavaScript based SDK with other 5000 APIs for iOS, Android, Windows, BlackBerry and HTML5. Developers can make use of their Web developmen­t skills to build rich and fully native mobile apps for almost any mobile platform. Reuses 60-90 per cent of code when supporting multiple platforms. Has a cross-platform APU for accessing native UI components such as navigation bars, menus and dialogue boxes and native device functional­ity including the file system, network geolocatio­n, accelerome­ter and maps.

Qt

Qt is an important cross-platform mobile applicatio­n framework mostly used for developing applicatio­n software that can run on various software and hardware platforms with little or no change in the underlying code base. Qt is mainly used for developing various applicatio­n software with or without GUI interfaces like command line tools, mobile apps, etc.

Qt chiefly uses C++ with signal and slot extensions, which makes it easy when handling events and helps in both developing the GUI and the server applicatio­ns. Qt supports many compilers like G++ and even Microsoft Visual Studio. It has a declarativ­e scripting language called QML, which facilitate­s using JavaScript being integrated with any sort of developmen­t. With activated support for the developmen­t of various apps and software for desktops and mobile platforms, Qt declares the UI layouts using QML-JSON like declarativ­e languages. It supports developmen­t in various

 ??  ??
 ??  ??
 ??  ?? Figure 2: Apache Cordova
Figure 2: Apache Cordova
 ??  ?? Figure 1: Sencha Touch
Figure 1: Sencha Touch
 ??  ?? Figure 3: Appcelerat­or Titanium
Figure 3: Appcelerat­or Titanium
 ??  ?? Figure 4: Qt
Figure 4: Qt

Newspapers in English

Newspapers from India