Appcelerator Titanium est une plate-forme qui va vous permettre de développer pour des terminaux mobiles ou pour application Desktop en ne produisant qu’un seul code.
Depuis un petit moment, j’ai envie de me mettre au développement mobile. Mais le dilemme est qu’il faut apprendre un langage pour chaque plateforme mobile. Objective-c pour iphone, java pour android, pour WP7 je suppose que c’est du .NET, pour blackberry je ne sais pas. Donc soit on apprend tout, soit on se focalise sur une seule plateforme. En gros soit on prend énormément de temps à tout apprendre, réécrire du code pour chaque plateforme, soit on se prive des utilisateurs potentiels de tous les smartphones en se focalisant sur un seul.
Je ne suis vraisemblablement pas le seul à avoir eu ce dilemme et, pas hasard, on m’a présenté plusieurs outils qui permettent d’écrire un seul code (pas tout à fait vrai*) et qui va le transformer en code natif pour chaque environnement (et on a ainsi une application native qu’on pourra mettre sur un store).
Parmi les solutions, on m’a présenté :
J’ai testé les deux et mon choix s’arrête (pour l’instant) sur Titanium (et je viens de voir en écrivant le billet que phonegap a refondu tout le site, le rendant beaucoup plus attractif).
Pour phonegap, on utilise le SDK de chaque environnement et on développe avec les outils de chaque environnement. Xcode pour iphone et eclipse pour android (pas testé pour d’autres plateformes comme WP7 ou blackberry). Et pour développer on utilise du HTML+CSS+JS (on crée vraiment unz page HTML avec la balise body etc)
Pour Titanium c’est différend. Déjà pas d’IDE imposé, vous développez avec les outils que vous souhaitez. Me concernant j’utilise Textmate sur mon mac et Geany sur Linux. Ce point peut changer dans les mois à venir, Appcelerator a fait l’acquisition de l’éditeur Aptana qui développe l’IDE éponyme (ce qui me laisse imaginer une liaison profonde entre les outils et je suis ces évolutions d’assez près). Ensuite tout ce qui est compilation est regroupé dans l’outil Titanium qui a sa propre interface.
Avec Titanium, on s’éloigne un peu du développement web, dans le sens où on ne produit pas de fichier html, tout se fait en Javascript. Bien sûr (comme pour phonegap) le core de Javascript est plus évolué et embarque beaucoup plus de fonctionnalités. On va créer une UI, que l’on va piloter en javascript (on crée un window, qui contiendra des views, etc, etc). On se rapproche plus du développement Mobile/Desktop que web.
L’API permet d’accéder à beaucoup de fonctionnalités comme pouvoir contrôler l’APN de l’appareil, création/manipulation de base de données, géolocalisation, accès aux fichiers, etc, comme pour une appli native.
La documentation est assez bien fournie, pas mal d’exemples sont à dispositions (notamment l’application kitchensik), une sorte de forum assez vivant dans lequel vous trouverez la réponse à la plupart de vos problèmes (concernant l’installation j’ai trouvé toutes les réponses à mes questions dedans).
Je me suis donc lancé dans le développement d’une application que j’aimerais sortir sur iphone et android. Cette application portera sur mon-bovin.fr et permettra de consulter les annonces, rechercher les annonces sur les mêmes critères que sur le site et contacter directement l’éleveur depuis l’appli (on ne passe plus par le mail). Pour ce faire, j’ai développé une API (disponible sur http://api.mon-bovin.fr ) que je n’ai pas encore documentée et que je n’ai pas fermée (mais si je me rends compte qu’on fait trop joujou avec je le ferais). Cette API permet de me donner les résultats dans plusieurs formats (Json et XML). Je ne sais pas encore si je ferais du stockage sur le téléphone ou bien si je ferais tout en live via la connexion 3G.
J’espère pouvoir la terminer le plus tôt possible, même si ces derniers temps je l’ai un peu mis en stand by. Si il y a des intéressés pour me faire quelques éléments graphiques pour l’appli j’accepte avec grand plaisir :-D
Si vous voulez faire un retour sur votre expérience avec ce genre d’outils de développement, je suis bien évidemment preneur.
* 90% du code va être compatible avec toutes les plateformes. Les 10% restant devront être adapté pour chaque plateforme. Par exemple sur iphone il est possible de mettre en place des triggers qu’android ne gère pas et vice-versa. Il est possible de distinguer chaque plateforme et ainsi mettre en place des conditions suivant la plateforme sur laquelle l’application est lancée.
Tweet









Bonjour,
Vous n’avez pas eu de problème pour la validation Apple? Étant donné leur nouvelle politique, n’y a-t-il pas de risque que l’application soit rejetée ?
Bien qu’Appcelerator soit pratique pour développer une application sur plusieurs plateformes, est-ce un outil qui accélère le développement / temps de travail ?
Merci pour l’article :grin:
Bonjour,
je n’en suis pas encore à cette étape, il me faut finir le développement avant :-)
Mais au vu du nombre d’appli faîtes avec titanium je pense que ça ne pose pas de soucis.
Bonjour Manu !
Où en es-tu dans ton avancée ? Ce que tu as fait m’intéresse beaucoup. As-tu rencontré quelques soucis ? J’aimerais beaucoup en discuter avec toi. Tu as mon adresse mail (a priori), n’hésite pas à me contacter.