¿Cuándo usar RCP?

9

Me gusta escribir pequeñas aplicaciones GUI usando Java y Swing, algo así como un cliente para el sitio web social Tumblr

¿Debo usar Eclipse RCP o la plataforma Netbeans?

¿Y qué beneficios obtengo al usar cualquiera sobre el uso de swing / SWT simple?

¿Las aplicaciones RCP requieren más dependencias que las desarrolladas con Swing o SWT?

Mahmoud Hossam
fuente

Respuestas:

6

Deckard tuvo una respuesta bastante buena. Me gustaría agregar que vale la pena considerar cómo se mantendrá este proyecto en el futuro. Considere cuántos de sus compañeros de trabajo (o desarrolladores en general) están familiarizados con Swing et al frente a cuántos están familiarizados con RCP. Mi organización tuvo algunos dolores de cabeza cuando quisimos desempolvar una vieja aplicación RCP. Resulta que la mayoría de las personas involucradas en el diseño del proyecto habían dejado la empresa o se habían mudado a roles no relacionados con el desarrollo. Nuestra experiencia interna era más en Swing, por lo que esto hizo las cosas más difíciles de lo necesario. También teníamos el deseo de integrar partes con una aplicación separada basada en Swing, y nuevamente el hecho de que la aplicación anterior era una aplicación RCP hizo que las cosas fueran difíciles.

No estoy diciendo que no debas crear una aplicación RCP, pero estas son algunas cosas que quizás quieras considerar primero.

Michael McGowan
fuente
7

Esencialmente, cuando usa Swing, debe configurar todo manualmente: define la Ventana, cada área y control, dentro de eso nuevamente define cada control. Para cada control y área que defina manejadores para manejar cambios y acciones del usuario, etc. Debe hacer esto porque nada funcionará a menos que lo defina e implemente explícitamente.

El RCP también permite esto, pero viene con un montón de componentes de nivel superior que hacen muchas de las cosas comunes. Por ejemplo, solo son un par de pasos de configuración para definir una interfaz de documentos múltiples (MDI) o para agregar barras de herramientas con iconos que inician complementos externos cuando hace clic en ellos.

Dado que el RCP es lo que impulsa a Eclipse, los bloques básicos tienden a enfocarse en aplicaciones que tienen necesidades similares a un entorno de desarrollo: edición de texto extensa en todo tipo de ventanas, utilizando todo tipo de menús / barras de herramientas / operaciones sensibles al contexto / etc.

Entonces, si desea crear una pequeña aplicación personalizada con muchas cosas no estándar (como un cliente de Twitter llamativo que tiene todo tipo de controles personalizados o personalizables), no tiene sentido usar RCP. De hecho, arrastrará más de 5 MB de complementos a su aplicación sin ningún beneficio real.

Si desea crear una aplicación que muestre páginas web, requiera un amplio sistema de ayuda, necesite actualizarse automáticamente a través de Internet y ese tipo de funcionalidad de aplicación de escritorio a gran escala, entonces RCP será una excelente opción.

Deckard
fuente
0

Soy un ingeniero profesional de software Java con gran experiencia en Eclipse RCP y Netbeans Platform.

"¿Debo usar Eclipse RCP o la plataforma Netbeans?"

Respuesta: Depende de los siguientes factores:

  • Tu experiencia en Java.
  • El esfuerzo requerido para implementar algo en ambos RCP.
  • La claridad de la documentación de cada RCP.
  • La apariencia preferida que desea proporcionar a sus usuarios finales.

Aquí están los Pros y Contras para cada uno de estos RCP de acuerdo con los factores que mencioné anteriormente:

La plataforma de Netbeans:

Pros:

  • ¡La claridad y organización de la documentación es EXCELENTE! Pero la comunidad activa es pequeña en comparación con la de los desarrolladores de Eclipse RCP.

Contras:

  • Requiere una gran experiencia en el lenguaje Java.
  • Requiere mucho más código para ser escrito en comparación con el Eclipse RCP para hacer lo mismo.
  • La apariencia no es nativa. La plataforma Netbeans se basa en Swing, por lo que obtienes el mismo aspecto y sensación de Java Swing en todas las plataformas de destino.

El Eclipse RCP:

Pros:

  • Requiere solo un buen conocimiento de Java con también un buen conocimiento de la inyección de dependencia (en otras palabras, no se requieren cosas de Kung Fu: P).
  • La apariencia resultante es mucho más nativa que la de Netbean. Esto se debe a que el Eclipse RCP se basa en SWT. (eso es una estafa para mí, solo porque no soy un divertido de SWT, personalmente)

Contras:

  • ¡La claridad y organización de la documentación no es tan buena! Contras.

Mi preferencia personal es la plataforma Netbeans solo porque me gusta tener un control completo de lo que estoy haciendo con mi código, y porque creo que la interfaz de usuario basada en Swing es mucho más estable que el SWT (solía tener alguna IU se bloquea en mi IDE de Eclipse mientras estoy codificando: P)!

"¿Las aplicaciones RCP requieren más dependencias que las desarrolladas con Swing o SWT?"

Respuesta: Las dependencias es lo que hace que estos 2 bebés rueden. De lo contrario, sería innecesario que se les llamara RCP. RCP significa Rich Client Platform, lo que significa que es un ecosistema (un gran conjunto de API) que ayuda a construir aplicaciones "Rich" al proporcionar los medios para hacerlo (a través de API). ;-). Por lo tanto, la respuesta aquí es "¡SÍ, MUCHO MÁS DEPENDENCIAS"!

javase
fuente