programa para desarrollar en Java

hola, estoy ahora que he acabado la selectividad pensando en ponerme a trastear un poco con java,sobretodo para hacer aplicaciones multiplataforma, que no applets, y me ha entrado la duda si existe algun programa GPL para programar en java y que tenga por lo menos algo visual, (no me vale emacs o vim, que ya os veo) por lo menos para hacer las GUI que no me tenga que matar a coordenadas...ignoro si existira algo asi o no..............

que me decis?

PD: si uso un programa GPL para hacer programas, despues esos programas que haga en java los tendre que licenciar como gpl? no verdad? y si utilizo una clase lgpl(quer no modificaria), tendria que distribuir todo el programa en lgpl ? no verdad?
Lo que tu quieres es una IDE, no?
Pues que yo conozca, sin haber programado nada en java, tienes dos: eclipse y netbeans, la primera CPL
y la segunda GPL en parte.
En cuanto a lo de las licencias, no me atrevo a decirte nada, porque no lo se a ciencia cierta :P

Saludos
keo01 escribió:PD: si uso un programa GPL para hacer programas, despues esos programas que haga en java los tendre que licenciar como gpl? no verdad? y si utilizo una clase lgpl(quer no modificaria), tendria que distribuir todo el programa en lgpl ? no verdad?

Como dice Raharu de lo que hablas es de IDE de JAVA, y los que yo recomiendo son Eclipse y NetBeans.

¿Cual de los dos usar?. Yo sé cual usar, pero en tu caso no es una respuesta fácil. Eclipse es un IDE cojonudo, y personalmente me gusta más que NetBeans, pero no tiene lo de la "programación visual" que comentas. Por poder se le puede poner, pero es un plugin y yo la única vez que lo instalé me cargué el Eclipse. De hecho ese plugin en gentoo está marcado como "masked" (inestable).

NetBeans me gusta menos, aunque es muy potente tambien. Tiene lo de la "programacion visual" pero tampoco es que sea ninguna maravilla. Cuando haces ventanas con él genera código que tú no puedes modificar desde dentro del IDE, y si lo cambias desde fuera y lo cargas reza para que te muestre bien los cambios. Aparte, las ventanas que hagas con NetBeans no tienen luego porque ser iguales (en mi caso, a veces ni parecidas) a las que salgan una vez hayas compilado.

Si quieres mi consejo, no te ciñas a un IDE concreto. Lo que te voy a recomendar te va a parecer cutre, pero como ya digo es un consejo:

1- Instalate el JDK (hice un tuto para instalarlo en linux con netbeans y eclipse)
2- Consigue un manual de JAVA (si es un libro mejor, pero tampoco te pases y no pilles el "thinking in java" ;))
3- Usa el kate o el kwrite (remarcan sintaxis java) para hacer tus primeros programas ("hola mundo", "la calculadora", etc) sin pensar en GUI, y compilalos y ejecutalos directamente desde la consola.

Ya una vez que veas que las cosas por consola te salen bien y que mas o menos estas algo suelto pasate al IDE que prefieras y preocupate solo de escibir codigo, el IDE ya se encargara de compilar y ejecutar por ti (pero al menos ya sabes como funciona y has programado java "a pelo").

Otro consejo es que no desesperes ante el primer problema que veas. Consulta el API y dale muchas vueltas. El del JDK 1.4.2 es este:


http://java.sun.com/j2se/1.4.2/docs/api/


Otra cosa. Que hagas el programa con un IDE no quiere decir que tus programas tengan que seguir la licencia del IDE, es decir, que puedes usar Eclipse pero hacer que tus programas sean software propietario perfectamente. Otra cosa es que quieras hacer el "keoJAVA", que fuese un IDE de JAVA que fuese una copia del Eclipse cambiando 4 cosas, en ese caso el keoJAVA si tendria que ser GPL.

Venga, un saludo
keo01 escribió:sobretodo para hacer aplicaciones multiplataforma, que no applets


Para eso te hace falta CORBA, que es mas eficiente en C++.
Si lo quieres hacer en Java empieza por buscarte un buen ORB.
Respecto a lo del IDE, yo uso eclipse. Para windows existen Jbuilder.... que son de tipo 'visual' pero para linux ni idea.

