OVH Cloud OVH Cloud

Compiler Java en natif ?

27 réponses
Avatar
O.L.
Bonjour,

J'aurais besoin de créer des applications "stand-alone" en Java, c'est
à dire en code exécutable natif pour Windows (des .exe, quoi !).
J'aimerais bien savoir quel est le compilateur le plus utilisé par les
développeurs Java pour faire cela ? Est ce MS Visual J++ ? Borland
JBuilder Pro ? Excelsior Jet ? ...
Et quel est le moins cher ? Car si j'en crois ce que j'ai lu, MSVJ++
n'est distribué qu'en groupe avec d'autres logiciels de développement
de Microsoft, à plusieurs centaines d'euros :-/

Merci d'avance,
O.L.

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

10 réponses

1 2 3
Avatar
Sébastien BALLET
"O.L." a écrit dans le message de news:

Pif a exposé le 20/04/2005 :
en effet, si tu utilises des activeX, cela rejoint la remarque précédente
de vincent....

si en java tu mets des activex, tu te moque de l'introspection, de la
portabilité, tu veux pas de la dynamicité de la JVM et tu veux meme pas
de la JVM pour compiler en natif, on peut se demander pourquoi t'as
développé en java... des outils comme Visual C# auraient été plus
adaptés...


D'une part je ne connais pas le C, j'ai essayé de m'y mettre mais bof ...


Le C et le C# sont 2 langages différents

Et puis Visual C# est payant, non ?


Tu peux développer en C# sans rien payer, il suffit d'utiliser le .NET
Framework couplé à un IDE genre csharpdevelop



mais la on sort de ma religion... l'avantage de java, c'est qu'on peut
développer pour windows sans être vendu à windows ! La portabilité,
l'open-source, etc... dès lors tu n'as plus un seul concept fort de java
dans ton application a priori... ;)


Bah l'Open Source reste, par contre la portabilité c'est sûr ... Mais là
je n'ai pas le choix, les ActiveX que j'utilise ne marchent que sous
Windows de toute façon (ils gèrent la 3D).


Pourquoi ne pas être passé par Java3D ???


Avatar
Pif

D'une part je ne connais pas le C, j'ai essayé de m'y mettre mais bof ....


oui, je te comprend, je m'y suis mis, mais j'ai vite fait mon choix... :)

Et puis Visual C# est payant, non ?


pour etre honnete, MS me débecte tellement que je me suis seulement pas
posé la question, mais j'aurais tendance à dire que Visual C# est
payant, et des compilateurs gratuits existent... il existe meme des
plugins pour eclipse, mais entre ce qui existe pour java et un éditeur
coloré, je sais pas ce qui est proposé pour c#...

voici un exemple :
http://www.improve-technologies.com/alpha/esharp/


Bah l'Open Source reste, par contre la portabilité c'est sûr ... Mais là
je n'ai pas le choix, les ActiveX que j'utilise ne marchent que sous
Windows de toute façon (ils gèrent la 3D).


si ton outil ne marche que sous windows et utilise des activex, il reste
fortement dépendant de techno propriétaires... pour ce qui est de la 3D,
y'a dejà des frameworks très bon en java qui gèrent l'opengl et
compagnie ... mais de toute facon, la question n'est pas de redévelopper
tout cela si tu l'as déjà fait...

mais c'est domage de se taper java et ses contraintes pour s'enfermer
dans du MS par la suite et vouloir faire du natif.. ;)


@+
O.L.



Avatar
Pif
pour completer, C# ressemble d'ailleur plus au java qu'au C pour ce que
j'ai compris....






Avatar
vc.spam
O.L. wrote in message news:...
Bonjour,

