Pregunta

Recientemente comenzamos a desarrollar una aplicación de escritorio Java y la administración solicitó que utilicemos Rich Client Platform.Conozco cuatro para Java, a saber:

  1. Eclipse RCP- enlace www al ecipse rcp,
  2. RCP de Netbean - Sitio web del RCP de Netbeans,
  3. RCP de primavera - cliente rico de primavera
  4. Valquiria RCP - Cliente rico de Valkyrie

¿Alguien tiene alguna experiencia en alguno de estos y, de ser así, cuáles son las fortalezas y debilidades de cada uno?

gracias

¿Fue útil?

Solución

Le recomiendo que eche un vistazo a JSR 296 - no está completa todavía por cualquier tramo, pero creo que golpea el punto dulce para proporcionar cierta funcionalidad básica que realmente necesita en cada aplicación Java GUI, sin forzar vivir en un marco excesivamente complicado.

He utilizado con éxito JSR 296 para crear una aplicación de tamaño medio. Por disposición de la ventana en esta aplicación, utilizamos MyDoggy (muy recomendable). Para la gestión de diseño, utilizamos MiGLayout (Más allá muy recomendable). Para el enlace de datos, se utiliza una forma modificada de JSR 295 (implementamos algo similar a PresentationModel en la parte superior de JSR 295 que utilizamos para nuestra unión GUI). Estoy en el proceso de incorporación de Guice como mecanismo DI pero no he terminado ese esfuerzo (hasta ahora, creo que va a 'jugar bien' con JSR 296 con un pellizco aquí y allí). Veamos ... la persistencia es el gran eslabón que falta aquí - Estoy evaluando actualmente simple para la persistencia XML, pero soy se produzcan problemas con conseguir que funcione con los contenedores DI como Guice. Tengo Betwixt de trabajo, pero las dependencias de Betwixt son enormes, así que estamos buscando algo más aerodinámico.

Las opiniones sobre otras opciones de RCP para Java:

NetBeans: Tengo algunas objeciones filosóficas fundamentales en el enfoque utilizado por NetBeans (demasiado diseño de anti-patrones para mi gusto). Al final, las fuerzas estructurales que hacen que las decisiones de diseño pobres - y es casi imposible de usar si usted no utiliza NetBeans IDE como su (Lo intenté, pero no pude pasar de Eclipse para NB). Es probable que sea sólo yo, pero parece que debería ser posible escribir código para un marco de RCP sin necesidad de utilizar grandes magos complicados y resmas de código y los archivos XML generados automáticamente. He pasado muchas horas la solución de problemas de edad Visual C ++ código generado por Visual Studio que estoy muy recelosos de cualquier marco que no puede ser codificado con la mano.

RCP primavera: La gente en la primavera tienen un buen diseño sólido, pero la documentación es muy, muy débil. Es bastante difícil ponerse al día en el mismo (Pero una vez que lo hace, usted puede conseguir cosas hecho con bastante rapidez).

Eclipse RCP: No ha utilizado Eclipse simplemente debido a la sobrecarga de despliegue (depende de su público objetivo - para nosotros, la implementación de un extra de 50 MB de tiempo de ejecución no funcionó). Sin lugar a dudas Equinox es una cosa hermosa si su aplicación necesita una funcionalidad importante complemento (por supuesto, usted podría funcionar Equinox con JSR 296 también, o utilizar patrones de diseño similar al patrón de pizarra promovido por OSGi).

Otros consejos

INTRO - omitir si sólo interesterd en consecuencia;)
Que estaba desarrollando un editor para un lenguaje de programación muy personalizada del mismo tipo que JSP. En primer lugar he implementado el editor como mi tesis usando NetBeans plataforma . Después de terminar la escuela Tengo un trabajo y que quería que implementan la misma cosa en Eclipse RCP , así que ahora puedo comparar estas dos plataformas por lo menos en las cosas que estaba enfrentando durante este proyecto.

RESULTADO - Si tuviera que elegir entre la plataforma Netbeans y Eclipse RCP, escogería sin ningún género de una plataforma NetBeans . ¿Por qué?
Grandes grabaciones de pantalla, buenos tutoriales, comunidad amable y servicial muy activo, muy bien documentados y el código fuente está escrito muy bien y con buenas convenciones de código. También tiene algunos artilugios interesantes (galletas, de búsqueda). Simplemente se adapte a mí.

