Les frameworks JavaScript pour les applications sur mobile

Sélection des frameworks avec effets visuels similaires au look des applications natives sur tous mobiles.

Faut-il utiliser HTML 5 pour une application mobile?

Il y a des inconvénients. Charger les pages sur le Web est plus lent que sur le système local. Quoique si l'application utilise une base de donnée, il faudra de toute façon attendre l'accès à la base sur le serveur. Et il y a le mode offline. Mais surtout elle ne sera par incluse dans l'AppStore et perdra beaucoup en visibilité.
Et il y a aussi des avantages. On n'aura pas à verser 30% de royalties à Apple, ni a attendre l'inclusion dans la boutique. L'application sera aussi disponible sur tous les systèmes, ce qui peut compenser la perte de visibilité de l'AppStore.
Si on dispose d'un moyen de faire connaître son application, un site web par exemple, on peut se passer de la boutique.

En fait la plateforme HTML 5 convient mieux à certaines applications, les services et les supports de contenus notamment. Elle convient moins à d'autres comme les jeux et tous les gadgets qui utilisent les senseurs et autres outils inclus dans un smarphone. Actuellement tout en moins, car les avancées technologiques vont rendre HTML 5 plus rapide et plus complet (voir librairies en bas de page).

Enyo 2, les widgets

Enyo 2

Conçu à l'origine pour webOS, il est en fait portable et placé sous licence Apache. Une application réalisée avec ce SDK peut fonctionner sur le bureau, sur iOS, Android ou WP ou bien sur webOS qui est le système le plus proche de Linux du bureau, en attendant Tizen. On peut donc envisager des applications très portables.

Le sampler permet de voir en ligne les widgets du thème Onyx. L'apparence de l'application grâce aux effets visuels et aux composants containers et widgets, est proche de celle d'une application Android native, comme on peut le voir sur cette image.

Enyo génère le code HTML à partir de code qui ressemble à JSON, ce qui est plus pratique selon les auteurs. Cela dépend en fait de la part qui est accordée à l'interface et aux fonctions, car l'interface est moins lisible sous cette forme.

Framework Kendo UI

Kendo UI Mobile

Basé sur jQuery et CSS, c'est donc un complément à un framework existant, un ensemble de widgets prêts à utiliser pour une application HTML 5.

Comme tous les autres frameworks de cette liste, il est portable. La version standard, Kendo UI n'a pas été conçue pour les mobiles, elle permet donc de créer des applications universelles n'utilisant pas les fonctions propres aux mobiles, contrairement à Enyo. Ce pourquoi une version spécialisée a été créée, qui fournit des widgets identiques aux éléments natifs de iOS et Android.

Kendo utilise du code JSON pour assigner des données à un élément HTML et l'initialiser, mais contrairement à Enyo, il ne génère par le code HTML mais s'ajoute à lui.

Sensha Touch 2

Basé sur des classes, il permet de construire facilement de nouveaux widgets selon le modèle MVC (modèle vue + contrôleur). Par exemple, les objets ComponentView et DataView fournissent une base de départ qui évite beaucoup de programmation.
Il est plus rapide en action que d'autres frameworks pour mobiles mais il faut charger 300 KO de code JavaScript et CSS. En outre les pages de l'application ne sont pas indexées par les moteurs de recherche.
Il faut encore une API comme PhoneGap pour utiliser les ressources du matériel.

libGDX

Pour des applications Java donc sur Android ou mobile avec JVM, un framework de jeux en 2D ou 3D. Il est plutôt simple à utiliser.
Peut s'utiliser aussi sur les desktops, et toutes la machines supportant Java.

Backends et utilitaires

Autres frameworks

Voir aussi