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 !

Codename One : la boite à outils Java open source
Pour le développement mobile multiplateforme sur une base de code unique sort

Le , par Hinault Romaric

21PARTAGES

3  0 
Codename One, la plateforme open source pour le développement mobile en Java prend désormais en charge Windows Phone et les tablettes Windows 8.

Développé par deux anciens ingénieurs de SUN Microsystems, Codename One est un écosystème léger, fondé sur Java, conçu pour permettre aux développeurs de créer des applications natives pour de multiples plateformes mobiles et tablettes en utilisant une base de code unique.

La bêta de la boîte à outils avait été présentée en juillet dernier, et permettait de développer pour iOS, Android, BlackBerry et Windows 7, tout en réduisant la fragmentation, le temps et les coûts de développement.

Le SDK est disponible actuellement en version finale avec un plugin pour NetBeans et Eclipse, une API cliente, un environnement de simulation pour téléphones et tablettes, un serveur de build et un service de Cloud computing pour faire interagir les applications avec les plateformes Cloud.

L’API Codename One est décrite comme une abstraction de la majorité des plateformes mobiles, combinée à des fonctionnalités portables riches. Elle exploite le plus grand ensemble commun de fonctionnalités au sein des dispositifs mobiles. L’API dispose de contrôles d’interface utilisateur riches et personnalisables, de fonctions pour l’accès à la caméra, au GPS, etc.

Codename One est disponible gratuitement sous une licence open source et peut être utilisée pour développer des applications commerciales.

Télécharger Codename One

Source : Le site du projet

Et vous ?

Que pensez-vous de cet outil ?

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

Avatar de doderic
Membre habitué https://www.developpez.com
Le 13/09/2012 à 14:03
Citation Envoyé par neomad Voir le message
A bon tu as été vérifié? ou tu travailles pour eux!
lol Non je n'ai pas vérifié et je ne travaille pas pour eux mais je préfère les croire parce que c'est ce qu'ils disent. Voilà pourquoi je dis que tout ça est une question de choix. Il y a pleins de choses qu'on te dit sur le net et que tu ne peux pas vérifier. Quand on te dit par exemple que tes mails sont en sécurité dans ta boite mail. qu'est ce qui te le prouve? tu ne sais même pas si yahoo ou gmail ou autres choses les lisent ou non. ok je comprends ta position.
Au plaisir
2  0 
Avatar de Robin56
Responsable Java https://www.developpez.com
Le 13/09/2012 à 15:42
Citation Envoyé par neomad Voir le message
A bon tu as été vérifié? ou tu travailles pour eux!
C'est marrant cette agressivité sur ce point venant de quelqu'un ayant créé son compte juste pour parler de son logiciel.

PS : Je suis neutre dans la bataille.
2  0 
Avatar de Traroth2
Membre chevronné https://www.developpez.com
Le 13/09/2012 à 11:28
Ca a l'air plus qu'intéressant, comme projet. La galerie montre des choses sympas et d'autres plus mal faites, c'est clair (en particulier, l'application tout en haut de la page et qu'on voit donc en premier est particulièrement moche. Mais en descendant, on en voit des mieux foutue. Pas très pertinent, comme choix). Mais visiblement, on peut faire des belles choses, avec. Après, c'est aussi une question de talent.

Pouvoir écrire des applications mobiles multiplateformes (Android, iOS, Blackberry et Windows Phone) en Java, c'est quand même plutôt cool !

Bon, je vois mon intérêt, pérenniser mon savoir-faire, forcément...
1  0 
Avatar de doderic
Membre habitué https://www.developpez.com
Le 13/09/2012 à 13:21
Citation Envoyé par neomad Voir le message
Cet outil est en beta, utilisez plutot NeoMAD : allez sur http://www.neomades.com, en plus c'est français!
Ce n'est plus en beta actuellement. Et puis c'est marqué aussi dans le post de l'article. As tu au moins pris la peine de lire le post?
1  0 
Avatar de doderic
Membre habitué https://www.developpez.com
Le 13/09/2012 à 13:51
Citation Envoyé par neomad Voir le message
Tout développeur java sait que les fichiers .class sont facilement dé-compilables et que l'on peut voir le code source.
On peut obfusquer les .class dans des projets java classiques mais avec codenameOne je ne sais si on peut s'introduire dans la chaine de compilation pour obfusquer ce qui est envoyé.

