Foros del Web » Programación para mayores de 30 ;) » Java »

IDE / Librerías Java

Estas en el tema de IDE / Librerías Java en el foro de Java en Foros del Web. Hola a todos. Tengo la intencion de empezar a aprender JavaFX. Vengo de trabajar con WPF / XAML / MVVM / WCF / LinQ / ...
  #1 (permalink)  
Antiguo 22/04/2013, 11:22
(Desactivado)
 
Fecha de Ingreso: abril-2013
Mensajes: 70
Antigüedad: 11 años
Puntos: 5
IDE / Librerías Java

Hola a todos.

Tengo la intencion de empezar a aprender JavaFX. Vengo de trabajar con WPF / XAML / MVVM / WCF / LinQ / Entity Framework y me interesa la posibilidad de introducir esta tecnología a mi stack para poder hacer aplicaciones que corran en android.

1 - JavaFX corre en android?

2 - Por donde empiezo? Que IDE instalo? que necesito?

3- Por otro lado, siempre que se discute las ventajas de java con respecto a otras tecnologías se habla de que hay "mas librerías". Quisiera saber cuales son algunas de estas librerías.
  #2 (permalink)  
Antiguo 23/04/2013, 02:09
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 7 meses
Puntos: 188
Respuesta: IDE / Librerías Java

1. Oracle tiene previsto implementar una versión open source de javaFX para android en breve. Pero en general el framework de desarrollo para android va por separado del resto y hay que instalarlo aparte.

2. Puedes empezar con eclipse o netbeans, son los IDEs más populares. Netbeans es algo más pesado y consume muchos recursos, pero tiene un modo gráfico que te facilita los desarrollos y es más amigable para el desarrollador nóvel. Eclipse es portable y ligero, y muy muy configurable. Tienes un buscador de plugins que aumentan sus capacidades a unos niveles enormes.

3. Librerías son agrupaciones de clases compiladas comprimidas en ficheros (jar) que se importan al classpath del proyecto que realizas y te permiten añadir funcionalidades específicas. (Por ejemplo la librería iText te permite generar fácilmente ficheros PDF).
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #3 (permalink)  
Antiguo 23/04/2013, 07:35
(Desactivado)
 
Fecha de Ingreso: abril-2013
Mensajes: 70
Antigüedad: 11 años
Puntos: 5
Respuesta: IDE / Librerías Java

Cita:
Iniciado por Fuzzylog Ver Mensaje
1. Oracle tiene previsto implementar una versión open source de javaFX para android en breve. Pero en general el framework de desarrollo para android va por separado del resto y hay que instalarlo aparte.

2. Puedes empezar con eclipse o netbeans, son los IDEs más populares. Netbeans es algo más pesado y consume muchos recursos, pero tiene un modo gráfico que te facilita los desarrollos y es más amigable para el desarrollador nóvel. Eclipse es portable y ligero, y muy muy configurable. Tienes un buscador de plugins que aumentan sus capacidades a unos niveles enormes.

3. Librerías son agrupaciones de clases compiladas comprimidas en ficheros (jar) que se importan al classpath del proyecto que realizas y te permiten añadir funcionalidades específicas. (Por ejemplo la librería iText te permite generar fácilmente ficheros PDF).
1 - O sea que HOY POR HOY JavaFX NO SIRVE PARA ANDROID??

Que asco. los fanboys de java se llenan la boca hablando de que supuestamente es multiplataforma, y me decis que no anda en Android?!?!?

2 - Lo que necesito saber es una lista de cosas a instalar en mi PC. Por lo que entiendo no es tan simple armar un ambiente de desarrollo java como lo es para .Net (instalar Visual Studio y listo)

3 - Mi pregunta va mas orientada a cuales son las librerias que se usan generalmente, ya que (de nuevo) los fanboys de java se llenan la boca diciendo que "java tiene mas librerias", quiero saber cuales son esas librerias de las que tanto hablan. Lo que me mencionas también existe para .Net, y es open source.