J'aurais besoin de créer des applications "stand-alone" en Java, c'est
à dire en code exécutable natif pour Windows (des .exe, quoi !).
J'aimerais bien savoir quel est le compilateur le plus utilisé par les
développeurs Java pour faire cela ? Est ce MS Visual J++ ? Borland
JBuilder Pro ? Excelsior Jet ? ...
Et quel est le moins cher ? Car si j'en crois ce que j'ai lu, MSVJ++
n'est distribué qu'en groupe avec d'autres logiciels de développement
de Microsoft, à plusieurs centaines d'euros :-/

Merci d'avance,
O.L.


Salut,

Généralement, la raison pour laquelle on veut du code natif c'est pour
protèger son appli. Parce que même avec un compilateur natif, il te
faudra faire le lien avec les bibliothèques de la JVM que tu utilises.
Tu devras donc les livrer...
Donc, pour la place, c'est pas une super affaire.
Je ne veux pas me meler de ce qui ne me regardes pas, mais si tu
expliquait dans le détail ce que fait ton appli et comment tu la
distribue, ça permettrait peut-être de te proposer une alternative
plus adaptée...

A+

Vincent

Avatar
cho7
Bref, faut pas faire de la compilation pour les gains de perfs...
d'autre part, tu as des install anywhere et autres outils qui permettent
de faire de ton application un bundle java... du coup ton programme
apparait comme un exe qui s'installe, tout marche bien, et la JVM ne
représente alors que moins de 5 Mo... ce qui reste raisonnabme. Il faut
trouver le bon outil...



Mince, ca fait longtemps que j'ai pas touché a ces trucs, moi de mon
temps j'me faisai pas chier à le livrer, ou alors tout embarqué sur un
cd (60Mo ! copié collé du dossier $JAVA_HOME/jre quoi..)
Maintenant je ne fais plus que du j2EE au taf, donc bon je ne tripote
plus trop le jre (même plus du tout), mais ca me turlupine, comment on
fait pour faire tenir le jre sur 5Mo ? le fichier de classes rt.jar en
fait déjà plus de 30 (certes une ptite dizaine compréssé en bz2, ma is ya
tout le reste du jre aussi !)

C'est quoi l'astuce ?


--
cho7
"Plus grosse est la pomme, plus gros est le ver" - cho7, 2005

Avatar
O.L.
cho7 avait soumis l'idée :
Bref, faut pas faire de la compilation pour les gains de perfs...
d'autre part, tu as des install anywhere et autres outils qui permettent
de faire de ton application un bundle java... du coup ton programme
apparait comme un exe qui s'installe, tout marche bien, et la JVM ne
représente alors que moins de 5 Mo... ce qui reste raisonnabme. Il faut
trouver le bon outil...



Mince, ca fait longtemps que j'ai pas touché a ces trucs, moi de mon
temps j'me faisai pas chier à le livrer, ou alors tout embarqué sur un
cd (60Mo ! copié collé du dossier $JAVA_HOME/jre quoi..)
Maintenant je ne fais plus que du j2EE au taf, donc bon je ne tripote
plus trop le jre (même plus du tout), mais ca me turlupine, comment on
fait pour faire tenir le jre sur 5Mo ? le fichier de classes rt.jar en
fait déjà plus de 30 (certes une ptite dizaine compréssé en bz2, mais ya
tout le reste du jre aussi !)

C'est quoi l'astuce ?


Euh ... C'est pas moi qu'a dit que ça tenait sur 5 Mo ! C'est Pif ! :-D

Je crois qu'il y a des trucs qu'on peut enlever de la JRE pour
l'alléger, mais que pour la plus grande partie, Sun oblige à ce qu'on
la distribue avec les programmes ...

@+
O.L.

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com


Avatar
O.L.
Il se trouve que Vince44 a formulé :
O.L. wrote in message
news:...
Bonjour,

J'aurais besoin de créer des applications "stand-alone" en Java, c'est
à dire en code exécutable natif pour Windows (des .exe, quoi !).
J'aimerais bien savoir quel est le compilateur le plus utilisé par les
développeurs Java pour faire cela ? Est ce MS Visual J++ ? Borland
JBuilder Pro ? Excelsior Jet ? ...
Et quel est le moins cher ? Car si j'en crois ce que j'ai lu, MSVJ++
n'est distribué qu'en groupe avec d'autres logiciels de développement
de Microsoft, à plusieurs centaines d'euros :-/