Saludos
Riot escribió:Para eso te hace falta CORBA, que es mas eficiente en C++.
Si lo quieres hacer en Java empieza por buscarte un buen ORB.

Yo creo que con lo de multiplataforma se refiere a WORA (write once, run anywhere) en vez de a hacer aplicaciones distribuidas ;)

Un saludo
RaUleX escribió:Yo creo que con lo de multiplataforma se refiere a WORA (write once, run anywhere) en vez de a hacer aplicaciones distribuidas ;)

Un saludo


si, efectivamente seria escribir el programa que tengo en mente solo una vez, y poder rularlo en windows y linux.

pero tengo una duda, en el desarrollo comercial de aplicaciones en java, como se hacen las GUI? es que no me imagino que sea mediante cordenadas por que seria muy pesado......

Por cierto, si sabeis algun programa que aunque no sea libre sea freeware (vamos que no tubiese que usar un soft pirata) para windows lo consideraria un mal menor, si ese programa fuese facil de usar y demas.... A grandes rasgos pretendo realizar un conjunto basado en un soft "cliente" que tendria que aceder al registro de windows y lanzar programas, y por otro lado un "servidor" que tendria que comunicarse con el cliente y manejar bases de datos. pongo cliente y servidor entre comillas por que mas bien son dos programas independientes que se comunican entre si. Ademas, todo esto tiene que ser graficamente.

Por supuesto , parto de cero, pero ganas y tiempo me sobran... ya he localizado un manual de iniciacion a java bastante completo..
keo01 escribió:pero tengo una duda, en el desarrollo comercial de aplicaciones en java, como se hacen las GUI? es que no me imagino que sea mediante cordenadas por que seria muy pesado......

GUI + java ... mmmm ... combinacion peligrosa

En java hay dos maneras de hacer GUI: con AWT y con swing. Yo te recomiendo la segunda, la primera es un poco bastante ... bueno ... intratable.

Las aplicaciones que habras visto escritas con java seguramente esten escritas con swing, que tampoco te creas que es ninguna maravilla, pero que para salir del paso no estan mal.

Te aviso: no te creas que java + "desarrollo grafico" = VB. No existe un IDE java que "haga ventanas" como VB (al menos yo no lo conzco), y las ventanas de java no son ninguna maravilla.

Lo mejor, en mi opinión, es hacer las ventanas mediante coordenadas a pelo. Al principio es la ultima alternativa que se te ocurre, pero es que sino no logro dejar las cosas como a mi me gusta :D
keo01 escribió:A grandes rasgos pretendo realizar un conjunto basado en un soft "cliente" que tendria que aceder al registro de windows y lanzar programas, y por otro lado un "servidor" que tendria que comunicarse con el cliente y manejar bases de datos. pongo cliente y servidor entre comillas por que mas bien son dos programas independientes que se comunican entre si. Ademas, todo esto tiene que ser graficamente.

Hey hey, no te columpies, ¿pero tú no querias aprender java desde lo más básico? [+risas] [+risas]. ¡Empieza con el "hola mundo" como todo hijo de vecino hombre!

Un saludo
RaUleX escribió:
Hey hey, no te columpies, ¿pero tú no querias aprender java desde lo más básico? [+risas] [+risas]. ¡Empieza con el "hola mundo" como todo hijo de vecino hombre!

Un saludo


yo? desde lo mas basico? k vaaaa, no se me ha pasado por la cabeza! XD

la verdad es que ya hice mis pinitos ( muy muy basicos) con java hara cinco o seis años, pero de hacer alguna applet elemental ( sumar y esas cosas) no pase, nunca consegui hacer una aplicacion suelta, y la verdad es que tenia autenticas peleas para dejar las cajas de texto donde queria y demas, con las cordenadas. En aquel momento utilizaba un editor que resaltava el textos solo, se llamava textpad, y bueno, al final acabe abandonandolo.

Pero ahora con la cosa de internet y con un proyecto en mente, pos como que es mas facil ponerte y dejarte los cuernos una y otra vez hasta que consigues lo que quieres....... ya se que no es lo mismo java que Vb, que este ultimo ya lo maneje el año pasado en el insti.

