JavaScript frameworks for applications on mobiles
Selection of frameworks with visual effects to look similar to native applications on any mobile.
Should HTML 5 be used for a mobile application?
There are drawbacks. Loading Web pages is slower than from the local system. Although if the application uses a database, it will anyway wait for access to the database on the server. And there is the offline mode. But above all it will not be included in the AppStore and will lose a lot of visibility.
And there are also advantages. We will not have to pay 30% royalties to Apple or to wait for inclusion in the store. The application will also be available on all systems, which can counterbalance the loss of visibility of the AppStore.
If we have a way to promote the application, a website for example, we can be dispensed from the store.
In fact the HTML 5 platform is more suitable for some sort of applications, services and media content in particular. It is less suitable for other like games and all the gadgets that use sensors and other tools included in smartphones. For now, because technological advances will make HTML 5 faster and more complete (see libraries at bottom).
Enyo 2
Originally designed for webOS, it is actually portable and licensed under the Apache license. An application built with this SDK can run on the desktop, on iOS, Android, WP or of course webOS that is the system closest to the Linux desktop, pending Tizen. So we can consider cross-platform applications.
The sampler allows to see all Onyx widgets on line. The appearance of the application through visual effects and containers and widgets component, is close to that of a native Android application.
Enyo generate the HTML code from a code that looks like JSON, which is more convenient according to the authors. It actually depends on the part which is dedicated to the interface and to functions, because the interface is less readable in this form.
Kendo UI Mobile
Based on jQuery and CSS, it is so a complement to an existing framework, a set of widgets ready to use for a HTML 5 application.
Like all the other frameworks in this list, it is portable. The standard version, Kendo UI was not designed for mobile phones, it makes it possible to create universal applications that do not use functions specific to mobile, unlike Enyo. This is why a specialized version was created, which provides widgets same as the native elements of iOS and Android.
Kendo uses JSON code to assign data to an HTML element and initialize it, but unlike Enyo, it does not generate the HTML code but is added to it.
React Native
React applied to making native apps. But terms may of use be dissuasive, especially regarding patents, in the USA. It you can deal with it, you have an IDE specially for React Native, Nuclide.
More frameworks
- jQuery Mobile. Ajax framework to help building portable applications.
- libGDX. For Java applications so on Android or mobile with JVM, a framework for games development, in 2D or 3D. It is rather simple to use and works also on desktops, and all the machines supporting Java.
Backends and utilities
- Fast button. This is not another framework but a complementary tool. It enables HTML applications to get the same fluidity as native applications. Provided by Google.
- Fastclick. If the mobile browser responds with a delay to sollications of the user, this library will intervene and remove the delaying. To be tested carefully and with conditional statements to verify it is a mobile device. To be compared to Fast button from Google.
- Backbone.js. Brings a common structure to mobile applications based on models.
- Cordova. To build native mobile app with an HTML 5 interfaces. May so be used with another framework. Now the interface to hardware in webOS but work also on Android, iOS, Windows 7, Tizen.
PhoneGap is a distribution of Cordova with some additional tools for Adobe products. - WebAPI. Project from Mozilla to bring a standard API working on all systems and browsers, and intended mainly for mobile phone apps.
See also
- Canvas Tutorial. Learn how to add graphics in the browser.
- HTML 5 frameworks. Libraries for games, multimedia and other specialized applications.