Lazarus

Lazarus
Información sobre la plantilla
Logolaz.JPG
Logo de Lazarus
Sitio web
www.lazarus.freepascal.org/

Lazarus. Herramienta de desarrollo rápido de aplicaciones (RAD) basada en el lenguaje de programación Object Pascal, disponible para los sistemas operativos Windows, GNU/Linux y Mac OS X. Se trata de una alternativa libre y gratuita a Delphi, desarrollada como proyecto de software libre a partir de Free Pascal.

Descripción de Free Pascal y Lazarus

Free Pascal (FPC) es un compilador de Pascal de código abierto con dos características notables: un alto grado de compatibilidad con Delphi y disponibilidad en una variedad de plataformas, incluyendo OS X, Windows, Mac, y Linux.

La compatibilidad de Free Pascal con Delphi incluye no solamente la ayuda para el mismo lenguaje de programación Object Pascal que utiliza Delphi, sino también para muchas de las mismas bibliotecas de rutinas y de clases de gran alcance por las que Delphi es conocido. Esto incluye unidades habituales tales como System, SysUtils, StrUtils, DateUtils, Classes, Variants, Math, IniFiles y Registry, que se incluyen con Free Pascal en todas las plataformas soportadas.

Free Pascal también incluye unidades tales como Windows, ShellAPI, BaseUnix, Unix y DynLibs para acceder a características específicas de un sistema operativo. Esta docena, más o menos, de unidades se denomina generalmente como la librería de tiempo de ejecución de Free Pascal(RTL). 

Idelaz.JPG

Lazarus es un sistema de desarrollo de código abierto que trabaja sobre el compilador Free Pascal agregando un entorno integrado de desarrollo (IDE) que incluye un editor de código con resalte de sintaxis y un diseñador de formularios visual, así como una librería de componentes que es altamente compatible con la librería de componentes visual de Delphi (VCL). La librería de componentes de Lazarus (LCL) incluye los equivalentes para muchos de los controles familiares de VCL tales como formas, botones, cajas de texto y más que se utilizan para crear aplicaciones que tienen un interfaz gráfico de usuario (GUI).

Tanto Free Pascal como Lazarus están escritos en Pascal. El código fuente completo está disponible no solamente para el compilador de Free Pascal y el IDE de Lazarus, sino también para todas las unidades que construyan Free Pascal RTL y Lazarus LCL.

Como Delphi, Free Pascal y Lazarus son ambos herramientas de programación de uso general, significando que usted puede desarrollar una variedad amplia de programas con ellos, incluyendo lo siguiente:

Aplicaciones de consola

Las aplicaciones de consola no tienen un GUI. En su lugar se lanzan la consola, leen su entrada de la consola, y escriben generalmente su salida en la consola. En Windows la consola es generalmente la ventana del aviso de comando. En OS X y Linux la consola es la ventana terminal. Las aplicaciones de consola incluyen cosas como utilidades pequeñas tales como el programa de Windows FC (File Compare) o los comandos de Unix cd y cp.

Las aplicaciones de consola pueden también ser utilizadas por los programas de proceso de datos que no necesitan un GUI porque son arrancados por otros programas o desde archivos por lotes. El compilador Free Pascal y los programas utilitarios incluidos con él son todos aplicaciones de consola, lo que significa que pueden ejecutarse desde la consola, desde un archivo por lotes, o desde el IDE de Lazarus.

Puede crear una aplicación de consola sin más que un editor de textos y el compilador Free Pascal. No tiene que utilizar Lazarus para desarrollar aplicaciones de consola. Sin embargo, si prefiere trabajar en un ambiente integrado, puede utilizar Lazarus para crear un proyecto para una aplicación de consola y editar y compilar el código en el IDE de Lazarus.

Librerías cargables dinámicamente

Una Librería cargable dinámicamente es generalmente una colección de funciones compiladas que se pueden llamar por otros programas. Como el nombre sugiere, la librería no se enlaza con su ejecutable en tiempo de compilación, sino que por el contrario se carga en el tiempo de ejecución. En Windows, un archivo de la librería tiene una extensión .dll (dynamic-link library=librería de enlace dinámico, o DLL). En OS X, un archivo de librería tiene una extensión .dylib (dynamic shared library=librería compartida dinámica). En Linux, un archivo de la librería tiene una extensión .so (shared object library=librería de objetos compartidos).

