Pour récupérer les compétences des développeurs Java et faciliter la migration des applications pour Android vers iOS, Google a décidé de publier sur son blog dédié aux outils open source une application pour la conversion du code Java en code Objective-C.


Le projet J2ObjC  sous licence open source a pour objectif de faciliter le portage d’applications, initialement développées pour Android, vers iOS. L’idée est donc de répondre indirectement à la problématique de développement multiplate-forme mobile.

Lors du processus de conversion, J2ObjC génère un fichier de mappage qui définit la conversion des méthodes Java en méthodes iOS Foundation.

Le processus de traduction consiste actuellement en la conversion de :

  •  java.lang.Object à NSObject
  • boolean à BOOL
  •  byte à char
  • Les variables d’instance deviennent des propriétés
  •  Les classes inner et anonymous sont converties en classes spécialement nommées pour ces cas.
  •  Les interfaces deviennent des protocoles

Google utilise l’exemple suivant en Java :

[php]int getLength(List list, int index) {<br />
return list.get(index).length();<br />
}</p>
<p>[/php]

Traduit en Objective-C par J2ObjC en ceci :

[php]<br />
(int)getLengthWIthJavaUtilList:(JavaUtilList *)list withInt:index {<br />
return [(NSString *) [list getWithInt:index] length];<br />
}[/php]

J2ObjC ne génère pas l’interface utilisateur de l’application pour iOS. La seule manière de bénéficier d’une IHM iOS efficace et rapide est de l’écrire en Objective-C en s’appuyant directement sur le SDK d’iOS.

Pour le moment le projet J2ObjC est entre le stade Alpha et Beta, et a déjà été utilisé par Google pour plusieurs projets internes.

2 Commentaires