Y por qué Eclipse RCP no me conviene?
La documentación es más débil y convenciones y API son sometimes..ehm..too extraño para mí :-) Es bastante horneadas para ver métodos como:

/**
* Returns a description of the cursor position.
*
* @return a description of the cursor position
* @since 2.0
*/
protected String getCursorPosition() {
..
}

Bueno, yo pensaba que deben ser broma :-D ¿Cómo se supone que voy a utilizar este método? O como esto:

/**
* Returns the range of the current selection in coordinates of this viewer's document.
*
* @return a <code>Point</code> with x as the offset and y as the length of the current selection
*/
Point getSelectedRange();

A pesar de que el número y el tipo de atributos Fitts, que no encuentran la estructura de datos ideal para el almacenamiento de objetos Punto rango; -)

Hay un número de theese tales surpises en Eclipse RCP

Demasiado tarde para responder, pero algunos chicos podrían golpear a esta página.

Yo iría por Netbeans RCP, 1) plataforma Netbeans. es bastante maduro y ha evolucionado es un 'fácil de usar' plataforma para el desarrollo de aplicaciones.

2) Es muy fácil para empezar con, mientras que la curva de aprendizaje de RCP eclipse es bastante empinada. Sólo Goto, http://netbeans.org/kb/trails/platform.html , allí se puede tutoriales, vídeos (no ver los 10 mejores videos de api además probar tutoriales antes de leer libros, de esa manera se obtendrá una caída de las cosas de antemano).

3) Libros en netbeans RCP (supongo que hay 2 en netbeans RCP) son uptodate (pequeños cambios sólo que no tendrá problemas con mucho). mientras que el principal libro sobre la RCP no estaba disponible desde hace mucho tiempo (recientemente .que es, mayo de 2010, la nueva edición ha sido puesto en libertad, por lo que es una cosa muy buena para los desarrolladores de Eclipse RCP. No estaba allí cuando yo estaba tratando aprenderlo. me frustro con autores que no publican nuevas ediciones, casi dejando nuevos desarrolladores en estacada. no todo el mundo le gusta leer documentos. no publicar libros actualizados casi equivale a matar la tecnología). Me gustaría ver un libro de textos de libros de cocina para ambas plataformas.

4) Netbeans tiene plena constructor de interfaz gráfica de usuario integrada, que es gran ventaja. Eclipse RCP, ya sea que usted tiene que comprar código de mano o un tercer constructor de interfaz gráfica de usuario del partido.

5) la plataforma Netbeans tiene esta API de búsqueda muy bien para la comunicación intermódulos. Supongo tipos de eclipse utilizan puntos de extensión para este propósito. Pero API de búsqueda es fácil una vez que se obtiene una caída de ella.

6) De todas formas, es una gran decisión de diseño, sobre qué plataforma para elegir. la plataforma NetBeans funciona para mí. Puede que no funcione para usted. Tanto la plataforma requiere esfuerzos, tanto proporcionan maravillosa 'fuera de la caja' características. Prueba de conducción tanto y luego decidir.

Tengo experiencia con los RCP Eclipse y lo recomendaría.

Pros:

  • Componentes - componente / plu-in modelo permite para su reutilización.
  • SWT y JFace que permite buscar la interfaz de usuario
  • nativa
  • enchufables Vistas, editores y Perspectivas hacen diseños fácil y configurable.
  • puntos de extensión de Eclipse hacen que la ampliación y la integración con las API de 3 ª parte y herramientas fáciles.

Contras:

  • curva de aprendizaje

Si elige Eclipse RCP, desafiante conseguir este libro, es invaluble cuando acaba de empezar con el marco: http://www.amazon.com/Eclipse-Rich-Client-Platform-Applications/dp/0321334612

Actualmente estoy desarrollando una aplicación RCP primavera. La documentación es muy débil, eso es seguro, pero los blogs y foros tienen una buena cantidad de información para ponerse en marcha. Una vez que obtienes de crucero, las cosas se mueven bastante rápido y que realmente sólo necesitan aprender Primavera básica si no está familiarizado con el marco. Las integraciones con las bibliotecas de primavera como VLDocking es excelente también.