Las librería cargables dinámicamente se utilizan típicamente para desarrollar complementos para otros programas, desarrollar librerías que se pueden llamar por los programas escritos en otras lenguajes tales como C y C++, o para descomponer proyectos grandes en trozos de modo que los desarrolladores del proyecto no se entorpezcan unos a otros. Windows se compone de centenares de DLLs, al igual que muchos otros programas grandes tales como OpenOffice.org.

Igual que para las aplicaciones de consola, solamente necesita un editor de textos y el compilador Free Pascal para desarrollar una librería, aunque puede también crear un proyecto de Lazarus para una librería y desarrollarla en el IDE de Lazarus.

En Windows, las DLLs tienen reputación de ser complejas e inestables. Esto tiene más que ver con la manera en que se instalan a veces, que con las propias DLLs. Realmente, el paso de la información "a" y "desde" DLLs se hace normalmente con los tipos de datos típicos, simples (más que con los objetos o las estructuras específicos de un lenguaje), este requisito obliga a los programadores a prestar más atención a lo que están haciendo. Si se hace de forma correcta, se obtendrán programas mejores, más estables.

Aplicaciones con GUI (Graphical User Interface = Interfaz gráfico de usuario)

La mayoría de los programas que utilizamos a diario son aplicaciones con GUI, incluyendo los procesadores de textos, navegadores Web, programas de hoja de cálculo, incluso muchas herramientas de desarrollo. Lazarus y Delphi son ambos buenos ejemplos de aplicaciones completamente provistas de GUI. Al desarrollar una aplicación con GUI con Lazarus, se crean no solamente unidades en código Pascal, también diseña los formularios que contienen controles visuales tales como botones o cajas de lista. Como Delphi, el diseño del formulario en Lazarus se hace visualmente. Las características del control se pueden fijar en el IDE o mediante código.

Puesto que los controles de LCL están disponibles en todas las plataformas soportadas, una aplicación con GUI desarrollada en una plataforma (por ejemplo, Windows) se puede compilar en otra plataforma (por ejemplo, OS X o Linux) sin ningún cambio en el diseño del formulario o en los archivos de su código.

Compatibilidad con bases de datos

Lazarus es compatible con varios motores de bases de datos, sin embargo el desarrollador debe instalar paquetes adicionales para gestionar cada uno. El programador puede acceder a la base de datos mediante código o bien arrastrando componentes en un formulario visual. Los componentes de la base de datos representan campos y son conectados por la correcta configuración de propiedades a un TDataSource, que representa una tabla y es también conectado a los componentes de la base de datos, ya sea TPSQLDatabase, TSQLiteDataSet o algún otro.

Los siguientes motores de bases de datos son compatibles:

• PostgreSQL requiere el paquete PSQL

• dBase y FoxPro pueden ser usados sin necesidad de un servidor externo o librería mediante el componente TDbf

• MySQL funciona correctamente

• SQLite, necesita sólo una simple librería externa y el componente TSQLiteDataSet

• Microsoft SQL Server, funciona con la librería ZeosLib

• InterBase / Firebird, componente de acceso nativo, también trabaja con ZeosLib

• Oracle, también trabaja con ZeosLib

Licencia

Aunque el software Lazarus está licenciado bajo la GPL, el software desarrollado mediante el uso de esta herramienta puede ser distribuido bajo alguna otra licencia. La Librería del Componente Lazarus (LCL) se vincula estáticamente dentro de los programas y es licenciada usando una versión modificada de la LGPL diseñada especialmente para permitir vinculaciones estáticas a programas propietarios.

Nótese que instalar un paquete en tiempo de diseño equivale a vincular al IDE. Distribuyendo el IDE Lazarus junto a paquetes en tiempo de diseño con una licencia no compatible con GPL (por ejemplo, MPL) preinstalados podría suponer una violación de licencia. Aparte de esto, se puede construir paquetes propietarios de Lazarus siempre que no se distribuyan un Lazarus preinstalado con ellos.

Fuentes

Lazarus Wiki

Free Pascal