I recomiendo que eche un vistazo a JSR 296, que aún no está completo de ninguna manera, pero creo que llega al punto óptimo de proporcionar cierta funcionalidad básica que usted realmente, real Necesito en cada aplicación Java GUI, sin forzarlo a vivir en un marco demasiado complicado.
He utilizado JSR 296 con éxito para crear una aplicación de tamaño mediano. Para el diseño de la ventana en esta aplicación, utilizamos MyDoggy (muy recomendado). Para la administración del diseño, utilizamos MiGLayout (Más allá de altamente recomendado). Para el enlace de datos, utilizamos una forma modificada de JSR 295 (implementamos algo similar a PresentationModel en la parte superior de JSR 295 que utilizamos para nuestro enlace GUI). Estoy en el proceso de incorporar a Guice como un mecanismo de DI, pero no he terminado ese esfuerzo (hasta ahora, creo que 'jugará bien' con JSR 296 con un ajuste aquí y allá). Veamos ... la persistencia es el gran eslabón perdido aquí. Actualmente estoy evaluando Simple para persistencia XML, pero estoy teniendo problemas para hacerlo funcionar con contenedores DI como Guice. Tengo Betwixt funcionando, pero las dependencias de Betwixt son enormes, por lo que estamos buscando algo más simplificado.
Las opiniones sobre otras opciones de RCP para Java:
NetBeans: que tienen algunas objeciones filosóficas fundamentales en el enfoque utilizado por NetBeans (demasiado diseño de anti-patrones para mi gusto). Al final, el marco te obliga a tomar malas decisiones de diseño, y es casi imposible de usar si no usas NetBeans como tu IDE (lo intenté, pero no pude cambiar de Eclipse a NB). Probablemente sea solo yo, pero parece que debería ser posible escribir código para un marco RCP sin utilizar grandes asistentes complicados y resmas de código autogenerado y archivos XML. He pasado tantas horas solucionando el viejo código de Visual C++ generado por Visual Studio que estoy extremadamente receloso de cualquier marco que no pueda codificarse a mano.
Spring RCP: La gente de Spring tiene un buen diseño sólido, pero la documentación es realmente muy débil. Es bastante difícil ponerse al día con eso (pero una vez que lo haces, puedes hacer las cosas bastante rápido).
Eclipse RCP: No he usado Eclipse solo por la sobrecarga de implementación (depende de su público objetivo - para nosotros, implementar 50 MB adicionales de tiempo de ejecución simplemente no funcionó). Sin dudas, Equinox es algo hermoso si su aplicación necesita una funcionalidad significativa de complementos (por supuesto, también podría ejecutar Equinox con JSR 296, o usar patrones de diseño similares al patrón de Pizarra promovido por OSGi).
Parece que Spring RCP está muerto ahora. – givanse
Esta es una respuesta muy tardía, pero: actualmente estamos desarrollando una aplicación de red rbp de cinco años de antigüedad. Pudimos migrarlo completamente a maven. Con unos pocos pasos uno puede desarrollar y depurar la aplicación con IntelliJ IDEA, que le permite tener una plataforma rcp madura además de un IDE excelente. – gorefest