All News | Boards | Chips | Devices | Software | LinuxDevices.com Archive | About | Contact | Subscribe
Please whitelist HackerBoards.com in your ad blocker. Without ads from our sponsors, we cannot continue publishing this site. Thanks :-)

Top 10 open source Android app development frameworks

Jan 30, 2016 — by Eric Brown — 4,234 views

Each of these app development frameworks supports HTML5 or JavaScript as well as CSS, and is open source with at least some version of a free app.

If you’re developing Android-based games or complex apps with extensive cloud integration, you’ll probably want to seek out native application development tools. These range from the Java-oriented Android SDK and Android Development Tools (ADT) Eclipse plugin to game-oriented engines like Corona to commercial enterprise platforms like the cloud-oriented Monaca toolsuite.

Most mobile apps, however, are simpler affairs with tight deadlines and budgets and the need to support both Android and iOS. For most app developers, especially those converting web apps to mobile, cross-platform mobile app frameworks are a better choice. And the latest mobile frameworks promise some native-like performance and functionality while still hewing to a basic “write once, run anywhere” development approach.

 
Requirements

Here I look at the 10 best Android-compatible mobile app frameworks. To meet my requirements, they must support HTML5 or JavaScript, although most support both, as well as CSS. They must also be open source, and offer at least some version of a free app. Almost all the programs listed here are both free and open source, and most support Linux desktops as well as Windows and/or OS X.

The open source requirement excludes some promising packages like Trigger.IO, as well as mainstays such as Microsoft’s Xamarin, based on the former Mono project. There’s also been a lot of interest in Intel XDK, which is not open source but is available in a capable free version.

I have also omitted several other programs that are either too rough around the edges, or too out of date. Let me know, however, if your favorite open source framework deserves mention.

These 10 packages range from those that are truly “write once, run anywhere” programs such as the lightweight jQuery Mobile to others that are more similar to native app products, but which make it fairly easy to port and reuse code between Android and iOS. These days, far-reaching cross platform support is not necessary for most app developers, who increasingly see little reason to support Windows Phone, let alone the fading Blackberry. Most of these packages fall somewhere in between “write once” and native, bridging the gap between a JavaScript API and a wrapper framework, while enabling some native functions such as camera control.

Not surprisingly, the packages are greatly improved compared to our previous roundup of 15 mobile app frameworks back in August 2012, In recent years, mobile frameworks have benefited from the increased use of HTML5, as well as much improved components for improving native app functionality and performance. The latest frameworks also let you apply modern UI styles such as Google’s Material Design.

Only four products survived from our original list: jQuery Mobile, Kendo UI, Sencha Touch, and Titanium. The two most popular options these days are relative newcomers: Ionic and Onsen UI.

Unlike the 2012 list, this one does not include Adobe’s venerable PhoneGap, which includes Apache’s Cordova rendering package. PhoneGap is really more of a wrapper and package deployment framework rather than a full development environment. Yet, many of these programs integrate Cordova/PhoneGap and most support optional integration.

Ionic is based on the AngularJS JavaScript MVVM (model–view–viewmodel) framework, which is supported as an option on many of the other products. Another popular optional component is Bootstrap UI. One program listed here based on both Angular and Bootstrap UI is Mobile Angular UI.

 
Top 10 open source frameworks

