Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Xedrox en 24 Octubre 2010, 00:59 am



Título: Para que hacen ejecutables (.exe) con Java ?
Publicado por: Xedrox en 24 Octubre 2010, 00:59 am
Hola que tal, como todos saben los programas Java corren en una maquina virtual lo que de la ventaja que no importa que sistema operativo tengamos, si tenes una Java Virtual Machine el programa Java se ejecutara sin problemas, pero sabemos que como van a tener que correr en la JVM no van a ser tan rápidos como un programa escrito para código nativo de un sistema operativo. El asunto es que muchos programas que necesitan la JVM vienen con un archivo ejecutable (.exe para windows) por ejemplo Eclipse y JDownloader, lo que lo hace dependiente de la plataforma, que sentido tiene hacer un programa Java y hacerlo dependiente de la plataforma ?

Saludos


Título: Re: Para que hacen ejecutables (.exe) con Java ?
Publicado por: Blitzkrieg' en 24 Octubre 2010, 01:07 am
Muchos desarrolladores crean ejecutables para cada plataforma, pero en el fondo, es el mismo código.


Título: Re: Para que hacen ejecutables (.exe) con Java ?
Publicado por: sapito169 en 24 Octubre 2010, 06:12 am
el desarrollador no borrar su codigo fuente ni sus archivos complilados ni pierde la posibilidad de distribuidir reusarlo ni editarlo simplemente por que crea un nuevo archivo que tenga la extension exe
el desarrollador distribuye el exe y hace lo que quiera con su codigo fuente si quiere lo regala lo bota lo reutiliza pero sigue teniendo el control es mas si quiere saca una nueva version en rpm para linux

los usuarios que no son informaticos les interese un comino el java su jdk su jre su multiplataforma por que simplemente no saben que existe lo unico que quieren es algo que se cumpla con sus requerimientos es por eso que hay versiones en exe para que los no informaticos entiendan que es un ejecutable que solo basta con acer doble clik y magicamente funcione en caso de erro les salte una ventanita que les diga que el programa tiene un requisito y que les ayude a instlarlo


Título: Re: Para que hacen ejecutables (.exe) con Java ?
Publicado por: Xedrox en 24 Octubre 2010, 20:56 pm
Pero si se van a molestar en hacer ejecutables para programas, porque no escriben su programa en algún lenguaje que se pueda compilar con código nativo de los sistemas operativos ?, así generaría un programa mucho mas rápido. Es mi idea, tal vez me equivoque pero no escribiría en Java un programa que se va ejecutar en determinados sistemas operativos, elegiría un lenguaje que pueda usar compiladores para que estén en el código nativo de esas sistemas operativos. Creo que la verdadera ventaja de Java se ve implementada en las aplicaciones Web donde el desarrolador no sabe sobre que plataforma va correr su programa.


Título: Re: Para que hacen ejecutables (.exe) con Java ?
Publicado por: Franki en 24 Octubre 2010, 21:51 pm
El código escrito en Java también puede compilarse en código nativo.

Además el hecho de crear un ejecutable es más que nada para lanzar la aplicación en la JVM. De esta forma el usuario no tiene que comerse la cabeza, simplemente hace un doble click y se abre, al estilo de los demás programas.



Título: Re: Para que hacen ejecutables (.exe) con Java ?
Publicado por: Xedrox en 25 Octubre 2010, 04:28 am
Claro pero creo que no ven mi punto, por ejemplo imaginen el JDownloader un programa usados por muchos y los que conozco tienen el mismo problema que yo tengo, el programa tarda mucho en abrir porque es Java, el que desarrollo esta utilidad, no habría sido mejor que la compile en código nativo para casa sistema operativo ? O hay alguna razón por la que use Java que desconozca ?


Título: Re: Para que hacen ejecutables (.exe) con Java ?
Publicado por: joelmanx en 25 Octubre 2010, 05:36 am
Xedrox, los Exe para aplicaciones java, se lo construyen, en C, o C++ u otros, yo considero que estan mas orientados, al usuario final, te imaginas a un usuario standar, con conocimientos muy limitados, tener que ejecutar un .jar o .bat?, obviamente, que como desarrolladores, debemos buscar, obtener una aplicacion poderosa y que sea facil su uso para el usuario final. por eso se hacen lo exe, y con estos ya podemos hacer un instalador(por ejemplo inno setup), al hacer el exe. como ya dijeron en las anteriores repuestas, no le hacemos dependiente nuestro codigo java, a la plataforma, sino que solo se busca ejecutarlo en dicho S.O huesped.

