Para que hacen ejecutables (.exe) con Java ?

Iniciado por Xedrox, 24 Octubre 2010, 00:59 AM

0 Miembros y 1 Visitante están viendo este tema.

Xedrox

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

Blitzkrieg'

Muchos desarrolladores crean ejecutables para cada plataforma, pero en el fondo, es el mismo código.



sapito169

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

Xedrox

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.

Franki

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.


Xedrox

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 ?

joelmanx

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.
proyectos libres que desarrollo, si quieres colaborar, únete y hagamos un buen aporte.

http://guitarragnu.sourceforge.net/ (Software Educativo)
http://evsigmapserverj.sourceforge.net/ ( Software GIS, SIG, Mapserver)

Xedrox

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.

Sauruxum

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

Xedrox

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.