Donc pour le moment ça revient au même dans tous les cas, les .class et parfois du code natif se balade sur un serveur tiers, et ça ÇÀ ME DERANGE !
Oui le code envoyé est toujours obfusqué par défaut à la compilation. tu n'as même pas besoin de le préciser pour qu'il le fasse. Et puis ils ne gardent pas tes .class après sur leur serveur. Ils sont nettoyés juste après la compilation. Après tout c'est une question de goût, de choix et de pleins d'autres choses. Tes raisons sont valables dans certains cas. Tu as déjà fait ton choix avec l'outil NeoMAD mais je t'assure qu'il y a mieux avec CN1 et si c'est la compilation dans le cloud qui te pose problème alors suis les instructions pour faire de la compilation offline. En tout cas c'est un bon outil bien bourré quand même
1  0 
Avatar de camus3
Membre éprouvé https://www.developpez.com
Le 13/09/2012 à 14:16
Effectivement le code java est facilement décompilable ( http://java.decompiler.free.fr ).

Il devraient par contre permettre la build locale par défaut , et proposer leur service cloud en sus ( comme le fait phonegap ou ou titanium il me semble ).

@neomad : Vous avez un Gui-builder( et pas que pour les polices) ?
Les apps sont elles facilement skinnables ? je suis graphiste à l'origine donc , les skins génériques c'est pas trop mon truc.

bref moi ce que je voudrais c'est :

+ un projet avec pour base le langage java ( ou python , au moins ), un seul langage est suffisant.
+ avec un framework complet ( avec une couche MVC par exemple comme ParticleSDK )
+ possibilité d'utiliser un grand nombre libs externes en pur java
+ builds locales vers Android , Ios , Win7/8 , Blackberry et pourquoi pas HTML5 et flash comme Particle SDK
+ plugins Eclipse et NetBeans
+ GUI builder ergonomique ( celui de particle SDK est vraiment sympa )
+ possibilité d'utiliser des libs "natives" à la plateforme ( des activités sur android ou des classes perso en Obj-C pour Ios ) .
+ support des différentes tailles d'écran ET résolutions dans le GUI-builder ( comme Particle SDK)
+ gestion des assets ( images , son , etc ... ).
+ gratuit pour l'open source , avec une license commerciale pour les projets commerciaux ( le tout gratuit n'existe pas ).
+ license pour un serveur de build locale.
+ offres de formations , de contrôle qualité , d'assistance rapide , etc ...

J'avais testé Haxe qui est génial pour les jeux , mais pas pour les applis type client avec widgets , reporting , etc ...

Adobe Air sera bien quand il fonctionnera sur tout les phones androids > 2.0.

Il me semble qu'Alcatel - Lucent avait un projet mais impossible de remettre la main dessus.
1  0 
Avatar de tchize_
Expert éminent sénior https://www.developpez.com
Le 13/09/2012 à 14:39
Citation Envoyé par neomad Voir le message


Donc pour le moment ça revient au même dans tous les cas, les .class et parfois du code natif se balade sur un serveur tiers, et ça ÇÀ ME DERANGE !
Mais, si tu fais une application android, ca ne te dérange pas qu'il se balade sur tous les téléphones de tes clients. Faut rester un peu logique. Ton code à bien moins de chance de se faire décompiler sur leur serveur que de se faire démonter par un utilisateur sur son téléphone qui veux trouver comment pas payer tous les mois
1  0 
Avatar de doderic
Membre habitué https://www.developpez.com
Le 13/09/2012 à 15:18
Citation Envoyé par neomad Voir le message
Sur android quand on veut masquer ce qui est critique (du code par exemple) pour un client, on crée du code c++ que l'on compile (lib.so) et que l'on intègre dans le binaire final. Dans ce cas là, le code critique est mieux protégé que le code java, mais ta remarque reste vrai pour le reste du code Java.
Au final le binaire tu peux décompiler le code java mais pour les bibliothèque c++ compilés: ACCROCHE TOI !
Ce n'est pas impossible mais c'est moins accessibles aux novices.

Cette technique est utilisé par les jeux vidéos qui utilisent des systèmes de DRM !!!

J'en reviens à mon problème, je ne peux utiliser cet outil avec certains clients soucieux de la sécurité. Le choix d'un outil se fait aussi parfois par l'aspect sécurité et confidentialité.

Au plaisir!
Personne ne rejette ton point de vue et c'est pour ça que je suis venu préciser que tu peux faire du build offline même si ce n'est pas le choix proposé par défaut. La sécurité n'est nul part. De la même manière que tu peux écrire ton code en C++ pour le protéger, tu peux en faire de même avec CN1. Bonne suite à toi
1  0 
Avatar de camus3
Membre éprouvé https://www.developpez.com
Le 13/09/2012 à 17:19
Sur le principe, je ne suis pas certain de bien comprendre le principe : est-ce qu'on génère un applicatif natif, façon Monotouch/Monodroid ou est-ce qu'on embarque une JVM dans l'application ? Je pose la question parce que c'est ce que j'ai vaguement cru comprendre en survolant le guide du développeur...
Au final le code est natif avec un framework par dessus. De toute manière ,interdit de faire tourner une VM fdans une app sous iOs.
1  0 
Avatar de camus3
Membre éprouvé https://www.developpez.com
Le 12/09/2012 à 17:58
Si j'ai bien compris , pas de build sur le client ? si c'est le cas ,cette solution est problématique.

ParticleCode avait une solution intéressante avec Java (un sous ensemble en fait ) et/ou AS3 ( le SDK n'est plus développé (la boite a été rachetée par Appcelerator ) mais il est toujours dispo : http://www.particlecode.com , j'avais codé un client Twitter pour android :
http://mpmedia.alwaysdata.net/ksutweet/

L'appli est codée en java (exportée en flash , designée pour mobile , vous devez donc faire défiler la liste des tweets avec un "drag" sur la list , mais on peut coder en AS3, le source est dispo ici :

https://github.com/mparaiso/TwitterClient

La démo est du java compilé vers flash.

Dommage qu'ils n'aient pas continué le dévelopement . Le projet était vraiment bon.

EDIT :

voici l'APK pour android >= 2.2.* :

https://github.com/downloads/Mparaiso/TwitterClient/ksutweet.apk
0  0