Soutenez-nous

J2ObjC : l'outil de portage de Java vers Objective-C de Google
Vient d'être mis en ligne, il est open-source

Les rubriques (actu, forums, tutos) de Développez
Réseaux sociaux


 Discussion forum

Sur le même sujet
Le , par Hinault Romaric, Responsable Actualités


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 :

Code :
1
2
3
4
 
int getLength(List<String> list, int index) { 
  return list.get(index).length(); 
}
sera traduit en :

Code :
1
2
3
4
 
(int)getLengthWIthJavaUtilList:(JavaUtilList *)list withInt:index { 
  return [(NSString *) [list getWithInt:index] length]; 
}
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 ?


 Poster une réponse

Avatar de Hizin Hizin
Modérateur
le 17/09/2012 16:21
Ha, merci.

Faudra que je teste ça, moi.
Avatar de Gugelhupf Gugelhupf
Membre chevronné
le 17/09/2012 20:14
C'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 ?
Avatar de o.deb o.deb
Nouveau Membre du Club
le 17/09/2012 21:20
Citation Envoyé par Gugelhupf  Voir le message
C'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 ?

Google 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?
Avatar de patate_violente patate_violente
Membre du Club
le 18/09/2012 9:50
Citation Envoyé par o.deb  Voir le message
Google a clairement un intérêt à ce qu'on utilise cet outil

Il 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.
Avatar de stephgil29 stephgil29
Membre habitué
le 18/09/2012 21:11
Citation Envoyé par patate_violente  Voir le message
Il 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.

Pourtant 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 ???
Avatar de jmini jmini
Membre Expert
le 19/09/2012 20:07
Citation Envoyé par stephgil29  Voir le message
Maintenant reste à juger la bête en action... Outils sérieux ou grosse séance de débogage à chaque portage ???

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.

En fait ils ont besoin de plus d'utilisateurs pour compléter leur outil. Le confronter à d'autres styles de code...
Avatar de kimimo kimimo
Nouveau Membre du Club
le 20/09/2012 8:39
Citation Envoyé par patate_violente  Voir le message
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.

J'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...
Avatar de chmo1021 chmo1021
Inactif
le 24/09/2012 17:58
Bonjour

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.

crdlt
Offres d'emploi IT
Technicien Télécommunications (H/F)
CDI
Links IT SERVICES - Rhône Alpes - Lyon (69000)
Parue le 08/04/2014
FR-ATS-Nantes-Intégrateur poste de travail (H/F)
CDI
Atos Technology Services - Pays de la Loire - Nantes (44000)
Parue le 13/04/2014
H/F-Ingénieur Systèmes Réseaux et Sécurité
CDI
Sogeti France - Midi Pyrénées - TOULOUSE
Parue le 12/04/2014

Voir plus d'offres Voir la carte des offres IT
 
 
 
 
Partenaires

PlanetHoster
Ikoula