Comme nous avons pu le constater au travers de notre R&D, l’utilisation de l’API canvas apportée par le HTML5 au sein d’un application mobile donne des résultat plutôt mitigés en terme de performance.

Après quelques recherches sur la toile, il s’agit effectivement d’un problème général sur la majorité des terminaux mobile dont la puissance moyenne ne suffit toujours pas à faire tourner des applications canvas un minimum complexes.

Ceci est sans compter sur CocoonJS (http://ludei.com/tech/cocoonjs), un service dans le cloud permettant de compiler une application HTML5 en application iOS/Android (et même « Pokki » dont je ne connaissais pas l’existence).

Je vous entends déjà vous interroger: « Mais on a pas déjà PhoneGap pour ça ?« . Tout à fait ! mais là où se démarque CocoonJS  c’est qu’il apporte une optimisation de l’API canvas pour la rendre plus performante. Le résultat est bel est bien au rendez-vous puisque après avoir porté une petite application de « Shooter » sur CocoonJS j’ai bel et bien pu remarquer une nette amélioration.

L’un des inconvénients est que la compilation se fait exclusivement en ligne, il ne semble pas y avoir d’outils pour compiler sur sa propre machine. Il existe bien une application iOS et Androïd appelée « CocoonJS Launcher » permettant de tester l’application en fournissant un zip des sources HTML et JS mais ça reste tout de même un peu léger.
Un autre inconvénient est que nous n’avons pas à disposition toute l’API que peut fournir PhoneGap mais, en contrepartie, CocoonJS fournit des extensions plutôt intéressantes tel que la capture du flux vidéo, la gestion des notifications locales, le support de la librairie physique Box2D en natif, etc…

En conclusion, CocoonJS est une alternative très intéressante à PhoneGap tant que l’on reste dans le domaine du jeu mobile et est donc à surveiller de très près !