J2ObjC, le convertisseur Android vers iOS: présentation

Catégorie: Mobile (Mis à jour le 10-06-2015 22:05:15)

Le marché mobile est partagé entre deux écosystèmes qui ne sont pas compatibles. Android supporte le language de programmation Java, alors qu'iOS utilise le language Objectif C. Les SDK de leurs plateformes respectives sont disponibles dans ces langages (et uniquement dans ces langages).

Pour rendre notre code Java compatible ObjectiveC on doit donc utiliser le convertisseur J2ObjC.

Autres articles de la série J2ObjC

J2ObjC c'est quoi ?

J2ObjC c'est une initiative de Google pour réaliser un compilateur Java vers Objective C. Ce compilateur est capable de transformer n'importe quel code source Java en code source Objective C. Notez que la conversion s'effectue sur le code source, et non pas sur une version compilée, il vous faut donc la source de votre code, mais aussi de toutes les librairies utilisées par votre code.

Les limites de J2ObjC

Cette conversion n'est pas sans limite. Même si les librairies de base de java sont converties sans problème, le compilateur est incapable de convertir les interactions avec la plateforme (appels android), mais aussi les vues et les activités. Pour ces dernières, ceci est un choix assumé par l'équipe de développement qui pense que les interfaces doivent toujours rester dépendantes de la plateforme. Pas de chance donc si vous voulez convertir la totalité de votre application vers iOS, ce n'est pas possible (et ne le sera probablement jamais...).

Dans quel cas l'utiliser ?

Comme on doit réécrire pour les deux plateformes les vues et les interactions avec le materiel, J2ObjC n'est utilisable que lorsque votre logique métier située entre ces deux couches est conséquente. Cela ne se justifie aussi que si vous comptez maintenir votre application par la suite car c'est un gros investissement à fournir.

C'est donc plus rentable de réécrire le code si votre application a peu de logique métier ou n'est pas à maintenir sur le long terme. Sinon, l'investissement vaut peut-être le coup d'être pris.

Si vous commencez un projet, prenez en compte cette conversion dès le départ. Cela change la façon de faire et force à découpler certaines parties pour en changer l'implémentation suivant la plateforme. J'expliquerai dans un article suivant comment faire deux implémentations différentes.

Comment l'utiliser

Le fonctionnement est loin d'être basique et la documentation est peu fournie par rapport a la complexité du projet.

Pour la suite rendez-vous au billet suivant pour convertir votre premier fichier java.

A lire aussi:

Convertir votre premier fichier java vers ObjectiveC via J2ObjC

[Mobile] Pour faire suite a ma présentation sur J2ObjC, voici un article sur comment effectuer votre premiére conversion d'un fichier Java vers Objective C
Suite...

Concevoir un projet android compatible J2ObjC

[Mobile] Cet article à pour but de proposer une architecture propre et claire afin de mettre en oeuvre un partage optimal du code entre les versions Android et iOS pour une application simple.
Suite...