Creo ricos Spring es grande si su caso de uso es el desarrollo de una aplicación de escritorio Java independiente. Lo que quiero decir con esto es que si usted no necesita distribuir los módulos y hacer actualizaciones en línea, entonces debe cumplir con la mayoría de las necesidades.

Aunque no he utilizado explícitamente cualquiera de ellos, he utilizado porciones de la RCP Eclipse. En concreto, he utilizado el tiempo de ejecución de OSGi de Eclipse (Equinox) y algunas empresas de servicios comunes y no tengo muy satisfechos. OSGi es fantástico trabajar con ellos. Tengo varios amigos en grandes contratos que utilizan Eclipse RCP (más de uso) y alabarlo.

Si mi proyecto no contenía un gran monte de oscilación legado, Eclipse RCP sería mi primera opción. OSGi es tan divertido! (Imagino primavera utiliza también, aunque no lo he comprobado)

Por supuesto, todo depende de la clase de aplicaciones y servicios que desea ofrecer, y el entorno de destino. Pero también puedo recomendar OSGi como plataforma de desarrollo y despliegue. La arquitectura y las especificaciones que subyace están muy bien desarrollados y probados.

Además de la RCP Eclipse que debería echar un vistazo a Apache Felix ( http://felix.apache.org ) y Knopflerfish ( http://www.knopflerfish.org ), que son (más pequeña) de código abierto OSGi realizaciones de marco.

Desde mi perspectiva del usuario final.

He visto más implementaciones en Eclipse que en los otros dos. De hecho, he sé sobre las implementaciones de Netbeans, pero nunca consiguió uno en mis manos.

A partir de la primavera esta es la primera vez que he oído hablar de él.

Si bien mi respuesta es definitivamente una super vista de 10.000 pies, que de alguna manera refleja la preferencia de la industria había tenido sobre el uso de uno u otro.

Además, la diferencia es proporcional al tiempo que la plataforma ha estado disponible. Recuerde Eclipse crear SWT para resolver los problemas de Java Swing tuvimos en 1.3, donde es fue simplemente prohibitely lento.

Netbeans han sido muy beneficiado por las mejoras de JVM y ahora dirige muy muy rápido.

La primavera es todavía joven (en comparación con los otros dos), pero, como siempre, las cosas nuevas aprender de los primeros, lo más probable es que es más fácil de usar.

He aquí un artículo sobre estos dos plataforma Eclipse RCP vs Netbeans RCP. Puede ser útil

http://blogs.oracle.com/geertjan/entry/eclipse_platform_vs_netbeans_platform

Netbeans RCP es excelente. Su recorrido un largo camino en los últimos años. Utiliza una tecnología más robusta ( 'swing') que muchas personas usar y entender. Eclipse RCP (más específicamente SWT) sólo me confunde.

Eclipse RCP proporciona plug-in mecanismo para que pueda añadir nuevas funciones más adelante en el despliegue. También a través del mecanismo de actualización se puede cambiar el sistema sin intervención del usuario. En la fase de desarrollo, Eclipse RCP proporciona un terreno rápido, robusto, con mecanismos de perspectivas, vistas, editores, de mando y de acción. Si su proyecto requiere muchas ventanas diferentes, con diferentes menús y barra de herramientas (y también los menús de contexto personalizado) le sugiero que utilice Eclipse RCP. Sólo comprobamos los videos de la plataforma Netbeans y ejecute el proyecto Helloworld pero parece lento y torpe :) 40 segundos para la puesta en marcha (se puede volver a cargar la aplicación, aunque w / o reinicio.) Vogella.de es una buena colección de tutoriales de Eclipse RCP

También hay generación de interfaz de usuario basada en la reflexión y la personalización.

En lugar de personalizar un IDE para adaptarse a sus necesidades, usted personalizar una interfaz gráfica de usuario generada por defecto. Puede ser interesante para probar un nuevo enfoque.

https://github.com/dotxyteam/ReflectionUI

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top