Desarrollo utilizando Rich Client Platform
RCP es una plataforma tecnológica que nos permite crear aplicaciones Java con una UI muy diferente a las basadas en Swing. Esto se da gracias a que utiliza SWT (http://www.eclipse.org/swt/) como base lo cual permite utilizar los widgets propios del sistema operativo. Además fundamenta su desarrollo sobre plugins, lo cual la hace una plataforma sumamente extensible y flexible. El mejor ejemplo puede darlo el IDE Eclipse (http://www.eclipse.org/) que es en si una aplicación basada en RCP (http://wiki.eclipse.org/index.php/Rich_Client_Platform)
No se hablara mucho sobre los widgets que hay en SWT. Una lista completa se puede encontrar en http://www.eclipse.org/swt/widgets/ con varios ejemplos. Como nota interesante también están los widgets del proyecto Nebula (http://www.eclipse.org/nebula/) que son una extensión de SWT, algunos componentes de este proyecto se graduaran (dejaran de estar en pruebas) y pasaran a formar parte de SWT.
Para hacernos el trabajo mas fácil al programador también esta la librería JFace, que si bien no es una librería grafica nos facilita mucho el trabajo pues contiene clases que nos permitirán aplicar el patrón MVC (http://es.wikipedia.org/wiki/Modelo_Vista_Controlador) a nuestros proyectos y otras clases utilitarias que nos ahorran el trabajo de realizar tareas tediosas.
Con esta introducción solo nos quedaría bajarnos la versión “Europa” del IDE (http://www.eclipse.org) y poner manos a la obra.
- Versión para impresión
- Inicie sesión o regístrese para comentar

Comentarios
Hace unos dias me descarge
Hace unos dias me descarge el nuevo dimm del sri, que es multiplataforma y pesa mas o menos unos 80 megas

me parecio que este utiliza la paltaforma eclipse, pero no pude hacer correr el modulo dimm, lo has visto?
utiliza RCP con el eclipse platform ?
Cuales son las desventajas de utilizar SWT?
Hola,
Hola,
Sobre lo del DIMM no me lo he descargado ... ni si quiera sabia que ya habia algo multiplataforma ... bien por ellos :)
En cuanto a las desventajas, hay que se mas cuidadoso ... bueno, mas que cuidadoso organizado, ya que cada widget que instancias es un enlace a un recurso del sistema operativo, en todo widget hay un metodo dispose() que tiene que se llamado para liberar dicho recurso.
public class HelloWorld {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.setText("HelloWorld");
FillLayout layout = new FillLayout();
layout.type = SWT.VERTICAL;
shell.setLayout(layout);
Label label = new Label(shell, SWT.CENTER);
label.setText("Hello World");
shell.open();
while (!shell.isDisposed())
if (!display.readAndDispatch()) display.sleep();
display.dispose();
}
}
no le hago un dispose al shell porque este se hace automaticamente al cerrar la ventana, tampoco al label porque es parte del shell, pero si se lo hago al display.
No parece ser gran cosa pero cuando quieres hacer cosas mas complejas (este es un ejemplo basico) se te puede ir de la mano si, como ya te dije, no eres organizado.
Tambien los el manejo de hilos te puede dar un poco de dolor de cabezas, ya que solo puedes crear y modificar elementos graficos desde el hilo de UI.
Te podria decir que te puede dar problemas con la portabilidad, pero solo en ciertos widgets. Ojo no estoy diciendo que no es portable, solo que tienes que tener mas cuidado que con swing ... aunque realmente no utilizo mucho swing ;)
En fin, es una tecnologia diferente y mas que nada interesante ... aunque a mi mas me interesa la plataforma Eclipse RCP en si, no tanto SWT.
Gracias por tus comentarios, agradeceria cualquier sugerencia para mejorar este pequeño tutorial.
Saludos
hola, me parece muy bueno el
hola, me parece muy bueno el tutorial, ¿se pueden construir interfaces muy llamativas con este framework
tal como las que se hacen con flash y adobe flex?
las interfaces que te
las interfaces que te permite crear SWT son nativas al SO, si tienes linux los botones que oprimas seran los botones de linux (no asi en swing), yo no he visto una aplicativo utilizando fash/adobe flex asi que no te podria decir ... velo por ti mismo, sigue el tutorial y revisa el producto final.
RCP
Muy buen tutorial, una pregunta, donde puedo encontrar mas informacion acerca de RCP y sobre todo la integracion con base de datos(hibernate)????
Hola, La principal fuente de
Hola,
La principal fuente de documentacion ahora es http://live.eclipse.org/ Un sitio que no solo tiene articulos sobre RCP sino sobre todos los proyectos basados en Eclipse (que no son pocos), ya que la vision del proyecto no es solo desarrollar un IDE solamente, sino darle al programador una plataforma extensible a traves de plugins. En cuanto a la parte de integracion con BBDD, pues te aconsejaria darle una chequeada a los plugins de Data Binding. Creo que te van a gustar.
Gracias por tu comentario.