J2ObjC : l'outil de portage de Java vers Objective-C de Google
Vient d'être mis en ligne, il est open-source
Le 2012-09-17 12:28:23, par Hinault Romaric, Responsable .NET
Bonne nouvelle pour les développeurs Java qui souhaitent cibler iOS sans toutefois se mettre à l’Objective-C.
Google vient 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 a pour objectif de permettre aux développeurs de partager facilement du code qui n’est pas utilisé pour l’interface utilisateur (logique métier, accès aux données, etc.) pour les applications Android, les applications Web (qui utilisent le serveur GWT) avec iOS.
J2ObjC convertit les classes Java en classes Objective-C qui utilisent directement le framework iOS Foundation. Il prend en charge Java 6 et la plupart de ses fonctions d’exécution qui sont requises par les développeurs d’applications coté client, y compris les exceptions, les classes internes et anonymes, les types génériques, les files, etc. La conversion et l’exécution des tests JUnit sont également prises en charge.
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.
À titre d’exemple le code Java suivant :
sera traduit en :
J2ObjC peut être utilisé avec la plupart des outils de génération, y compris Xcode, Java for OSX et Make. Il est actuellement entre le stade Alpha et Beta, et a déjà été utilisé par Google pour plusieurs projets internes.
J2ObjC est disponible sous licence open source avec sa documentation et des guides pour son utilisation sur le site Google Code.
Télécharger J2ObjC
Source : Google
Et vous ?
Que pensez-vous de cet outil ?
Google vient 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 a pour objectif de permettre aux développeurs de partager facilement du code qui n’est pas utilisé pour l’interface utilisateur (logique métier, accès aux données, etc.) pour les applications Android, les applications Web (qui utilisent le serveur GWT) avec iOS.
J2ObjC convertit les classes Java en classes Objective-C qui utilisent directement le framework iOS Foundation. Il prend en charge Java 6 et la plupart de ses fonctions d’exécution qui sont requises par les développeurs d’applications coté client, y compris les exceptions, les classes internes et anonymes, les types génériques, les files, etc. La conversion et l’exécution des tests JUnit sont également prises en charge.
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.
À titre d’exemple le code Java suivant :
Code : |
1 2 3 4 | int getLength(List<String> list, int index) { return list.get(index).length(); } |
Code : |
1 2 3 4 | (int)getLengthWIthJavaUtilList:(JavaUtilList *)list withInt:index { return [(NSString *) [list getWithInt:index] length]; } |
J2ObjC est disponible sous licence open source avec sa documentation et des guides pour son utilisation sur le site Google Code.
Source : Google
Et vous ?
-
HizinModérateurHa, merci.
Faudra que je teste ça, moi.le 17/09/2012 à 16:21 -
GugelhupfModérateurC'est sympa de la part de Google mais quel est l'intérêt pour celui-ci de publier un tel utilitaire ?
Serait-ce vraiment pour nous simplifier la vie ?
Quels sont les enjeux ?le 17/09/2012 à 20:14 -
o.debMembre du ClubGoogle a clairement un intérêt à ce qu'on utilise cet outil, mais s'il peut nous servir, et qu'en plus il est open source, pourquoi s'en priver?le 17/09/2012 à 21:20
-
patate_violenteMembre régulierIl se serait appelé ObjC2J j'aurais compris immédiatement mais là je crois plutôt que Google veut qu'on améliore avant tout son logiciel opensource.
Après on peut penser que Google voudrait qu'on développe d'abord pour Android avec pour raison que le passage à iOS est ensuite assisté... Mais je ne suis pas sûr que ce soit bien valable.le 18/09/2012 à 9:50 -
stephgil29Membre actifPourtant cela me semble très pertinent comme façon de voir les choses. L'important pour eux c'est que pour chaque application qui existe sur IOS il y ai la même sur Android. Donc si tu écris ton application d'abord pour Android, elle existera forcément...
Maintenant je dois reconnaître que pour nous, le plus important c'est que la tache soit facilité. En écrivant qu'une fois l'application, si elle peut être disponible sur 2 plateformes, ce n'est que du bénéfice. Maintenant reste à juger la bête en action... Outils sérieux ou grosse séance de débogage à chaque portage ???le 18/09/2012 à 21:11 -
jminiMembre éprouvéEntre les deux... Il semblerait que cela dépende du style Java employé... Certains sont bien supporté, d'autres non...2ObjC is currently between alpha and beta quality. Several Google projects rely on it, but when new projects first start working with it, they usually find new bugs to be fixed. Apparently every Java developer has a slightly different way of using Java, and the tool hasn't translated all possible paths yet. It's initial version number is 0.5, which hopefully represents its release status correctly.le 19/09/2012 à 20:07
-
kimimoMembre du ClubJ'ai pensé comme toi, Google veut favoriser le développement des applications Android en premier. Et je trouve ça très astucieux de leur part.
1) ce sera des développeurs Android qui feront des applications iOS et pas l'inverse. L'application Android devrait être de très bonne qualité quand à l'application iOS, c'est moins sûr.
2) le point 1 entraînera une plus grosse communauté Android que iOS avec tous les avantages qui s'y rattachent
3) une application générée automatiquement sera toujours moins bien adaptée qu'une application développée (performances, bugs, IHM), les applications Android seront donc de meilleure qualité
4) toutes ces applications existeront d'abord sous Android et après sous iOS (l'inverse est souvent un argument contre Android)
5) si le budget se resserre ou que le projet prends du retard, c'est iOS qui trinque
...
Je pense donc que pour toutes ces raison (et d'autres), Google fait un très beau mouvement. Par contre, pas sûr que ça marche, à suivre...le 20/09/2012 à 8:39 -
chmo1021InactifBonjour
Je ne crois tout de même pas que cela puisse être à 100% bénef pour Google, puisque les applications Android qui manquaient au store d'Apple, seront traduites et enrichiront le magasin par la suite.
crdltle 24/09/2012 à 17:58