Número 82: Trucos SSH - Linux Magazine
Número 82: Trucos SSH - Linux Magazine
Número 82: Trucos SSH - Linux Magazine
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
DESARROLLO Lazarus<br />
separado nos ayuda a documentar el<br />
código en línea con FPDoc estándar.<br />
Lazarus también permite la refactorización<br />
renombrando designadores en el proyecto,<br />
extrayendo el código seleccionado<br />
en un nuevo procedimiento o invirtiendo<br />
las asignaciones (convirtiendo A := B; en<br />
B := A;). Además, el editor registra automáticamente<br />
los métodos abstractos que<br />
aún no hemos aplicado y crea un método<br />
vacío. Lo único que falta es un enlace a un<br />
sistema de control de versiones.<br />
Clásico Moderno<br />
Si ponemos un botón en un formulario en<br />
Lazarus, el entorno de desarrollo genera<br />
automáticamente un objeto del tipo TButton<br />
por detrás. La clase correspondiente<br />
aparece por cortesía de la biblioteca Lazarus<br />
Component Library, también conocida<br />
por sus siglas LCL. Esta es una biblioteca<br />
de clase normal que podemos usar independientemente<br />
de Lazarus con unidades<br />
y clases que crean la interfaz para nuestro<br />
programa Object Pascal.<br />
LCL no dibuja elementos individuales<br />
de la interfaz gráfica en la pantalla, sino<br />
Libre Comercio<br />
Lazarus enlaza estáticamente LCL a la<br />
aplicación Object Pascal. A pesar de<br />
ello, para permitir el desarrollo de<br />
programas comerciales, la biblioteca<br />
de clases está disponible bajo una<br />
licencia LGPL modificada. Desafortunadamente<br />
esto no es cierto para<br />
todas las unidades que contiene.<br />
Antes de usar un componente en una<br />
aplicación comercial, es una buena<br />
idea comprobar la licencia embebida<br />
en el código fuente del propio componente.<br />
Por cierto, Lazarus no tiene<br />
una licencia GPL.<br />
Figura 4: LCL funciona como una interfaz entre el programa<br />
Object Pascal y las bibliotecas de la interfaz de usuario para los<br />
sistemas operativos soportados.<br />
que para ello se basa en una biblioteca<br />
heredada del sistema. Los desarrolladores<br />
tienen que elegir qué biblioteca usar al<br />
compilar. Los usuarios de <strong>Linux</strong> pueden<br />
seleccionar entre Qt, Gtk+ o Gtk2 y<br />
soporte para el conjunto de herramientas<br />
Free Pascal GUI [2]. fpGUI actualmente<br />
está en desarrollo.<br />
LCL está disponible para otros sistemas<br />
operativos. Soporta las funciones del sistema<br />
necesarias directamente en Windows<br />
y Windows CE, y podemos elegir<br />
entre Cocoa y Carbon en Mac OS X. La<br />
Figura 4 muestra la estructura de LCL y<br />
cómo se relaciona con los componentes<br />
individuales.<br />
Transferencia de<br />
Conocimiento<br />
Gracias a LCL, podemos escribir de forma<br />
sencilla aplicaciones<br />
multiplataforma que<br />
solamente necesitaremos<br />
recompilar en el<br />
sistema operativo objetivo<br />
(escribir una vez,<br />
compilar en cualquier<br />
parte). Lazarus es en sí<br />
la prueba de lo bien que<br />
funciona en la práctica:<br />
el entorno de desarrollo<br />
se programó enteramente<br />
usando LCL, y<br />
nosotros podemos<br />
reconstruirlo rápidamente<br />
al vuelo, para<br />
32 <strong>Número</strong> <strong>82</strong> WWW.LINUX- MAGAZINE.ES<br />
Figura 5: Lazarus incluye numerosos ejemplos de programas, tales como este gestor de direc-<br />
ciones que actúa como un ejemplo de programación de base de datos. Los iconos en el área<br />
blanca de la ventana principal son los objetos conectores de la base de datos.<br />
usarlo con una biblioteca de interfaz gráfica<br />
diferente, seleccionando un elemento<br />
del menú.<br />
Los desarrolladores tienen que tener en<br />
cuenta dos pequeños problemas. Por un<br />
lado, un par de interfaces (p.ej, Qt) están<br />
aún oficialmente en beta, si bien son muy<br />
estables, y los desarrolladores las usan<br />
habitualmente en trabajos de producción.<br />
Por otro lado, LCL intenta seguir las directrices<br />
de la interfaz gráfica de usuario del<br />
sistema operativo de destino. Esto puede<br />
llevar a que los componentes actúen de<br />
manera distinta en las diferentes plataformas.<br />
Por ejemplo, Windows no nos permitirá<br />
escalar algunos diálogos con el ratón,<br />
sin embargo podemos hacerlo en X11.<br />
Además, los sistemas operativos manejan<br />
los atajos de teclado de manera diferente.<br />
La wiki de Lazarus [3] incluye algunas<br />
páginas con consejos sobre la programación<br />
multiplataforma para ayudar a los<br />
desarrolladores.<br />
LCL puede hacer más que dibujar ventanas<br />
de colores en la pantalla. Contiene,<br />
por ejemplo, clases para acceder de<br />
manera sencilla y rápida a bases de datos,<br />
incluyendo PostgreSQL, dBase, y MySQL.<br />
En Lazarus, podemos poner los componentes<br />
del conector de la base de datos en<br />
un formulario, como si de cualquier otro<br />
elemento de la interfaz gráfica se tratara.<br />
Los elementos aparecerán como iconos y<br />
en la aplicación final realizarán sus tareas<br />
de manera discreta, en segundo plano<br />
(Figura 5).