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).
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, as shown on this image.
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.
- Enyo. A good tutorial is available on the site. And an emulator is provided in the webOS SDK.
- On github.
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.
- Kendo UI mobile.
- jQuery UI vs Kendo UI. Comparing the interface part of the two frameworks that both use jQuery.
jqMobi and jQuery
Optimized mobile version of jQuery, jqMobi has the advantage of being based on a library widely used on all systems. Core components offered are limited, but third-party components are available.
It comes immediately as running on iOS and Android, and a priori on other systems, portability is its advantage. But it concerns only the application interface and does not provide functions to interact with the hardware. This is where an API such as that proposed by Mozilla becomes useful.
- jqMobi. While jQuery Mobile is widely used, the code to include is much larger than jqMobi.
- Zepto.js is another very lighweight library that is compatible with jQuery code too. Does not work on IE.
Sensha Touch 2
Class-based, it allows to easily build new widgets following the MVC pattern. For example, ComponentView and DataView objects provide a starting point that avoids a lot of programming.
An API such as PhoneGap is required still to use the hardware resources.
- Comparison of Sencha Touch and jQuery Mobile.
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.
Can also be used 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.
- AppMobi. Tools and libraries for HTML 5 in the cloud. DirectCanvas accelerates applications in Canvas. Mobius is a browser that provides access to system resources.
- Helios. For iOS, as its name suggests, a backend which makes the connection between the client and the server to handle the basic functions of an application.
- 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) will be coming further this year.
- jQuery Mobile. Ajax framework to help building portable applications.
- Intention.js. If you want to create different and lighter pages for mobiles, Intention is a framework that does this automatically and dynamically.
- iUI. Lighweight, provides native iOS look and feel.
- Canvas Tutorial. Learn how to add graphics in the browser.
- HTML 5 frameworks. Libraries for games, multimedia and other specialized applications.
- HTML 5 for mobiles. (External) List of tips to adapt an application to mobiles.