0

SWT : El Standard Widget Toolkit

Posted by machavez on septiembre 9, 2012 in Uncategorized |

El Standard Widget Toolkit (SWT) es una nueva biblioteca de clases para crear interfaces gráficas de usuario (GUI) en Java. Creado como parte del proyecto Eclipse, SWT permite a los desarrolladores crear aplicaciones eficaces y portátiles que acceden directamente a las instalaciones de la interfaz de usuario de los sistemas operativos que se ejecuta en el. Esta tecnología revolucionaria hace posible la creación de aplicaciones basadas en Java que son indistinguibles de las aplicaciones nativas de una plataforma.

Recupera la idea original de la biblioteca AWT de utilizar componentes nativos, con lo que adopta un estilo más consistente en todas las plataformas, pero evita caer en las limitaciones de ésta.

La biblioteca swing, por otro lado, está codificada enteramente en Java y frecuentemente se le acusa de no brindar una experiencia idéntica a la de una aplicación nativa. Sin embargo, el precio a pagar por esa mejora es la dependencia (a nivel de aspecto visual y no de interfaz de programación) de la aplicación resultante del sistema operativo sobre el cual se ejecuta. La interfaz del workbench de eclipse también depende de una capa intermedia de interfaz  gráfica de usuario (GUI) llamada JFace que simplifica la construcción de aplicaciones basadas en SWT.

 

JFace es un conjunto de widgets para realizar interfaces de usuario construido sobre SWT. Fue desarrollado por IBMpara facilitar la construcción del entorno de desarrollo de eclipse, pero su uso no está limitado a éste.

JFace proporciona una serie de construcciones muy frecuentes a la hora de desarrollar interfaces gráficas de usuario, tales como cuadros de diálogo, evitando al programador la tediosa tarea de lidiar manualmente con los widgets de SWT.

Ventajas  y Desventajas

SWT tiene la desventaja de que requiere el código nativo para ser instalado en cada plataforma con el fin de que se ejecute.

Cada  plataforma  tiene su propia versión de swt.jar así como al menos un objeto nativo compartida.

En Windows esto es una dll., Si este código nativo no está disponible para un sistema operativo, entonces no puede ser  utilizado SWT en esa plataforma  La buena noticia es que los componentes SWT nativas han sido escritos para la mayoría de los sistemas operativos.

Su principal ventaja es que es rápido. En una simple comparación entre IDEs, es evidente que las operaciones gráficas en Eclipse son más rápidos que los IDE escrito en Swing.

Swing ha sido también criticado por su uso de memoria. SWT utiliza considerablemente menos memoria  que swing

Arquitectura Comparación con AWT / Swing

El original de Java AWT fue implementado por tener los widgets escritos en Java donde solamente los widgets que estaban disponibles en todas las plataformas soportadas fueron proporcionados. Esto significaba que incluyó componentes AWT de bajo nivel, tales como listas, texto y botones, pero no incluyó los árboles entre otros componentes.

Se resolvió  este problema al proporcionar versiones emuladas de todo los componentes de alto nivel (como los árboles, tablas y texto). El kit de herramientas Swing utiliza un pre-creado de imágenes y usa ciertas   operaciones para construir sus componentes propios. Esto resuelve el problema de la funcionalidad, pero las aplicaciones desarrolladas en Swing se destacan por ser diferente. También significó que  las aplicaciones  hechas en Swing corren  más lento que sus contrapartes nativas. Esto hace que sea difícil construir aplicaciones que compitan con  otras desarrolladas para una determinada plataforma.

SWT trata de hacer lo mejor de  Swing y AWT. Se define una API portable común que se proporciona en todas las plataformas. Siempre que sea posible, la API en cada plataforma es implementada con widgets nativos. Esto permite que el conjunto de herramientas pueda reflejar inmediatamente cualquier cambio en el  GUI , mientras que el mantiene un modelo  constante de programación para todas las plataformas.

SWT proporciona un widget de árbol emulado en Motif 1.2, que es API compatible con la aplicación nativa de Windows.

• Las funciones que no están disponibles en todas las plataformas, pero que  no se usan mucho puede omitirse de SWT. Por ejemplo, Windows proporciona un widget que implementa un calendario, pero esto no se proporciona en SWT.

• Las características que son específicos de una plataforma, tales como la integración ActiveX, son sólo proporcionados en la plataforma correspondiente. Características específicas de la plataforma se separan en paquetes separados que denotan claramente el nombre de la plataforma en el paquete.

SWT - The Standard Widget Toolkit Comparación de funciones de SWT con Swing

En general, hay menos clases de widget swt que en Swing. Esto se debe a que en función se han incluido  menos clases, resultando una API con menor jerarquía que Swing.

Ejemplo, en lugar de un JButton, JCheckBox y JRadioButton sólo hay una clase Button con un parámetro int en el constructor para determinar que el botón se verá así.

El siguiente fragmento de código es una programa sencillo que muestra el texto Hola Mundo:

import org.eclipse.swt.SWT;

import org.eclipse.swt.layout.FillLayout;

import org.eclipse.swt.widgets.Display;

import org.eclipse.swt.widgets.Label;

import org.eclipse.swt.widgets.Shell;

public class Helloword {

public static void main(String[] args) {

Display display = new Display();

Shell shell = new Shell(display);

shell.setText("Hello World");

shell.setBounds(100, 100, 200, 200);

shell.setLayout(new FillLayout());

Label label = new Label(shell, SWT.CENTER);

Label.setText("Hola Mundo");

shell.open();

while (!shell.isDisposed()) {

if (!display.readAndDispatch()) display.sleep();

}

display.dispose();

}

}

En conclusión esta librería swt.jar es una muy opción al momento de hacer aplicaciones debido a sus características y las ventajas que posee en comparación de swing aunque será decisión de cada programador  escoger con quien trabajar al momento de crear sus aplicaciones,  la podemos encontrar y descargar según nuestro sistema operativo en www.java2s.com/Code/Jar/s/Downloadswt37M7win32x8664jar.htm.

Este es un link de un Documento PDF que explica con mas detalles como crear aplicaciones con swt

http://www.ctr.unican.es/asignaturas/MC_OO/Doc/Master_0910_SWT.pdf

Referencias

El Plug-in: Guía de plataformas para desarrolladores:

http://dev.eclipse.org:8080/help/help.jsp

SWT: El Widget Toolkit Standard - Parte 1:

http://www.eclipse.org/articles/Article-SWT-Design-1/SWT-Design-1.html

SWT: El Widget Toolkit Standard - Parte 2:

http://www.eclipse.org/articles/swt-design-2/swt-design-2.html

SWT Presentaciones

http://www.eclipse.org/articles/Understanding% 20la% 20Layouts/Understanding

youts.htm

SWT Ejemplos:

http://dev.eclipse.org/viewcvs/index.cgi/checkout/platform-swt-

casa / dev.html # snippets

El eclipse Wiki Sitio:

http://eclipsewiki.swiki.net

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


Copyright © 2010-2025 MONICA CHAVEZ All rights reserved.
This site is using the Desk Mess Mirrored theme, v2.5, from BuyNowShop.com.