http://pdfsharp.codeplex.com/

Con lo cual no veo cual es la ventaja de usar la de java.
  #4 (permalink)  
Antiguo 23/04/2013, 08:18
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 7 meses
Puntos: 188
Respuesta: IDE / Librerías Java

No te entiendo cuando dices esta frase "los fanboys de java se llenan la boca diciendo algo".

Java es un lenguaje de programación y tiene las caracteristicas que tiene. Si aún no se soporta javafx en android es porque las caracteristicas de android requieren un framework más ligero y una forma de programar diferente, y javaFX no se pensó para Android originalmente, y por tanto es necesario adaptarlo o migrarlo.

Por cierto, ahora mismo no puedes programar javaFX para aplicaciones cliente en android, pero sí que puedes acceder desde android a aplicaciones javaFX accesibles por internet.

El ambiente de desarrollo para empezar a programar es muy facil. Instalas java en tu equipo si no lo tienes instalado (hubo una época en que microsoft no lo metía en sus SO hasta que les obligaron, por bloquear a la competencia), luego instalas tu IDE (has de entenderlo, java es libre y no hay un IDE oficial como Visual Estudio) y tras configurar java (Eclipse lo detecta automáticamente si lo tienes instalado creo) ya puedes programar. Otra cosa distinta es que quieras utilizar los distintos frameworks de programación que tiene java, lo que implica descargar códigos externos.

Así que ya ves, en vez de un tochón en el que lo tienes todo ya masticadito (es la ventaja del software propietario aunque ocupa un huevo de espacio por cosas que a lo mejor ni siquiera usas) tienes una base y luego te tienes que currar tú el instalar y configurar lo que necesites.

Y en cuanto a las librerías macho, preguntale a esos fanboys de java de los que tanto hablas, que el resto de mortales no tenemos obligación de saberlas.

Si vienes aquí a trollear y decir que .net es mejor que .java es que poco conoces .net y poco conoces .java. Cada cosa vale para lo que vale, si quieres comodidad y soporte técnico a costa de sacrificar tu libertad y estar supeditado al uso de Windows Server e IIS (de pago) pues usa .Net. Si quieres poder instalar tu aplicación sin importar que el equipo servidor sea Windows o Linux pues entonces tienes java (web/escritorio) o php (web)... y perdonad que me olvide de python y ruby.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #5 (permalink)  
Antiguo 23/04/2013, 08:40
(Desactivado)
 
Fecha de Ingreso: abril-2013
Mensajes: 70
Antigüedad: 11 años
Puntos: 5
Respuesta: IDE / Librerías Java

Cita:
Iniciado por Fuzzylog Ver Mensaje
No te entiendo cuando dices esta frase "los fanboys de java se llenan la boca diciendo algo".

Java es un lenguaje de programación y tiene las caracteristicas que tiene. Si aún no se soporta javafx en android es porque las caracteristicas de android requieren un framework más ligero y una forma de programar diferente, y javaFX no se pensó para Android originalmente, y por tanto es necesario adaptarlo o migrarlo.

Por cierto, ahora mismo no puedes programar javaFX para aplicaciones cliente en android, pero sí que puedes acceder desde android a aplicaciones javaFX accesibles por internet.

El ambiente de desarrollo para empezar a programar es muy facil. Instalas java en tu equipo si no lo tienes instalado (hubo una época en que microsoft no lo metía en sus SO hasta que les obligaron, por bloquear a la competencia), luego instalas tu IDE (has de entenderlo, java es libre y no hay un IDE oficial como Visual Estudio) y tras configurar java (Eclipse lo detecta automáticamente si lo tienes instalado creo) ya puedes programar. Otra cosa distinta es que quieras utilizar los distintos frameworks de programación que tiene java, lo que implica descargar códigos externos.

