Linux.com

Home News Embedded / Mobile Mobile Linux Top 15 Android-Ready Application Development Frameworks

Top 15 Android-Ready Application Development Frameworks

On July 20, Adobe unveiled version 2.0 of the open source PhoneGap, a leader among the growing crowd of cross-platform, Android-compatible, mobile app frameworks. Open source developers welcomed new PhoneGap features such as a "Cordova WebView" function that enables developers to integrate code into larger native applications.

CordovaThere are scores of such frameworks to choose from these days, and as seen in our Top 15 list below, the best are getting quite sophisticated. Yet there is still considerable grumbling about the state of mobile cross-platform frameworks. They may be fine for the majority of Android apps being developed, yet few seem to be capable of handling all the requirements of a professional-quality enterprise or consumer app.

If you're familiar with Java and Eclipse, and Android is initially the sole destination, Google's Android SDK and related Android Development Tools (ADT) Eclipse plugin are probably the better choices. The problem is that most app publishers prefer to start with iOS, or else ship on iOS and Android simultaneously, with perhaps a BlackBerry or Windows Phone version as well. Others lack the experience to go native.

Nevertheless, the official tools deserve a look, as it's usually difficult to port one's cross-platform effort to the Android SDK in mid-stream. So we'll start with Google's tools first before moving on to the multi-platform frameworks.

Google's Tools Get Friendlier

Earlier this month, Google released Revision 20 of the SDK and ADT in conjunction with Android 4.1 ("Jelly Bean"), adding new debugging tools, application templates, and performance tweaks. Other Google tools include a native development kit (NDK) for hardware optimization and the Android Accessory gadget control application development kit (ADK).

Android now offers an arguably superior platform to iOS. It provides much more flexibility, better app testing, and easier app approvals. Yet when it comes to overall ease of use, Apple may still have the edge. Although Android uses an easier, more widely known language in Java, Android's rich feature set and multitasking features are harder to master, and version- and device fragmentation can slow things down considerably.

There are no easy fixes for these problems, but Google has at least worked hard to reduce the learning curve. Last month it revamped its Android Developers website to make it more accessible, following up on its previous launch of an Android training program and the publication of a style guide.

Cross-Platform Frameworks Duke it Out

According to the Eclipse Open Source Developer Report 2012, 60 percent of open source developers writing Android or iOS apps use only the official SDK. Among those who use cross-platform frameworks, the choices, ranked from first to last were:

- jQuery Mobile (28.6 percent)

- PhoneGap (17.9)

- Sencha Touch (7.9)

- Dojo Mobile (4.9)

- Titanium (2.8).

These multi-platform options are typically open source JavaScript frameworks with support for HTML5 and CSS. Aimed primarily at web developers, they are often used for migrating website content to app form.

The frameworks support Android and iOS at a minimum, and often target BlackBerry, Windows Phone, and Symbian. Although they typically come with a "write once, run anywhere" promise, the amount of tweaking required for each version can still be considerable, and optimization of memory, battery life, and performance is often limited.

Most of the frameworks offer drag-and-drop GUI design tools, and many incorporate APIs aimed at exploiting specific components like audio and GPS. Quite a few are built on the Model View Controller (MVC) UI and component interaction model.

Platforms for Coding Beyond JavaScript

While PhoneGap and most of the leading frameworks are web-oriented HTML5/JavaScript apps that can tap native functions, some, like Appcelerator's Titanium, generate native Java code. While this approach has potential performance advantages, it tends to limit code reusability.

Some frameworks specialize in programming environments beyond JavaScript. For example:

-   RhoMobile is designed for Ruby developers.

-   MoSync is aimed at C++ hackers.

-   C#-flavored Mono for Android appeals to enterprise-focused developers familiar with Visual Studio.

Game developers, meanwhile, tend to use gaming-focused frameworks that offer specialized level-creation features, game engines, and 3D animation support:

-   Corona SDK (the main player here)

-   Flixel

-   Unity3D.

Educational organizations and others with limited needs and limited resources can turn to codeless, cross-platform app-building environments like TheAppBuilder. Google abandoned its own codeless App Inventor, but it was recently re-launched by MIT as the MIT App Inventor.

Other Android-Ready Options

On the opposite extreme, those aiming to develop complex applications, often in conjunction with new hardware, may prefer the robust, commercial Android-compatible platforms from embedded Linux OS vendors like Wind River, MontaVista, and Mentor Graphics. These are especially useful when targeting form factors beyond smartphone and tablets. The Wind River Platform for Android run-time environment includes an optimized Android SDK, middleware, device drivers, and testing suites, as well as vertical market accelerators.