Sobre el aspecto de las GUI de java, pues que quieres, mas feas son las tcl/tk y mira el amsn cada vez tiene mejor aspecto! O por ejemplo el Azureus ese tampoco parece muy feo y esta hecho en java....

Supongo que manejar las estructuras de control sera parecido al Vb, quizas lo que mas me desconcierta que todavia no lo he visto es eso de orientado a objetos, y no a eventos, que no se muy bien como va, pero por lo demas, no creo que tenga muchos problemas si le dedico un tiempo a practicar con java.

Realmente no entiendo como se puede hacer una interfaz complicada ( p. ej la del azureus si no es visualmente. Lo de autocompletar y demas son poyadas secundarias, con un sistema que ponga el solito las coordenadas de cada elemento del gui yo ya estaria contento XD

PD: quizas se me este yendo la olla mucho con el tema este de java, pero me gustaria hacer ese programa de verdad......... Si veo que es mu chungo pos me paso a aprender php+mysql que tambien tengo alguna que otra idea....
No os olvideis de incluir SWT entre las posibilidades de GUI bajo Java. Creo que será un punto muy bueno a favor de Java si aparece algún IDE que incluya un diseñador visual. Los resultados que se obtienen con él son espectaculares.

A grandes rasgos pretendo realizar un conjunto basado en un soft "cliente" que tendria que aceder al registro de windows y lanzar programas, y por otro lado un "servidor" que tendria que comunicarse con el cliente y manejar bases de datos. pongo cliente y servidor entre comillas por que mas bien son dos programas independientes que se comunican entre si. Ademas, todo esto tiene que ser graficamente.


Sinceramente. Ponte objetivos más humildes. ;) ;)

P.D. : Por cierto, swing es tan feo como querais que lo sea. El tema metal es horroroso pero: http://liquidlnf.sourceforge.net/

Edito (¿Que haces despierto a estas horas? :D :D :D ) :

Realmente no entiendo como se puede hacer una interfaz complicada ( p. ej la del azureus si no es visualmente.


Me da toda la impresion de que está hecha con containers de toda la vida. Es la manera tradicional de haer interfaces en Java. Además tiene la ventaja de que las ventanas se redimensionan de una manera bastante agradable.

Por cierto, Azureus usa SWT ;) ;)
pues a estas horas estoy leyendo un manual de java que parece muy bueno, sobre todo para pillar los conceptos basicos, los explica de forma muy clara ( http://www.geocities.com/javayp/pj/mprincipal.htm )...

lo de los containers esos , es eso que dividia la ventana en cuatro partes, etc?

que es SWT?
SWT es un toolkit de desarrollo de interfaces gráficas desarrollado por IBM para Eclipse (creo, no se si estoy diciendo una burrada).

Vamos, es lo mismo que swing o AWT pero sin ser swing o AWT :D :D :D :D Tiene la ventaja de que cada implementacion particular utiliza llamadas a la GUI nativa de cada sistema por lo que es un cojón de rápido sin perder para nada la compatibilidad ni tener que preocuparte por el look & feel porque cada usuario tendra el que le corresponda. Además es infinitamente más rápido que swing o AWT

Los contenedores son eso precisamente, un patron de decisión que, dada una lista de widgets, los coloca en su posición correta en el diálogo. Si programan con SWT probablemente describiesen la interfaz "a pelo" porque las IDE para SWT aun estan muy pero que muy verdes. De todos modos no es nada complicado una vez que está todo (bien) diseñado.
Pues yo te doy algunso ocnsejitos a ver si te sirven.

1.- Para windows puedes utilizar el JBuilder, en mi opinion es bastante bueno, no es software libre, pero tiene una versión de prueba, que creo que no caduca está limitada, pero la limitación es en generación de documentación y diagramas de clase etc etc. Con el puedes olvidarte de las coordenadas, eso si te genera mucho código basura, yo la verdad que lo hago mediante coordenadas, asi coloco las cosas donde quiero, hazme caso cuando lo hayas hecho unas cuantas veces te acostumbras y la verdad que da mas posibilidades que lso layouts no nulos que solo sirven en contadas ocasiones. pasate por borland.es para el jbuilder

2.- Utiliza swing, es bastante mas "bonita" que awt y te proporciona mas utilidades y mas componentes

3.- No desesperes con la API al principio no se encuentra nada, pro lo menos en mi caso y luego es algo imprescindible.

4.- SObre lso libros de Java yo tengo el oficial de Sun (Los dos volumenes) y que quieres que te diga, es como tener la API en Español, y bien explicada, son la leche lso libros, eso si cuestan un huevo, por si lso ves en una biblioteca son de prentice hall

5.- Y por ultimo si haces un textaArea con scroll y en el le metes datos desde una archivo y consigues que el scroll se quede arriba y no abajo despues de introducir el texto, dime como lo has hecho que es mi asignatura pendiente :) :)