Así que ya ves, en vez de un tochón en el que lo tienes todo ya masticadito (es la ventaja del software propietario aunque ocupa un huevo de espacio por cosas que a lo mejor ni siquiera usas) tienes una base y luego te tienes que currar tú el instalar y configurar lo que necesites.

Y en cuanto a las librerías macho, preguntale a esos fanboys de java de los que tanto hablas, que el resto de mortales no tenemos obligación de saberlas.

Si vienes aquí a trollear y decir que .net es mejor que .java es que poco conoces .net y poco conoces .java. Cada cosa vale para lo que vale, si quieres comodidad y soporte técnico a costa de sacrificar tu libertad y estar supeditado al uso de Windows Server e IIS (de pago) pues usa .Net. Si quieres poder instalar tu aplicación sin importar que el equipo servidor sea Windows o Linux pues entonces tienes java (web/escritorio) o php (web)... y perdonad que me olvide de python y ruby.
Ok entonces que hago?

JavaFX no me sirve por lo que entiendo de lo que me dices..

Necesito un framework de UI con las siguientes características:

1 - Two Way Data Binding:

Código HTML:
Ver original
  1. <TextBox Text="{Binding LastName}"/>

2 - Resolution Independence

3 - Hardware Acceleration donde sea posible.

4 - Customizabilidad

Algo como CSS para definir estilos
y algo como los DataTemplates y ControlTemplates en XAML.

5 - Que corra en Android, IOS principalmente y opcionalmente en Linux, Windows.

By the way, Yo hago aplicaciones en .Net y rara vez necesito poner un Windows Server. El IIS común que viene con cualquier Windows cliente (XP, 7, 8) soporta hasta 10 conexiones simultáneas.
Con lo cuál si el cliente tiene menos que esa cantidad de PCs ni siquiera necesito un server.

Por otro lado, el día que vea que necesito un server y no hay presupuesto pondré un server Linux con Mono y mis aplicaciones hechas en un lenguaje de primera con un IDE de primera correrán ahí tambien.
  #6 (permalink)  
Antiguo 23/04/2013, 08:52
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 7 meses
Puntos: 188
Respuesta: IDE / Librerías Java

5 - Que corra en Android, IOS principalmente y opcionalmente en Linux, Windows.

Sólo te digo esto. Si quieres una aplicación cliente que corra en android e ios vas a tener que usar dos lenguajes y dos herramientas de desarrollo muy diferentes, java y Objective-C más sus IDEs.

Para android esto te dará una idea de como va: http://www.androidcurso.com/index.ph...riales-android
Para IOS lo siento, no puedo ayudarte.

Y luego si quieres una aplicación que también pueda correr sobre windows y linux, pues java vale, pero ya sería un tercer desarrollo independiente.

Otra cosa es que si es una aplicación web puedas hacer un único desarrollo con javaFX y acceder por un navegador desde cualquier otra plataforma. Si no, lo llevas claro.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #7 (permalink)  
Antiguo 23/04/2013, 08:56
(Desactivado)
 
Fecha de Ingreso: abril-2013
Mensajes: 70
Antigüedad: 11 años
Puntos: 5
Respuesta: IDE / Librerías Java

Cita:
Iniciado por Fuzzylog Ver Mensaje
5 - Que corra en Android, IOS principalmente y opcionalmente en Linux, Windows.

Sólo te digo esto. Si quieres una aplicación cliente que corra en android e ios vas a tener que usar dos lenguajes y dos herramientas de desarrollo muy diferentes, java y Objective-C más sus IDEs.

Para android esto te dará una idea de como va: [url]http://www.androidcurso.com/index.php/recursos-didacticos/tutoriales-android[/url]
Para IOS lo siento, no puedo ayudarte.

Y luego si quieres una aplicación que también pueda correr sobre windows y linux, pues java vale, pero ya sería un tercer desarrollo independiente.