Those looking to optimize their apps for particular processors can also find Android-ready tools from major ARM semiconductor vendors like Texas Instruments and Freescale, as well as ARM itself. Open source development board projects offer similar tools. MIPS and Intel, meanwhile, are building Android tools to support their own respective architectures.

Other Android-ready tools focus on particular steps in the development process. These include:

-   Testing (Testroid, Appthwack)

-   Performance management (Crittercism NDK)

-   GUI design (DroidDraw, SPB UI Builder).

The latter category includes GUI tools from Motorola, HTC, and Samsung, designed for their respective UI skins. Finally, new cloud-oriented tools such as OpenMobster and Cumulus provide sync and other cloud support for Android apps.

15 Android-Ready Development Frameworks

The following are 15 of the more popular Android development tools. Unless otherwise noted, they are open source, cross-platform frameworks:

Basic4android: Anywhere Software's commercial RAD tool and IDE for Android provides a comprehensive feature set and an object-oriented programming language similar to Visual Basic.

http://www.basic4ppc.com/android/why.html

Corona SDK: Widely used among game developers, Corona is also a popular, general-purpose framework. Corona Labs (formerly Ansca Mobile) claims an installed base of 120,000 developers. This high-end, commercial SDK offers over 500 APIs, as well as advertising and native UI support, and a built-in physics engine.

http://www.coronalabs.com/

DHTMLX Touch: This JavaScript and AJAX library focuses on UI widgets, and is aimed at building HTML5-based apps.

http://www.dhtmlx.com/touch/

Dojo Mobile: The Dojo community's BSD-licensed HTML5/JavaScript framework has added MVC and app-controller packages, as well as mobile-specific components such as switches and sliders. A degree of PhoneGap compatibility is also available.

http://dojotoolkit.org/features/mobile

iUI: This lightweight web UI framework includes a JavaScript library, CSS support, and development images.

http://www.iui-js.org/

jQuery Mobile: This popular, lightweight HTML5-based framework is built on jQuery, and focuses on semantic markup, progressive enhancement, and themable design. It's the leading cross-platform framework among Eclipse open source developers.

http://jquerymobile.com/

Kendo UI: Telerik's HTML5/JavaScript framework is available in open source and commercial versions. Kendo UI offers a wide selection of UI widgets and plugins, and provides an MVVM framework, performance optimization, and validation and internationalization features.

http://www.kendoui.com/

Mono for Android: Xamarin's C#- and enterprise-oriented package is compatible with a similar iOS-based MonoTouch version, and can also share code with the C#-based Windows Phone. Mono supplies an environment conducive to Visual Basic developers, and is touted for its debugger and native binary compiler.

http://xamarin.com/

MoSync SDK: MoSync supports C++, HTML5/JavaScript, or both on up to nine different platforms. The SDK is touted as being compatible with PhoneGap, as well MoSync's own new HTML5/JavaScript-based native mobile app developer/simulator, MoSync Reload.

http://www.mosync.com/

PhoneGap: Designed for JavaScript, HTML5, and CSS development, PhoneGap is now sponsored by Adobe and the Apache Foundation. The 2.0 version adds Windows Phone support, new CLI functions, and overhauled JavaScript libraries. It also debuts Cordova WebView, an embeddable HTML rendering control that uses Apache's Cordova-JS API for tasks such as integrating PhoneGap code into larger native apps.

http://phonegap.com/

RhoMobile Suite: Motorola's mature, business-oriented framework features RhoConnect, RhoStudio, RhoElements, and a new RhoHub used for cloud app-building. RhoMobile is built on the Ruby language, the Rails Frameworks, and the MVC model.

http://www.motorola.com/Business/US-EN/Business+Product+and+Services/Software+and+Applications/RhoMobile+Suite

Sencha Touch 2: Sencha's popular HTML5/JavaScript framework provides 50 built-in components, state management, and an integrated MVC system. It now offers a free native packager that streamlines distribution to stores like Google Play.

http://www.sencha.com/products/touch/

SproutCore: This HTML5-driven framework offers a "clean" MVC architecture, and emphasizes performance optimization and scalability.

http://sproutcore.com/

TheAppBuilder: JamPot's new HTML5-based native app-building app has received plenty of buzz. It features a codeless, drag-and-drop interface that lets users quickly build fairly rudimentary apps by filling in Q&A checklists. Highlights include extensive social networking integration and automated submissions to Google Play.

http://www.theappbuilder.com/

Titanium: Appcelerator claims its Android/iOS framework supports over 5,000 device and mobile-OS APIs. Unlike the more web-oriented frameworks, Titanium uses JavaScript to create native code, with claimed benefits in performance.