Merci d'avance,
O.L.


Salut,

Généralement, la raison pour laquelle on veut du code natif c'est pour
protèger son appli. Parce que même avec un compilateur natif, il te
faudra faire le lien avec les bibliothèques de la JVM que tu utilises.
Tu devras donc les livrer...


Hein ?? Je croyais qu'un prog en natif était autonome (sauf vis à vis
des DLL) ? :-(

Donc, pour la place, c'est pas une super affaire.
Je ne veux pas me meler de ce qui ne me regardes pas, mais si tu
expliquait dans le détail ce que fait ton appli et comment tu la
distribue, ça permettrait peut-être de te proposer une alternative
plus adaptée...


Alors en fait, mon appli côté client serait une application utilisant
seulement un plugin affichant de la 3D (langage=VRML), en plein écran.
(Ca j'ai déjà réussi à le faire avec Java+SWT).
Pour communiquer avec le serveur, elle aurait donc aussi besoin de
sockets et de threads.
Et si possible, j'aurais besoin de pouvoir afficher par dessus la vue
3D de l'ActiveX, des petites fenêtres d'IE avec des mini pages web
dedans ... (Ca ça ne fonctionne pas correctement avec Java+SWT).

Au niveau distribution, je cherche par principe à minimiser le poids
global du pack à distribuer, car il y a déjà quelques Mo d'OCX. Ah oui,
je n'utiliserai pas d'Install AnyWhere, ce sera un install perso
(compter 175 Ko).
Le but c'est que ça soit moins lourd que si je devais distribuer la JRE
de 30 Mo ...

Voilà ! Si ça peut aider au "diagnostique" ... :-)

Merci d'avance
O.L.

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com


Avatar
David JOURAND
Et si possible, j'aurais besoin de pouvoir afficher par dessus la vue
3D de l'ActiveX, des petites fenêtres d'IE avec des mini pages web
dedans ... (Ca ça ne fonctionne pas correctement avec Java+SWT).

Au niveau distribution, je cherche par principe à minimiser le poids
global du pack à distribuer, car il y a déjà quelques Mo d'OCX.


Java est-il le meilleur langage pour faire ça ?


--
David Jourand

Avatar
O.L.
David JOURAND a émis l'idée suivante :
Et si possible, j'aurais besoin de pouvoir afficher par dessus la vue
3D de l'ActiveX, des petites fenêtres d'IE avec des mini pages web
dedans ... (Ca ça ne fonctionne pas correctement avec Java+SWT).

Au niveau distribution, je cherche par principe à minimiser le poids
global du pack à distribuer, car il y a déjà quelques Mo d'OCX.


Java est-il le meilleur langage pour faire ça ?


Je n'en sais rien !
L'avantage de Java pour moi c'est que je connais déjà, alors que le C
ou C++ ou C#, j'y connais rien et ça m'oblige à apprendre un nouveau
langage qui n'est pas réputé facile ...
Mais je connais aussi un peu VB ...

Qu'en pensez vous ? D'après vous, quel langage devrais-je utiliser ?

Merci pour vos conseils :)
O.L.

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com


Avatar
Kupee
O.L. wrote:
Généralement, la raison pour laquelle on veut du code natif c'est pour
protèger son appli. Parce que même avec un compilateur natif, il te
faudra faire le lien avec les bibliothèques de la JVM que tu utilises.
Tu devras donc les livrer...



Hein ?? Je croyais qu'un prog en natif était autonome (sauf vis à vis
des DLL) ? :-(


Oui mais il s'appuie sur des classes de l'api java ton programme, il
faut donc les livrer aussi. Peut etre qu'il est possible de faire le tri
dedans mais si c'est possible ca risque d'etre très compliqué.


1 2 3