Our top 10 open source mobile app frameworks are listed below in alphabetical order, with links to product pages. Unless otherwise noted, the software is available only in a free, open source version.

  • Framework 7, from iDangero.us — Since version 1.0 was released a year ago, Framework has been one of the best choices for developing iOS apps. Now that it offers Android support, it’s also a good option if you want to start with iOS, then build an Android version with an iOS like look and feel. Features include Material Design UI, native scrolling, 1:1 page animation, a custom DOM library, and XHR caching and preloading.
  • Ionic, from Ionic — Based on the Sass CSS extension language, this popular cross-platform framework is fairly easy to use, yet it can also integrate AngularJS for building more advanced apps. Ionic offers a library of mobile-optimized HTML, CSS, and JS CSS components, gestures, and tools, and works with predefined components. A command-line interface provides features like emulators, live reload, and logging, There’s also a Cordova-based app packager.
  • jQuery Mobile, from jQuery Foundation — Based on jQuery, this mature, lightweight framework lacks many of the advanced features of most packages here, but it still has a large, committed user base. While it offers features like semantic markup, progressive enhancement, themable design, and PhoneGap/Cordova support, there’s not much here for native-like functionality and performance or advanced UI. On the other hand, its simplicity means that “write once, run anywhere” is often an achievable goal, and it’s a good choice for simple apps that also need to run on Windows Phone and BlackBerry.
  • Kendo UI, from Telerik — This jQuery based HTML5/JavaScript framework is available in open source and commercial versions. The enterprise-friendly Kendo UI offers a wide selection of UI widgets and plugins. It’s best known for its numerous prebuilt themes with Material Design styling, as well as a theme builder for custom themes. Other features include Angular and Bootstrap UI integration, as well as performance optimizations.
  • Mobile Angular UI, from Maurizio Casimirri — This open source project combines AngularJS and a modified version of Twitter’s Bootstrap into a mobile UI framework. It is said to retain most of Bootstrap 3’s syntax for easier web-to-mobile portability while adding mobile components missing from Bootstrap, such as switches, overlays, sidebars, scrollable areas, and fixed-positioned navbars. Libraries include fastclick.js and overthrow.js. 
  • NativeScript, from Telerik — As the name suggests, NativeScript focuses on native UX development, but it offers cross-platform code-sharing support across Android and iOS. The software uses existing native UI libraries, with the UI described by means of JavaScript, XML, or optionally Angular. It’s not as easy to use as Telerik’s more traditional cross-platform Kendo UI framework, however.
  • Onsen UI, from Asial Corp. — Onsen is built on HTML and CSS, and is designed to work with PhoneGap and Cordova, which are not pre-integrated. It can also work with Angular and jQuery. As the name suggests, the program stresses UI development, and offers a wide range of web-based UI components and features, such as two-column views for tablets. (Material Design, however, is still missing.) The well-documented program is pitched at jQuery Mobile users who need ease of use but want more functionality, performance, and UI features. A drag and drop GUI tool is under development at Tokyo-based Asial, which also develops and maintains Monaca.
  • React Native, from Facebook — React Native is an open source spin off of Facebook’s React JavaScript framework, which famously replaced the earlier HTML5 foundation. As the name suggests, this high-end, iOS-focused program is more of a native app package than a cross-platform framework, but with its new Android support, it loosely fits our requirements, as you can essentially write once in JavaScript and port to both platforms. Currently, only OS X desktops are fully supported, although there are experimental Linux and Windows versions for Android development.
  • Sencha Touch, from Sencha — Sencha’s mature, enterprise-focused HTML5/JavaScript framework is available in both open source and commercial versions. Sencha builds upon ExtJS to enable native-like performance. It provides a visual app builder for HTML5, as well as the ability to reuse custom components. A native packager streamlines distribution to stores like Google Play.
  • Titanium, from Appcelerator — Unlike the more web-oriented frameworks, Titanium uses JavaScript to create native code, with claimed benefits in performance. This Node.js-based SDK offers over 5,000 APIs for iOS, Android, Windows, Blackberry, and HTML5. Titanium is known more for its performance and extensive feature set than for ease of use. The software is open source, but the full-featured free version is free only as long as you don’t publish your app, at which point you have to pay at least $39 per month.

 
This article is copyright © 2016 Linux.com and was originally published here. It has been reproduced by LinuxGizmos.com with the permission of its owner. Please visit Linux.com for up-to-date news and articles about Linux and open source.
 

(advertise here)


PLEASE COMMENT BELOW

4 responses to “Top 10 open source Android app development frameworks”

  1. jezra says:

    Those really seem like UI development frameworks, and not Android app development frameworks. For example, it is possible to make a mobile UI with JQuery Mobile, but there is nothing in JQuery Mobile that will allow one to make an Android application.

  2. avra says:

    “OpenUI5 is an Open Source JavaScript UI library, maintained by SAP and available under the Apache 2.0 license.” (http://openui5.org)

  3. Kevin @ Android Dev says:

    Those really seem like UI development frameworks, and not Android app development frameworks. For example, it is possible to make a mobile UI with JQuery Mobile, but there is nothing in JQuery Mobile that will allow one to make an Android application.

  4. Alex says:

    Onsen UI supports Material Design and is totally framework agnostic now 🙂

Please comment here...