Saludos, espero que te haya aclarado tu duda.


Título: Re: Para que hacen ejecutables (.exe) con Java ?
Publicado por: Xedrox en 25 Octubre 2010, 06:34 am
Si pero mi duda va mas haya del archivo ejecutable ahora, lo que yo cuestiono es porque hacer un programa en Java si se puede hacer en otro lenguaje y compilarlo en código nativo de los sistemas operativos, serian mucho mas rápidos y eficientes.


Título: Re: Para que hacen ejecutables (.exe) con Java ?
Publicado por: Sauruxum en 25 Octubre 2010, 08:46 am
Te hablo no en base a mi conocimiento, hago solo una hipotesis:
Seria lo mismo que preguntar "porque tu lo haces en perl y yo en python?"
Supongo que sera algo parecido. Tanto java como C++ con lenguajes usados en la POO, asi que creo que sera cuestion de librerias, o facilidad de escritura, o alguna cierta flexibilidad en el desarrollo, lo que implica, como tu dices, un ejecutable mas lento.

Espero que alguno confirme mi hipotesis.

Saludos


Título: Re: Para que hacen ejecutables (.exe) con Java ?
Publicado por: Xedrox en 25 Octubre 2010, 14:34 pm
Yo pensé lo mismo Sauruxum pero casi la misma sintaxis,facilidad de escritura,clases equivalente,etc tiene C/C++ con el cual se podrían hacer programas bastantes rápidos o en .NET y hay varias formas de correr y compilar programas escritos en esos lenguajes en distintos sistemas operativos.


Título: Re: Para que hacen ejecutables (.exe) con Java ?
Publicado por: sapito169 en 25 Octubre 2010, 21:55 pm
Si pero mi duda va mas haya del archivo ejecutable ahora, lo que yo cuestiono es porque hacer un programa en Java si se puede hacer en otro lenguaje y compilarlo en código nativo de los sistemas operativos, serian mucho mas rápidos y eficientes.

por que tendrían que hacer absolutamente todo desde el principio para cada sistema operativo
si me explicas como pasar de código fuente a ejecutable nativo sin reescribir nada(con todas las ventajas que trae) :o  jamas vuelvo a programar en java espeto que no encuentre ni documentación o que sea una solución propietaria muy cara


Título: Re: Para que hacen ejecutables (.exe) con Java ?
Publicado por: Xedrox en 26 Octubre 2010, 02:04 am
Si pero mi duda va mas haya del archivo ejecutable ahora, lo que yo cuestiono es porque hacer un programa en Java si se puede hacer en otro lenguaje y compilarlo en código nativo de los sistemas operativos, serian mucho mas rápidos y eficientes.

por que tendrían que hacer absolutamente todo desde el principio para cada sistema operativo
si me explicas como pasar de código fuente a ejecutable nativo sin reescribir nada(con todas las ventajas que trae) :o  jamas vuelvo a programar en java espeto que no encuentre ni documentación o que sea una solución propietaria muy cara


Los programas que escribís en Java, no podes hacer uno equivalente y potable (en el sentido de las instrucciones que pones) en C/C++ ? Compilas ese código de C/C++ con un compilador distinto para cada sistema operativo.


Título: Re: Para que hacen ejecutables (.exe) con Java ?
Publicado por: Blitzkrieg' en 26 Octubre 2010, 04:46 am
Muchos crean ejecutables para cada plataforma para facilidad en la instalación (como por ejemplo JDownloader).


Título: Re: Para que hacen ejecutables (.exe) con Java ?
Publicado por: Xedrox en 26 Octubre 2010, 15:56 pm
Muchos crean ejecutables para cada plataforma para facilidad en la instalación (como por ejemplo JDownloader).

La discusión se fue por otro camino. Lee los mensajes anteriores por favor, saludos.