Cabinet de curiosités programmatiques mobiles

Benoit Pereira da Silva dernière mise à jour le

Inventaire de quelques technologies, produits, outils mobiles atypiques ou méconnus, à l’usage des programmeurs mobiles que j’ai repéré ça et là, classés par ordre alphabétique. Vous trouverez des environnements d’exécution multiplateformes, des procédés de transcodage ou de portage automatique, ou encore des engins de métaprogrammation, .. Notez que je ne préconise nullement l’usage de ceux-ci !  A l’exclusion du domaine des jeux où les moteurs « cross-anything » sont arrivés à maturité depuis plusieurs années,  et sont pléthoriques, il me semble  préférable d’utiliser les kits de développement natifs pour les applications standards et de se concentrer sur iOS / Android /Windows , les trois plateformes essentielles pour les produits grand public. La convergence HTML5 ne me semble possible que pour des applications limitées.

Apache Cordova :

Une couche d’exécution multiplateforme qui supporte iOS, Android, Blackberry, Windows Phone, Palm WebOS, Bada, et Symbian, en s’appuyant sur les technologies web ( Javascript, HTML et CSS)  qui s’interface avec les environnements natifs pour donner accès au ressources indisponibles ( par exemple la caméra)   Apache cordova  est très utilisé comme fondation technologique pour construire des environnements d’exécution notamment dans le monde des MEAP (Mobile entreprise application plateform Cf. wikipédia)

Appcelerator :

Appcelerator un plateforme mobile commerciale complète pour développer des applications mobiles, en Javascript, HTML et CSS.

Apportable :

Apportable.com permet de développer des applications Android (habituellement en Java) en Objective C (le langage principal d’iOS).

Cocos2DX :

Cocos2d-x est un moteur de jeu 2D multiplateforme open source.

Corona SDK :

Corona  permet de développer des application iOS et Android en utilisant langage Lua.

Embarcadero :

Développer des applications iOS en delphi.

Intel XDK :

Construit en extension de d’apache Cordova, le XDK d’intel, et un assemblage de technologies, libre ou ouverte, repartagées et étendues par les équipes d’intel.

Intel® HTML5 App Porter  :

Pour convertir du code objective C en HTML5 . Vu sur  la page  d’Intel dédiée aux outils pour le développement d’application mobiles.

Haxe :

Haxe un langage de programmation multiplateforme.

Marmelade :

Marmelade est un moteur de jeu pour écrire des  applications cross-plateforme en C++.
Marmelade Juice est pour porter des application iOS sur android et plus en Objective C.
WebMarmelade un environnement d’exécution web.

OpenFL :

Openfl,  issu de haxe, permet d’écrire des applications multiplateformes pour ios, android, webos, windows, mac, linux, html5, flash.

 

Sprite Builder :

SpriteBuilder, un environnement auteur pour créer des jeux cocos2D sur iOS et Android en Objective C. Cet excellent outils fruit d’un effort communautaire intense requiert malheureusement une licence très onéreuse de l’environnement de compilation d’apportable pour pouvoir créer des exécutables Android. 

RoboVM :

Pour créer des applications natives IOS en JAVA, RoboVM transforme du « Java byte code » en code ARM et x86 natif.  Les applications transcodées, n’utilisent pas d’interpréteur ou de machine virtuelle. www.roboVM.org

Unity3D :

Unity3d est un moteur de jeu et un environnement de développement pour le mobile, les consoles, les applications de bureau.

XAMARIN :

Xamarin un environnement auteur complet pour écrire des applications  iOS, Android, Mac et Windows en C#.

XMLVM :

Xmlvm  une suite d’outils qui opère  au niveau des jeux d’instructions binaires ou « byte code » au lieu de transcoder des langages de haut niveau. XMLVM « cross-compile »  les jeux d’instructions binaires des machines virtuelles Java  et  .net.

Ingénierie mobile centrée sur l'humain et les usages, développement mobile, tactiles et connectés.