Venga un saludo hasta otra
SickBoy escribió:No os olvideis de incluir SWT entre las posibilidades de GUI bajo Java. Creo que será un punto muy bueno a favor de Java si aparece algún IDE que incluya un diseñador visual. Los resultados que se obtienen con él son espectaculares.

Tambien se puede hacer funcionar java con GTK

http://www.informatik.uos.de/elmar/projects/java-gtk/
http://java-gnome.sourceforge.net/index.es.html

A ver si algún año de estos me lo miro más despacio, porque hacer aplicaciones GTK con java es algo que sinceramente me apetece hace tiempo.

Un saludo
daniel_5 escribió:

4.- SObre lso libros de Java yo tengo el oficial de Sun (Los dos volumenes) y que quieres que te diga, es como tener la API en Español, y bien explicada, son la leche lso libros, eso si cuestan un huevo, por si lso ves en una biblioteca son de prentice hall


Venga un saludo hasta otra


de momento ya he conseguido la colaboraciond e un familiar que antes trabajaba desarrollando en java, que tambien queria hacer el mismo tipo de programa. Por otra parte, tengo 20 mil pelas de un premio para gastar en el fnac, asi que ire y mirare esos libros a ver que tal estan...
Si haces tu aplicacion en Java con SWT puedes hacer que se muestre a través de GTK bajo linux si quieres.con el consiguiente aumento de rendimiento.

http://linux.ubiobio.cl/documentacion/franco_catrin/linux-multiplatform/x109.html


A titulo personal diré que la IDE más completa para Java que he visto es Eclipse lo que pasa es que así como viene "a pelo" es un poquillo árida.

Para esar el JBuilder free usas el NetBeans que es libre y ya te curas en salud. Por la licencia del JBuilder creo que vas a tener algún problema dependiendo de cómo distribuyas la aplicación.

De todos modos con su sistema de plugins puedes meterle un editor UML, editor de GUi y muchas chorradillas más.
SickBoy escribió:Si haces tu aplicacion en Java con SWT puedes hacer que se muestre a través de GTK bajo linux si quieres.con el consiguiente aumento de rendimiento.

http://linux.ubiobio.cl/documentacion/franco_catrin/linux-multiplatform/x109.html

Me viene de puta madre el vínculo [oki], mil gracias
cual es el plugin para el editor visual de eclipse? es k solo he encontrado uno pero es de pago....
Pillas un mirror, yo he cogido este porque es el más cercano a mi (y nunca mejor dicho :P):

http://gul.uc3m.es/eclipse/downloads/


"Looking for Tools PMC downloads page then look here."

http://www.eclipse.org/tools/downloads.html


Aqui buscamos el "Visual Editor (VE)"

http://download.eclipse.org/tools/ve/downloads/index.php


Y las FAQ aquí:

http://dev.eclipse.org/viewcvs/indextools.cgi/%7Echeckout%7E/vep-home/WebContent/faq.html


Un saludo
ya por ultimo, decirme si existe traduccion al castellano de eclipse, y prometo no daros mas la lata.(por hoy XD9.... en la web no he visto nada....


a ver si consigo hacer rular el visual editor, parece que tengo un conflicto de versiones...
ok muchas gracias, no se como coño habre mirado pero no lo habia visto..... mu bueno el manual, por cierto.
20 respuestas