IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

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

Le , par Hinault Romaric

62PARTAGES

4  0 
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 : Sélectionner tout
1
2
3
4
int getLength(List<String> list, int index) {
  return list.get(index).length();
}
sera traduit en :

Code : Sélectionner tout
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 ?

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Hizin
Modérateur https://www.developpez.com
Le 17/09/2012 à 16:21
Ha, merci.

Faudra que je teste ça, moi.
0  0 
Avatar de Gugelhupf
Modérateur https://www.developpez.com
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 ?
0  0 
Avatar de o.deb
Membre du Club https://www.developpez.com
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?
0  0 
Avatar de patate_violente
Membre régulier https://www.developpez.com
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.
0  0 
Avatar de stephgil29
Membre actif https://www.developpez.com
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 ???
0  0 
Avatar de jmini
Membre éprouvé https://www.developpez.com
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...
0  0 
Avatar de kimimo
Membre du Club https://www.developpez.com
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...
0  0 
Avatar de chmo1021
Inactif https://www.developpez.com
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
0  1