2008-09-09 30 views
17

Estoy trabajando en el diseño y construcción de una aplicación de escritorio. Estoy pensando en usar eclipse o netbeans para la base de esta aplicación. Sin embargo, nunca he desarrollado ninguna de estas plataformas. Personalmente me estoy inclinando por el uso de netbeans porque se parece a que la plataforma es una curva de aprendizaje más fácil. Pero, ¿quería preguntarle a las personas que realmente se basan en estas plataformas antes de cuál es más fácil de usar?Java Framework de aplicación de escritorio

Mi definición personal de easer es el siguiente:

  • fácil para empezar con

  • API consistente y lógico

  • buena documentación

  • fácil de construir y implementar

Muchas gracias,

Josh

Respuesta

6

No puedo decir lo suficiente sobre la plataforma Eclipse RCP. Lo recomendaría para cualquier desarrollo de aplicación de escritorio Java.

Es gratis, tiene excelentes tutoriales y permite el desarrollo multiplataforma de aplicaciones de escritorio enriquecidas que usan herramientas de ventanas nativas, lo que significa que su aplicación se verá original en cualquier plataforma. También tiene una API limpia que se mantiene fuera de tu camino, y hace que la implementación en cualquier plataforma sea muy fácil.

Si su interesado echa un vistazo a este libro: http://www.amazon.com/Eclipse-Rich-Client-Platform-Applications/dp/0321334612

1

he utilizado Eclipse como una base de marco, pero principalmente fue el uso de SWT-- que realmente no usamos gran parte de la RCP.

Realmente depende de lo que esté escribiendo, pero por lo que he aprendido al usar Eclipse, solo es adecuado para escribir una aplicación que implica la edición de datos utilizando varias vistas (como editar código).

Cualquier cosa más aleatoria que la que puede provocar que empiece a empujar el armazón en una dirección en la que no estaba diseñado y provoca un error masivo.

1

Utilizará Swing para desarrollar su aplicación porque cualquier otro marco de ventanas es útil solo si tiene un conocimiento previo o el fondo apropiado.

Puede confiar en http://www.javadocking.com/ para agilizar su aplicación.

Si los requisitos de su aplicación están muy centrados en la interfaz de usuario, tal vez pueda mirar en otra dirección, como Adobe Air.

2
  • Fácil de usar: tengo experiencia en el desarrollo en Eclipse y tengo que decir que no es fácil de entender su modelo de desarrollo. Claro que para cosas básicas tiene algunos asistentes que hacen más fácil, pero para algo un poco más complejo es simplemente difícil. No sé nada de Netbeans, pero escuché que es más fácil.
  • API consistente: Creo que Eclipse gana en este aspecto. Corre sobre OSGI (aunque trae algo de complejidad) y tiene extensiones de complementos para casi todo. Parece ser la plataforma elegida para el desarrollo de complementos, por lo que puedo suponer que es confiable.
  • Documentación: Eclipse gana con diferencia. La ayuda del sitio de eclipse es excelente y la lista de correo tiene un montón de preguntas de los usuarios.
1

RCP tiene una curva de aprendizaje más grande, pero una vez que aprenda los fundamentos del propio IDE de Eclipse apoya la creación de aplicaciones RCP muy bien. Solo he creado un complemento para NetBeans (no para crear una aplicación completa), y la curva de aprendizaje fue menor que para la aplicación RCP. El libro Eclipse Rich Client Platform: Designing, Coding, and Packaging Java(TM) Applications proporciona una introducción detallada para crear aplicaciones RCP.

1

que he hecho un poco de trabajo con ambos, pero sólo las aplicaciones en un número relativamente simples. Ambos parecen tener capacidades aproximadamente iguales. Personalmente prefiero la plataforma Netbeans porque tiene más sentido para mí.

También debería considerar JSR-296, el Swing Application Framework. Proporciona un marco básico para crear Aplicaciones Swing, administrar recursos de aplicaciones, estado, etc., pero sin tanto "equipaje" como Netbeans y Eclipse. Netbeans IDE tiene una serie de herramientas para crear aplicaciones en la SAF. Vea para más información.

Sin saber más acerca de su aplicación, es difícil señalarle las fortalezas/debilidades apropiadas de las dos plataformas.

1

Tengo una tarea similar y también estoy considerando diferentes marcos. Tengo un poco de experiencia con Eclipse (~ 4 meses desarrollando RCP) y ahora con Netbeans (jugando durante un par de días). En mi humilde opinión estos marcos son demasiado complicados. Acabas de depurar en cargadores de plugins específicos de Eclipse tratando de descubrir por qué obtienes una ClassNotFoundException o un NullPointer. La misma historia con NetBeans: de alguna manera, algo lee los archivos de configuración xml y crea una interfaz de usuario a partir de eso, genial, siempre y cuando sigas el tutorial. Y, por supuesto, no puede desarrollar y RCP basado en Eclipse usando algún otro IDE, NB también está muy celoso de su uso (a menos que haga algunos hacks como yo lo hice). Lo que me falta es una forma clara de depurar mis hilos de principal a acción realizada. En cambio, siempre me dicen lo que tengo que hacer para evitar excepciones. Y entonces tengo que mantener los dedos cruzados cada vez que trato de sacar algo nuevo. Y nunca funciona la primera vez. Ahora pensé en las características que necesitaba y busqué proyectos más pequeños que apuntaran a la funcionalidad específica, como la administración de complementos, por ejemplo. Y hay muchos. Simplemente compile una lista de la funcionalidad que necesita y comience a agregar marcos más pequeños integrándolos en su proyecto. Esto también tiene sentido ya que su proyecto debería consumir menos RAM al final.

0

Usaría eclipse RCP cuando realmente necesita una plataforma para construir en la parte superior, no solo "widgetery" como swing o swt. RCP es sólida como una roca, consistente, modular y muy flexible. Una vez que lo dominas, obtienes grandes beneficios. Al ser una plataforma, le proporciona las cosas que más se utilizan: preferencias, configuraciones, actualizaciones automáticas, administración de diseño, creación de marca y cosas por el estilo. Usted construye un producto, no una aplicación. Pero la curva de aprendizaje es bastante pronunciada al principio.

Swing, por otro lado, no es una plataforma, volverá a inventar la rueda escribiendo sus propias cosas que he mencionado anteriormente. Pero sí, swing es más rápido para aprender y comenzar.Creo que se adapta mejor para aplicaciones más pequeñas con una vida útil más corta.

1

Si realmente desea evitar el mantenimiento de la plataforma cruzada, entonces trabaje con Swing. Esto te compra todas las plataformas. RCP requiere bibliotecas nativas para cada plataforma.

Hemos tenido buenas experiencias con Swing.

0

Mire algunas de las aplicaciones de código abierto en http://www.eclipse.org/community/rcp.php antes de abrir que RCP es solo para construir cosas.

+0

Tenga en cuenta que [las respuestas solo de enlace] (http://meta.stackoverflow.com/tags/link-only-answers/info) no se recomiendan, por lo que las respuestas deberían ser el punto final de una búsqueda de una solución (frente a otra escala más de referencias, que tienden a quedar obsoletas en el tiempo). Considere agregar una sinopsis independiente aquí, manteniendo el enlace como referencia. – kleopatra

Cuestiones relacionadas