PDF de programación - Desarrollo de aplicaciones multiplaforma en Linux - Aplicaciones en el escritorio con Java/SWT

Imágen de pdf Desarrollo de aplicaciones multiplaforma en Linux - Aplicaciones en el escritorio con Java/SWT

Desarrollo de aplicaciones multiplaforma en Linux - Aplicaciones en el escritorio con Java/SWTgráfica de visualizaciones

Publicado el 16 de Octubre del 2018
725 visualizaciones desde el 16 de Octubre del 2018
127,7 KB
16 paginas
Creado hace 21a (13/10/2002)
Desarrollo de aplicaciones multiplaforma en Linux

Aplicaciones en el escritorio con Java/SWT

Franco M. Catrin L.

Desarrollo de aplicaciones multiplaforma en Linux: Aplicaciones en el escritorio con
Java/SWT
por Franco M. Catrin L.

Historial de revisiones
Revisión 1.0 13-10-2002 Revisado por: fcl
Propuesta inicial 3er encuentro Linux U.BioBio

Tabla de contenidos

1. Introducción.......................................................................................................................1
Linux en el escitorio .....................................................................................................1
Estrategia para incorporar más escritorios Linux en la empresa ..........................1
2. Por qué Java?......................................................................................................................3
C/GDK/GTK................................................................................................................3
C++/QT .........................................................................................................................3
C#/GTK# .......................................................................................................................3
Java .................................................................................................................................4
El mito de los applets .........................................................................................4
Servlets y Java en el lado del servidor.............................................................4
Java Hoy...............................................................................................................4
3. Evolución de Java Toolkits..............................................................................................7
AWT : Abstract Window Toolkit................................................................................7
SWING/JFC ..................................................................................................................7
SWT : Standard Window Toolkit ...............................................................................8
4. Desarrollo de aplicaciones con SWT.............................................................................9
El clasico Hola Mundo.................................................................................................9
Widgets y Layouts......................................................................................................10
Una aplicacion simple de ejemplo ...........................................................................10
5. GCJ : GNU Compiler for Java ......................................................................................11
Java en Código Nativo...............................................................................................11
Java Class Libraries....................................................................................................11
JNI y SWT....................................................................................................................11
Ventaja para Linux .....................................................................................................12
Perspectivas.................................................................................................................12

iii

iv

Capítulo 1. Introducción

Linux ha logrado consolidar su posición en el campo de los servidores. Ya no hay du-
das de que es una real alternativa como sistema operativo de reemplazo a Windows
NT/2000 en incluso Unix’es. Sin embargo, en el area de los escritorios esto ha ido
sucediendo de una forma más lenta.
En este documento se planteará una forma de enfrentar este problema en la realidad
chilena.

Linux en el escitorio

Debemos distingir entre dos escenarios para Linux en el escritorio. Uno se encuentra
en los hogares, en donde cada dia son mas los aficionados a la computación que han
decidido instalar Linux en sus casas como una herramienta de aprendizaje y de uso
cotidiano (web, mail, IM, multimedia, etc). Hasta el momento son pocos los usuarios
no entendidos en computación que se estan iniciando en el uso de Linux con ayuda
de los primeros, pero esa cifra va en aumento.
El segundo escenario es un poco mas complejo, y corresponde a los escritorios Linux
usados en empresas. En este caso la factibilidad no solo depende de las habilidades
del usuario, sino que de otros aspectos, como es el “entorno” de operación.

Estrategia para incorporar más escritorios Linux en la empresa

Para que se pueda ir migrando hacia Linux en el escritorio, se deben superar trabas
que son de caracter operacional. Principalmente son:

• Conectividad con otros miembros de la red, a nivel de servicios
• Disponibilidad de aplicaciones nativas de uso general
• Disponibilidad de aplicaciones específicas del negocio
El primer punto está practicamente solucionado. Hay servidores/clientes
disponibles para la gran mayoria de servicios standard. Y tambien hay servidores
y clientes para servicios propietarios como SMB, usados intensamente en redes
Windows.
El segundo punto tambien está solucionado o (en camino de) para las tareas tradi-
cionales de oficina, que coinciden parcialmente con lo indicado inicialmente en un
computador de escritorio hogareño.
El ultimo punto, la disponibilidad de aplicaciones específicas del negocio, es más
dificil de solucionar. Esto se debe a que son aplicaciones desarrolladas a medida, y
que por lo general se han venido arrastrando desde años. El esfuerzo de desarrollo
invertido en terminos de costo e ingenieria es muy alto y es muy dificil reemplazarlas
por aplicaciones nuevas de un dia para otro. Y añadido a esto, se tiene el hecho de
que si se han realizado usando herramientas propietarias que producen código muy
amarrado a la plataforma original (mayoritariamente Windows), es casi imposible
lograr ejecutar estas aplicaciones si se realiza una migración a Linux.
Por un lado no se pueden pasar estos escritorios a Linux ya que no se pueden ejecutar
las aplicaciones legacy que son dependientes de la plataforma. Y por otra parte no se
puede iniciar el desarrollo de nuevas aplicaciones que se puedan ejecutar en Linux
debido a que aun no se puede tener Linux instalado.
Si se tiene este escenario, existen dos caminos a seguir. Uno es buscar una forma
de emular un entorno de ejecución legacy (dosemu, wine) o bien desarrollar apli-
caciones multiplataforma que puedan ser ejecutadas en ambos entornos indistinat-
menta, y con eso se podrá realizar la migración a Linux a medida que se terminen las
dependencias de aplicaciones legacy.

1

Capítulo 1. Introducción

Este trabajo intenta cubrir esta ultima alternativa: Desarrollo de aplicaciones multi-
plataforma para escritorio en Linux, de tal forma que sea irrelevante ejecutarlas en
Linux o en el sistema operativo disponible.
En estos momentos hay un cambio tecnológico que va a obligar a rehacer los sistemas
legacy, más que a mantenerlos. Esto queda claro con la aparición de la plataforma
.NET de MS. Esta plataforma desecha las tecnologías impulsadas por ellos mismos
(COM, COM+), de forma que las aplicaciones anteriores, desarrolladas en lenguajes
como Visual Basic (que son muchas en nuestro pais), deben ser reconstruidas.
La pregunta que deben hacerse los encargados de estas aplicaciones es la siguiente:
Si de todas formas es necesario que los desarrolladores aprendan un lenguaje nuevo
(C#, Visual Basic.NET) por qué no aprovechar la inversión y pasar a una plataforma
abierta, eliminando la dependencia de un proveedor único, el que nuevamente po-
dría desechar unilateralmente sus tecnologías.

2

Capítulo 2. Por qué Java?

Existen varias formas de realizar aplicaciones multiplataformas, incluso tecnologías
diseñadas originalmente para Linux se basan en técnicas multiplataformas para
poder abarcar otros entornos.
Sin embargo hay otros factores que influyen en la capacidad multiplataforma de una
aplicación, entre estos aspectos se pueden mencionar la conectividad a base de datos
y realización de interfaces de usuario. A continuación se hará un breve analisis de
las alternativas que se disponen hoy en dia para el desarrollo de aplicaciones multi-
plataforma en Linux.

C/GDK/GTK

El lenguaje C es bastante potente. Practicamente todo se puede hacer en C, y cuando
se requiere algo demasiado especifico, siempre está la alternativa de escribir trozos
en Assembly. El lenguaje de programación mayormente utilizado en Linux es C.
Existe una gran cantidad de bibliotecas para C, y a la hora de usar interfaces gráfi-
cas, GDK y GTK son bastante poderosas. El conjunto de GDK y GTK está diseñado
para ser independiente de la plataforma y en cierta medida dependiente del lenguaje.
Lamentablemente los ports de GDK no están tan extendidos en plataformas no Linux.
Por otra parte las librerias de C específicas son generalmente ligadas a la plataforma.
Por lo que habria que comenzar a combinar código generico con código especifico, lo
que complica el desarrollo.
Otro aspecto a considerar es que un programador de C debe tener especial cuidado
en su forma de programación. Hay hartas cosas que quedan en manos del progra-
mador, y es frecuente que surgan bugs muy dificiles de encontrar (memory leaks por
ejemplo).
Por ultimo, de acuerdo al contexto de aplicaciones que se estan analizando en este
trabajo, no existe una forma unificada de acceso a datos, o bien, existen intentos pero
no se asegura que funcionen con todos los pares de bases de datos y arquitecturas
existentes.
El lenguaje no soporta orientación a objetos en forma natural. Es posible programar
orientado al objeto, pero requiere de más habilidades de parte del desarrollador.
En conclusión, es recomendable el uso de C/GDK/GTK para aplicaciones específicas
en Linux, pero para desarrollo multiplataforma no es inmediatamente aplicable.

C++/QT

Esta combinación añade la ventaja de poder aplicar orientación a ob
  • Links de descarga
http://lwp-l.com/pdf13909

Comentarios de: Desarrollo de aplicaciones multiplaforma en Linux - Aplicaciones en el escritorio con Java/SWT (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad