Lazarus es un entorno de desarrollo integrado ( IDE) multiplataforma para el desarrollo rápido de aplicaciones (RAD) que utiliza el compilador Free Pascal . Su objetivo es proporcionar un entorno de desarrollo fácil de usar para programar con el lenguaje Object Pascal , lo más parecido posible a Delphi . Es software libre y de código abierto, con diferentes partes publicadas bajo distintas licencias .
Lazarus se usa frecuentemente para crear aplicaciones de consola e interfaz gráfica de usuario (GUI) de código nativo para computadoras de escritorio , dispositivos móviles , aplicaciones web , servicios web , componentes visuales y bibliotecas de funciones para varias plataformas de sistemas operativos diferentes , incluyendo macOS , Linux y Windows . [ 2 ]
Un proyecto creado con Lazarus en una plataforma se puede compilar en cualquier otra compatible con el compilador Free Pascal . Para aplicaciones de escritorio, un mismo código fuente puede ejecutarse en macOS , Linux y Windows con pocas o ninguna modificación. Por ejemplo, el IDE de Lazarus se basa en un único código fuente y está disponible en las principales plataformas, incluida Raspberry Pi .
Historia
Lazarus fue creado en febrero de 1999 por tres desarrolladores: Cliff Baeseman, Shane Miller y Michael A. Hess. Anteriormente, habían intentado contribuir al proyecto Megido, un esfuerzo de código abierto para crear un IDE similar a Delphi para Free Pascal, que se disolvió debido a desacuerdos internos y problemas arquitectónicos. Frustrados, fundaron Lazarus como un proyecto independiente para lograr el mismo objetivo. El proyecto se alojó en SourceForge y atrajo a colaboradores de la comunidad a través de listas de correo y sistemas de control de versiones. Marc Weustink se unió en agosto de 1999 e hizo contribuciones fundamentales al depurador y a los componentes principales. Mattias Gaertner se unió en septiembre de 2000 y ha sido uno de los principales colaboradores del núcleo del IDE desde entonces. Los fundadores originales ya no participan en el proyecto. [ 3 ]
Características
Lazarus proporciona un entorno de desarrollo WYSIWYG ( Lo que ves es lo que obtienes ) para crear interfaces de usuario sofisticadas , lógica de aplicación y otros artefactos de código de soporte, similar a Delphi . Además de las funciones de gestión de proyectos, el IDE de Lazarus también proporciona:
- Diseñador visual de diseños de ventanas
- Widgets de interfaz gráfica de usuario o componentes visuales como cuadros de edición, botones, diálogos, menús, etc.
- Componentes no visuales para comportamientos comunes como la persistencia de la configuración de la aplicación.
- Componentes de conectividad de datos para MySQL , PostgreSQL , FireBird , Oracle , SQLite , Sybase y otros.
- Conjunto de widgets con reconocimiento de datos que permite al desarrollador ver datos en componentes visuales en el diseñador para facilitar el desarrollo.
- depurador interactivo
- Autocompletado de código
- Plantillas de código
- Resaltado de sintaxis
- Ayuda contextual
- gestor de recursos de texto para la internacionalización
- Formato de código automático
- Extensibilidad mediante componentes personalizados
Desarrollo multiplataforma


Lazarus utiliza Free Pascal como compilador de back-end. Dado que Free Pascal admite la compilación cruzada , las aplicaciones de Lazarus se pueden compilar desde Windows , Linux o macOS a cualquiera de los destinos de compilación de Free Pascal compatibles . Las aplicaciones para dispositivos integrados ( teléfonos inteligentes , PDA , enrutadores, consolas de videojuegos) se pueden compilar desde cualquier plataforma de escritorio.
Lazarus proporciona un marco de aplicación multiplataforma llamado Lazarus Component Library (LCL), que ofrece una interfaz única y unificada para programadores, con diferentes implementaciones específicas para cada plataforma. Con LCL, es posible crear aplicaciones escribiendo el código una sola vez y compilándolo en cualquier lugar, a menos que se utilicen explícitamente características dependientes del sistema. LCL se basó originalmente en la Visual Component Library (VCL) de Delphi 6, pero no se limita a Windows . Esto se logra separando la definición de las clases de widgets comunes y su implementación específica para cada conjunto de widgets . Cada conjunto de widgets es compatible mediante una interfaz que interactúa directamente con él. [ 4 ]
Desarrollo de bases de datos
Los desarrolladores pueden instalar paquetes que permiten a Lazarus ser compatible con varios sistemas de gestión de bases de datos (DBMS). Los programas pueden interactuar con un DBMS mediante código o mediante componentes que se arrastran a un formulario.
Los siguientes sistemas de gestión de bases de datos (DBMS) son compatibles de forma predeterminada:
Diferencias con el método Delphi
Lazarus se asemeja a Delphi en muchos aspectos. Es compatible con el Modelo de Objetos Componentes (COM) desde la versión 2.2.0 y ofrece la mayoría de las funciones de red de Delphi . Sin embargo, presenta limitaciones en cuanto a rendimiento y funcionalidades.
Lazarus no admite lo siguiente, cosa que Delphi sí hace:
- Datasnap (utiliza funciones empresariales propietarias de Embarcadero , no es un sistema documentado públicamente).
- Paquetes de carga dinámica
- Bibliotecas .NET (sin embargo, el código .NET puede invocar código Object Pascal o cualquier otra biblioteca nativa de la máquina a través de los Servicios de Invocación de Plataforma . [ 6 ] )
- Amplia conectividad con Microsoft Office (Lazarus solo puede abrir Microsoft Excel con una tabla simple rellenada).
LCL no es totalmente compatible con VCL. Esto hace que el extenso repositorio de widgets VCL disponibles sea inaccesible sin conversión. El proceso de conversión implica principalmente algunas modificaciones, aunque existen algunas diferencias fundamentales. Al migrar, la falta de unidades en las bibliotecas representa un problema considerablemente mayor que las incompatibilidades entre LCL y VCL. Los componentes para Delphi se pueden convertir para que funcionen en Lazarus. Esto puede ser complejo, aunque menos que para las versiones de Lazarus anteriores a la 0.9.30, basadas en FP 2.4.x.
En Windows, el tamaño predeterminado de un archivo ejecutable es mayor que el de su equivalente en Delphi 6 o 7, ya que Lazarus almacena la información de depuración dentro del ejecutable, en lugar de en archivos separados. A partir de la versión 0.9.30, Lazarus admite símbolos de depuración externos mediante opciones del compilador. De esta forma, el tamaño de los archivos del programa se puede reducir significativamente. Como alternativa, se puede eliminar la información de depuración de los archivos ejecutables (por ejemplo, utilizando una adaptación del stripcomando UNIX).
Distribución y concesión de licencias
Al igual que Free Pascal , Lazarus es software libre . Diferentes partes se distribuyen bajo distintas licencias de software libre , incluidas GPL , LGPL , MPL y una versión modificada de LGPL. [ 7 ] LCL, que se integra estáticamente en los ejecutables producidos, está licenciado bajo una versión modificada de LGPL, lo que otorga permisos adicionales para permitir su integración estática en el software producido, incluidos los de propiedad privada .
Instalar un paquete de diseño equivale a vincularlo al IDE, por lo que distribuir el IDE Lazarus con un paquete de diseño incompatible con la GPL, como los paquetes JEDI con licencia Mozilla Public License , preinstalado, constituiría una infracción de licencia. Esto no impide el desarrollo de paquetes propietarios con Lazarus.
Historia
El primer intento de desarrollar un IDE para Free Pascal data de 1998, bajo el proyecto "Megido". Tras su fracaso, algunos de sus desarrolladores iniciaron un nuevo proyecto basado en una plataforma más flexible. El nombre "Lazarus" alude al resurgimiento del concepto Megido. Está inspirado en Lázaro de Betania , quien, según el Evangelio de Juan , fue resucitado por Jesús cuatro días después de su muerte.
La primera versión preliminar de LCL estuvo lista para su lanzamiento en 2001. En 2003, la primera versión beta de Lazarus (0.9.0.3) se publicó en SourceForge . La versión 1.0 de Lazarus se lanzó en 2012. Una versión significativamente mejorada, Lazarus 1.2, se lanzó en 2014. Hasta marzo de 2014, se habían realizado más de cuatro millones de descargas desde SourceForge.
Versiones
Ejemplos de aplicaciones creadas con Lazarus
- ASuite es un lanzador de aplicaciones gratuito de código abierto para Windows. A partir de la versión 2.1 Alpha 1, está completamente escrito en Lazarus/FPC.
- Beyond Compare es una utilidad de comparación de datos para Windows, macOS y Linux. Las versiones para macOS y Linux se compilan utilizando Lazarus/FPC.
- Cartes du Ciel es un programa de planetario gratuitopara Linux, macOS y Windows. El software muestra y etiqueta la mayoría de las constelaciones, planetas y objetos visibles con un telescopio. Está completamente escrito en Lazarus/FPC y se distribuye bajo la licencia GPL.
- C-evo es un juego de estrategia por turnos de código abierto que ha sido portado de Delphi a Lazarus. [ 18 ]
- Cheat Engine es un escáner de memoria, editor hexadecimal y depurador. Es útil para hacer trampas en videojuegos. Desde la versión 6.0, se compila con Lazarus/FPC.
- EPANET , un paquete de software para el modelado de sistemas de distribución de agua.
- HNSKY , Hallo Northern Sky, es un programa de planetario gratuito para Windows y Linux. Desde la versión 3.4.0, se ha desarrollado y compilado con Lazarus/FPC.
- MyNotex es un software gratuito para Linux que resulta útil para tomar y gestionar notas de texto.
- PeaZip es un compresor de código abierto, creado con Lazarus/FPC.
- TorChat , actualmente inactivo, estaba dejando de usar Python y se está reescribiendo en Lazarus + Free Pascal.
- Versión de 64 bits de Total Commander . [ 19 ]
- Double Commander es un gestor de archivos multiplataforma de código abierto con dos paneles uno al lado del otro. Está inspirado en Total Commander, además de incorporar algunas ideas nuevas. [ 20 ]
- SimThyr es un programa de simulación continua para la homeostasis tiroidea .
Ejemplos de bibliotecas Delphi compatibles con Lazarus
- GLScene es una biblioteca gratuita basada en OpenGL que proporciona componentes visuales y objetos que permiten la descripción y representación de escenas 3D.
- OpenWire es una biblioteca de código abierto que permite utilizar las propiedades del tipo de pin para realizar conexiones entre componentes LCL de forma similar a LabVIEW o Agilent VEE .
Véase también
Referencias
- ↑ https://forum.lazarus.freepascal.org/index.php/topic,73549.0.html .
{{cite web}}: Falta o está vacío|title=( ayuda ) - 1 2 3 "Descargas" . lazarus-ide.org . Equipo de Lazarus y Free Pascal . Consultado el 25 de marzo de 2023 .
- ↑ https://www.lazarus-ide.org/index.php?page=about
- ↑ "LCL Internals" . lazarus.freepascal.org . Equipo de Lazarus y Free Pascal . Consultado el 25 de marzo de 2023 .
- 1 2 3 4 5 6 7 "Paquete SQLdb" . lazarus.freepascal.org . Equipo de Lazarus y Free Pascal . Consultado el 25 de marzo de 2023 .
- ↑ "Uso de las bibliotecas de Pascal con .NET y Mono" . lazarus.freepascal.org . Equipo de Lazarus y Free Pascal . Consultado el 25 de marzo de 2023 .
- ↑ "Archivo "COPYING.txt" del repositorio de código fuente en línea" .
- ↑ Lázaro 1.6 en http://forum.lazarus.freepascal.org
- ↑ Lázaro 1.8.4 en http://forum.lazarus.freepascal.org
- ↑ "Lazarus 2.0 corrige una rama" . Wiki de Lazarus . Consultado el 28 de febrero de 2021 .
- ↑ "Notas de la versión 2.2.0 de Lazarus" . Wiki de Lazarus . Consultado el 6 de enero de 2022 .
- ↑ "Notas de la versión Lazarus 3.0" . Wiki de Lazarus . Consultado el 21 de enero de 2023 .
- 1 2 3 4 "Notas de la versión Lazarus 3.0" . Wiki de Lazarus . Consultado el 20 de junio de 2024 .
- ↑ "Notas de la versión Lazarus 4.0" . Wiki de Lazarus . Consultado el 6 de mayo de 2025 .
- ↑ "Lazarus Bugfix Release 4.4" .
- ↑ "Lazarus Bugfix Release 4.4" .
- ↑ "Lazarus Bugfix Release 4.6" .
- ↑ Sitio web del puerto c-evo Lazarus
- ↑ "¿En qué idioma está escrito TC?" . Ghisler.ch. 9 de agosto de 2010 . Consultado el 11 de agosto de 2016 .
- ↑ sourceforge.net .
Lecturas adicionales
- van Canneyt, Michael; Klämpfl, Florian (2012). Pascal libre (2ª ed.). Computer & Literatur Verlag GmbH. ISBN 978-3936546729. OL 25421359M . 393654672X.
- van Canneyt, Michael; Gärtner, Mattias; Heinig, Swen; de Carvalho, Felipe Monteiro; Ouedraogo, Inoussa; Braun, Jörg (2011). Lázaro . Böblingen, Alemania: Computer & Literatur Verlag GmbH. OL 25426539M .
- van Canneyt, Michael; Gärtner, Mattias; Heinig, Swen; de Carvalho, Felipe Monteiro; Ouedraogo, Inoussa (2011). Lázaro: la guía completa . Revista Blaise Pascal. OL 25427992M .
- Koch, Wilfried (2020). Programación profesional desde el principio con Free Pascal y el entorno de desarrollo libre Lazarus (Parte 1) . Oberkochen, Alemania: Oberkochener Medienverlag. pág. 442. ISBN 9783945899311.
- Koch, Wilfried (2022). Programación profesional desde el principio con Free Pascal y el entorno de desarrollo libre Lazarus (Parte 2) . Oberkochen, Alemania: Oberkochener Medienverlag. pág. 438. ISBN 9783945899267.
- Христов, Лазар (2023). Въведение в Lazarus IDE . Bélgica: Archivo electrónico PDF. pag. 242.Въведение в Lazarus IDE
- Hristov, Lazar (2024). Introducción al IDE de Lazarus . Bulgaria: archivo PDF de libro electrónico. pag. 220.Introducción al IDE Lazarus
- Христов, Лазар (2025). Въведение в Lazarus IDE - Capítulo II . Bélgica: Archivo electrónico PDF. pag. 145.Въведение в Lazarus IDE- Capítulo II
- Hristov, Lazar (2025). Introducción al IDE de Lazarus - Parte II . Bulgaria: archivo PDF de libro electrónico. pag. 142.Introducción al IDE Lazarus - Parte II
- Hristov, Lazar (2026). Introducción a Lazarus IDE - Parte III . Bulgaria: archivo PDF de libro electrónico. pag. 129.Introducción al IDE Lazarus - Parte III
Enlaces externos
- Sitio web oficial

- Lázaro en SourceForge
- Acerca de Lázaro
- El Proyecto de Documentación de Lázaro
- Obtén las descargas de alojamiento de Lazarus
- Centro de aprendizaje Lázaro
- Software de 1999
- Software libre multiplataforma
- Software multiplataforma
- Bibliotecas informáticas gratuitas
- Entornos de desarrollo integrados gratuitos
- Pascal libre
- Software libre programado en Pascal.
- entornos de desarrollo integrados
- entornos de desarrollo integrados Linux
- Herramientas de programación de macOS
- Pascal (lenguaje de programación)
- Familia de lenguajes de programación Pascal
- Software programado en Pascal
- Desarrollo sensible a la plataforma
- Herramientas de programación para Windows
- creadores de interfaces de usuario
- Software que utiliza la Licencia Pública General de GNU.