Otra cosa es que si es una aplicación web puedas hacer un único desarrollo con javaFX y acceder por un navegador desde cualquier otra plataforma. Si no, lo llevas claro.
Pero no dicen que java es multiplataforma?? no entiendo!!

No deberia yo poder hacer una aplicacion en java (no web) y que corra en todos estos OS?

Para eso directamente me quedo con HTML5 y uso el motor Razor de ASP.Net MVC que esta basado en T4 y me simplifica enormemente el desarrollo.

Lo malo es que tendré que meter javascript para darle algo de vida, que habiendo trabajado con XAML me parece un gran retroceso al pasado, la verdad.
  #8 (permalink)  
Antiguo 23/04/2013, 09:12
(Desactivado)
 
Fecha de Ingreso: abril-2013
Mensajes: 70
Antigüedad: 11 años
Puntos: 5
Respuesta: IDE / Librerías Java

Cita:
Iniciado por Fuzzylog Ver Mensaje
5 - Que corra en Android, IOS principalmente y opcionalmente en Linux, Windows.

Sólo te digo esto. Si quieres una aplicación cliente que corra en android e ios vas a tener que usar dos lenguajes y dos herramientas de desarrollo muy diferentes, java y Objective-C más sus IDEs.

Para android esto te dará una idea de como va: [url]http://www.androidcurso.com/index.php/recursos-didacticos/tutoriales-android[/url]
Para IOS lo siento, no puedo ayudarte.

Y luego si quieres una aplicación que también pueda correr sobre windows y linux, pues java vale, pero ya sería un tercer desarrollo independiente.

Otra cosa es que si es una aplicación web puedas hacer un único desarrollo con javaFX y acceder por un navegador desde cualquier otra plataforma. Si no, lo llevas claro.
Che, pero aca Xamarin

http://docs.xamarin.com/guides/cross-platform/application_fundamentals/building_cross_platform_applications

Dice que funciona en IOS, en Android y en Windows Phone... como es la cosa?

Esta bien que es un producto pago.... pero como es que los libertadores de java no tienen algo como eso y que sea "libre y gratuito" como siempre hacen alarde??

No entiendo....
  #9 (permalink)  
Antiguo 23/04/2013, 09:18
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 7 meses
Puntos: 188
Respuesta: IDE / Librerías Java

¿Y qué culpa tiene java de que apple no le de soporte para ios?
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #10 (permalink)  
Antiguo 23/04/2013, 09:22
(Desactivado)
 
Fecha de Ingreso: abril-2013
Mensajes: 70
Antigüedad: 11 años
Puntos: 5
Respuesta: IDE / Librerías Java

Cita:
Iniciado por Fuzzylog Ver Mensaje
¿Y qué culpa tiene java de que apple no le de soporte para ios?
No sé... que me importa??

Como es que Xamarin lleva a IOS y a Android algo que es TOTALMENTE ajeno a esas plataformas como C#.... y java no puede??? sigo sin entender....
  #11 (permalink)  
Antiguo 23/04/2013, 09:34
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 7 meses
Puntos: 188
Respuesta: IDE / Librerías Java

Tanto que no entiendes que te las das de superlistillo diciendo que .net puede pq es mejor que java cuando es APPLE quien ha bloqueado java para IOs. (Sin embargo permite .net)

Así que preguntale a los applefanboys por qué pasa eso porque los usuarios de este foro no les corresponde explicártelo ;)
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #12 (permalink)  
Antiguo 23/04/2013, 10:11
(Desactivado)
 
Fecha de Ingreso: abril-2013
Mensajes: 70
Antigüedad: 11 años
Puntos: 5
Respuesta: IDE / Librerías Java

Cita:
Iniciado por Fuzzylog Ver Mensaje
Tanto que no entiendes que te las das de superlistillo diciendo que .net puede pq es mejor que java cuando es APPLE quien ha bloqueado java para IOs. (Sin embargo permite .net)