http://www.appcelerator.com/platform/titanium-sdk

Additional Android-compatible development options include Andromo, Application Craft, Hypernext Android Creator (HAC), Jo, jQTouch, MIT App Inventor, Togosoft Device Browser, Unity Mobile, WebApp.Net, Wink Toolkit, xUI, and Zepto.js. For more options, check out these roundups of Android development software from BuildMobile, Daily Tekk, MobiGeni, and Technology Trend Analysis. Meanwhile, post your own favorites in the comments section below.

 

 

Comments

Subscribe to Comments Feed
  • Piwaï Said:

    Here are the frameworks / libraries that developers of native Android applications usually use : ActionBarSherlock: http://actionbarsherlock.com/ RoboGuice: http://code.google.com/p/roboguice/ AndroidAnnotations: http://androidannotations.org/ Android UI Patterns: https://play.google.com/store/apps/details?id=com.groidify.uipatterns GreenDroid: http://greendroid.cyrilmottier.com

  • Michael Levin Said:

    Eric, Wow, what a useful article! I'm trying to start a youth mobile app development group for the low income community of East Palo Alto, CA and am trying to sort through some of the more accessible pathways you describe. But I'm a total non-techie and could use a little more advice. Is there a way I could talk to you a little more in depth about a few of the most user-friendly routes you describe here? Thanks!

  • chintan khetiya Said:

    Hello, i am an android developer having 8 months experiences and want to work effectively and smarty for that i was found the UI tool that is taking so much time to make good UI. I have found 3 links as above given in from but in that first one is similarly as Eclipse IDE and next two is not as much effective. so can you guide me how to make Good and pretty UI in quickly and easily so i can save my time and develop more app. Thanks i have get so many idea about framework also . Have a Good Day.

  • Morel Said:

    All these frameworks just translate the problems from one language to another and do not elevate the debate! We are waiting for real frameworks that goes step beyond and harmonize/symplify the management of data models, synchronization with Ui, customizing the appearance, getting data from webservice and managing the workflow as it is the case for every single apps like AppCoreKit for IOS does. Horizontal development is useless ...

  • anshumanravi Said:

    Agreed, A framework meant for providing a skeleton application to let developers free from doing repetitive common tasks and allow them to focus on business logic instead.

  • SimonJPA Said:

    It make me think about the war of Browsers I had to deal with while trying to program a code and work in all of them. Well at least now in days it's much better. I didn't thought Android Development was this way. What a mess it must be.

  • milad.fashi Said:

    Thanks for your complete information about mobile and table cross platform application development frameworks.i use from MosYnc SDK is nice tools for windows phone and iphone and android and other platform.but i use from HTML5/JavaScript/C++ Hybrid project.and c++ is behind code.and c++ is popular and powerful and fast language.but Mosync is slow in compile process.

  • Anelei Ivanova Said:

    Hi, Recently I came across some great articles on your site. The other day, I was discussing (https://www.linux.com/news/embedded-mobile/mobile-linux/612366-15-android-ready-application-development-frameworks-%20%20)with my colleagues and they suggested I submit an article of my own. Your site is just perfect for what I have written! Would it be ok to submit the article? It is free of charge, of course! Let me know what you think Contact me at anelieivanova@gmail.com Regards Anelie Ivanova

  • Bashar Mahasen Said:

    Thanks for the great article. Its helpful in revealing the mystery of which options a beginner has. My take away is to have more supportive /refernces to assure creditability

  • sangram Said:

    Have a question .. hope i can ask? Is there any andriod - ready to use - framework which will support HTML 5 content (pages) with thumbnail navigation. Something like pugpic for IOS? HTML 5 content needs to be dumped and frame work will create app out of it ?

  • The Unbounded Said:

    Great article, very useful recommendations. Our Android Mobile App Developers just did a blog on tips to design easy navigation to create a seamless UI. Check it out and let us know what you think! http://www.theunbounded.com/designing-an-android-mobile-application-learn-easy-navigation-tips/

Upcoming Linux Foundation Courses

  1. LFS426 Linux Performance Tuning
    08 Sep » 11 Sep - New York
    Details
  2. LFS520 OpenStack Cloud Architecture and Deployment
    08 Sep » 11 Sep - Virtual
    Details
  3. LFD320 Linux Kernel Internals and Debugging
    15 Sep » 19 Sep - Virtual
    Details

View All Upcoming Courses

Become an Individual Member
Check out the Friday Funnies

Sign Up For the Linux.com Newsletter


Who we are ?

The Linux Foundation is a non-profit consortium dedicated to the growth of Linux.

More About the foundation...

Frequent Questions

Join / Linux Training / Board