Así que preguntale a los applefanboys por qué pasa eso porque los usuarios de este foro no les corresponde explicártelo ;)
En primer lugar:

.Net / C# es mejor que java por muchas razones que son puramente técnicas y no solo tirar palabras al viento como "libre" y ese tipo de cosas:

1 - Properties
2 - Eventos
3 - Delegados
4 - Generics (de verdad)
5 - DLR
6 - LinQ !!!!!!!!!!!!!!!!!!!!!!
7 - XAML !!!!!!!!!!!!!!!!!!!!!
8 - Argumentos opcionales en los metodos
9 - Async / Await (soporte multithreading / asincrónico a nivel de lenguaje)
10 - Visual Studio
11 - El keyword "var" (http://stackoverflow.com/a/3443863/643085)

Me podría pasar la tarde enumerando.

En segundo lugar, yo dije Xamarin, no .Net, en cualquier caso al parecer Xamarin está basado en Mono (la versión OSS y Multiplataforma de .Net)

Última edición por HighCore; 23/04/2013 a las 10:23
  #13 (permalink)  
Antiguo 23/04/2013, 10:37
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 7 meses
Puntos: 188
Respuesta: IDE / Librerías Java

Desde mi punto de vista no sabes nada de java, y más bien poco de .Net. La mayoría de las cosas existen (Generics, Hibernate, Properties, Handlers, Listeners, varargs, multithreading, comportamiento asíncrono (con Annotations, la cosa mas fácil del mundo), ... y me pasaría otro día entero enumerando) Otras se desarrollan bajo conceptos diferentes y otras.. como visual estudio, ni siquiera forman parte del lenguaje (Por eso digo que se ve que no entiendes gran cosa).

En segundo lugar Xamarin tiene una plataforma de desarrollo basada en mono. Pero Xamarin es la empresa, no la plataforma. Y si a Apple se le da por bloquear .Net no podrías hacer aplicaciones para IOS con .Net por mucho que te empeñes. Creo que ya no hace falta decir más.

Si solo vienes a este foro a decir que .net es mejor que java ni me molesto en responder, y no entiendo siquiera para que haces ese amago de preguntas porque por lo que veo no tenías ninguna intención de aprender ni de usarlo para desarrollar. Por lo que no esperes más de mi, si te quiere responder otro que lo haga.

Y menos mal que sé que los desarrolladores .net no son de promedio como tú, porque de ser así hasta me daría vergüenza haber desarrollado para .Net.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #14 (permalink)  
Antiguo 23/04/2013, 11:14
(Desactivado)
 
Fecha de Ingreso: abril-2013
Mensajes: 70
Antigüedad: 11 años
Puntos: 5
Respuesta: IDE / Librerías Java

Cita:
Iniciado por Fuzzylog Ver Mensaje
Desde mi punto de vista no sabes nada de java, y más bien poco de .Net. La mayoría de las cosas existen (Generics, Hibernate, Properties, Handlers, Listeners, varargs, multithreading, comportamiento asíncrono (con Annotations, la cosa mas fácil del mundo), ... y me pasaría otro día entero enumerando) Otras se desarrollan bajo conceptos diferentes y otras.. como visual estudio, ni siquiera forman parte del lenguaje (Por eso digo que se ve que no entiendes gran cosa).

En segundo lugar Xamarin tiene una plataforma de desarrollo basada en mono. Pero Xamarin es la empresa, no la plataforma. Y si a Apple se le da por bloquear .Net no podrías hacer aplicaciones para IOS con .Net por mucho que te empeñes. Creo que ya no hace falta decir más.

Si solo vienes a este foro a decir que .net es mejor que java ni me molesto en responder, y no entiendo siquiera para que haces ese amago de preguntas porque por lo que veo no tenías ninguna intención de aprender ni de usarlo para desarrollar. Por lo que no esperes más de mi, si te quiere responder otro que lo haga.

Y menos mal que sé que los desarrolladores .net no son de promedio como tú, porque de ser así hasta me daría vergüenza haber desarrollado para .Net.
Java tiene properties??? En Serio?

C#:

Declaracion:

Código C++:
Ver original
  1. public string LastName {get;set;}

Uso:

Código C++:
Ver original
  1. instance.LastName = "Perez";

Código C++:
Ver original
  1. if (instance.LastName == "Perez")
  2.     //etc...

Java:

Declaracion:

Código C++:
Ver original
  1. private string _lastName;
  2. public string getLastName()
  3. {
  4.     return _lastName;
  5. }
  6.  
  7. public void setLastName(string value)
  8. {
  9.     _lastName = value;
  10. }

Uso:

Código C++:
Ver original
  1. instance.setLastName("perez");

Código C++:
Ver original
  1. if (instance.getLastName() == "Perez")

AJAJAJAJ....

10 lineas de codigo versus 1 sola... que te parece? AAJJAJA

che.... esos para mí no son properties, mas bien parecen métodos... se invocan con () !! AJAJAJAJAJ

Hibernate es un ORM... que tiene ver eso con LinQ??? tenes una mentalidad muy limitada.

LinQ incluye:
- LinQ to Objects
- LinQ to Entities
- LinQ to SQL
- LinQ to XML
- Etc.

Hay estas cosas en Java? Si.... pero cada uno implementado por separado por personas diferentes y con un conjunto de APIs distintas... linda tu idea de "libertad" en donde cada uno hace lo que se le antoja y NADA esta estandarizado.

Los varargs de java son como los paramarrays de C# y no es lo mismo eso que parametros opcionales. No tenes idea de lo que hablas. Otra vez tu lenguaje que se quedo en los 90 no te permite ver la realidad de los lenguajes actuales.

Los generics de java son una mentira.

Podes meter un object en un List<Clase1>. Eso es un asco. en C# los generics son de verdad y no te permiten hacer eso.

Los ActionListenes de java son realmente ridiculos... o sea... para escuchar un evento tenes que crear UNA CLASE???? me estas cargando???

JAJAJJA...

La realidad tecnica es que java es terriblemente inferior a C# / .Net. java estaba por sobre C# en la epoca del .Net Framework 2.0 (2007) pero hoy por hoy la realidad de .Net es muy distinta y java sigue siendo lo mismo de hace 10 o 15 años.

Y si... es obvio que vas a tener argumentos personales contra mi por señalarte una realidad tan dolorosa. Es lamentable que tanta gente se interese y se sienta identificada con un lenguaje / plataforma tan tecnicamente inferior.
La verdad me alegro de no haber ido a la facultad, y de haber aprendido todo por mi cuenta.

Y si... en realidad estaba interesado en programar en Java para Android, pero con JavaFX, ya que por lo que leí es lo único que existe en el mundo java que se puede llegar a asimilar a WPF / XAML.
Necesito un framework de UI que tenga las capacidades que tiene WPF para ser productivo. No puedo pasarme la vida escribiendo boilerplate asqueroso del tipo:

Código C++:
Ver original
  1. this.txtLastName.Text = person.LastName;
y luego:

Código C++:
Ver original
  1. person.LastName = this.txtLastName.Text;

Ahora que me doy cuenta que la historia de multiplataforma de Java es una MENTIRA... mas bien creo que me quedo con HTML5. Al menos hay varios frameworks de Javascript que están empezando a introducir el paradigma MVVM al desarrollo web.

Conclusión:

Sigo esperando que alguien me responda qué puedo utilizar dentro del mundo java que me permita hacer aplicaciones multiplataforma (IOS, Android) con la facilidad y productividad que me dan WPF y XAML.

Última edición por HighCore; 23/04/2013 a las 11:59

Etiquetas: ide, librerías
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:07.