Lazarus ist eine freie Free Pascal-Entwicklungsumgebung für die Programmiersprachen Pascal und Object Pascal, die sich an Embarcadero Delphi (ehemalig Borland Delphi) orientiert.

Beschreibung Nachdem das Projekt „Megido“ 1999 gescheitert war, starteten die Entwickler ein neues Projekt, das als visuelle Programmierumgebung für Free Pascal entwickelt wurde und benannten es nach der biblischen Figur Lazarus (von hebr. אֶלְעָזָר „Gott hat geholfen“, in Analogie zur Wiederbelebung von Megido).

Die Lazarus Component Library (LCL) ähnelt sehr Borland Delphis VCL. Die meisten Units, Klassen und Eigenschaften haben den gleichen Namen und die gleiche Funktionalität. Auch für Entwickler proprietärer Software ist Lazarus geeignet, da die LCL-Komponentenbibliothek unter den Bedingungen einer modifizierten LGPL (modifizierte LGPL) lizenziert wird.

Mit Lazarus können schnell grafische Bedienoberflächen (GUI) erstellt werden. Es unterstützt die GUI-Toolkits GTK+ bzw. GTK2 (mit Gnome-Unterstützung), Qt, Carbon (MacOS), Windows CE und WinAPI (Win32 Forms) auf einem hohen Abstraktionsgrad, was den Quellcode für Projekte in Verbindung mit Free Pascal zu einem hohen Grad plattformunabhängig macht.

Einmal erstellter Quellcode kann meist problemlos auf unterstützten Betriebssystemen (derzeit vor allem Linux, macOS und Windows) kompiliert und ausgeführt werden.

Funktionen Unterstützt mehrere Betriebssysteme WYSIWYG-Editor zur Erstellung von Bedienoberflächen („Designer“) Syntaxhervorhebung (Hervorhebung von Schlüsselworten) Code Completion (Automatische Vervollständigung) Lazarus kann sich selbst kompilieren (z. B. für individuelle Optimierungen) Viele Einstellmöglichkeiten Erweiterbar durch Pakete Delphi-Projekte können recht einfach portiert werden

Plattformen Unterstützte Plattformen mini|Lazarus unter Linux in GTK Umgebung mini|Lazarus unter Mac OS X (Carbon) mini|Lazarus unter Linux (openSUSE 11, KDE-Umgebung) mini|Lazarus 1.2 unter Windows 7 In der Version 0.9.30 unterstützt Lazarus die folgenden Architekturen: PowerPC PowerPC64 IA-32 (Intel 80386 und Kompatible) AMD64 (x86_64) ARM, einschließlich Apple Silicon SPARC (in Entwicklung)

Folgende Betriebssysteme werden unterstützt: macOS (PowerPC und Intel) Android: in der Entwicklungsversion Lazarus 1.3 + FreePascal 2.7.1, herunterladbar Linux (x86, x86-64, ARM) Raspbian (Raspberry Pi) FreeBSD (Intel) Win32 Win64 WinCE OS/2 (ohne visuelle Programmierumgebung) Haiku (in Entwicklung) SunOS (in Entwicklung) Game Boy Advance (in Entwicklung, ohne visuelle Programmierumgebung) Nintendo DS (in Entwicklung, ohne visuelle Programmierumgebung) Symbian OS (in Entwicklung, ohne visuelle Programmierumgebung) Amiga OS (in einer älteren Version und ohne visuelle Programmierumgebung)

Plattformübergreifende Entwicklung mini|Zusammenspiel der Klassenbibliotheken und Widgetsets in Lazarus und Free Pascal

Lazarus verwendet den Compiler Free Pascal. Dadurch können grundsätzlich Programme für alle Betriebssysteme und Prozessorarchitekturen, die von Free Pascal unterstützt werden, geschrieben werden.

Für die Entwicklung grafischer Benutzeroberflächen steht die Free Component Library zur Verfügung.

Spiele-Entwicklung Es gibt einige Pakete, die die Spiele-Entwicklung mit Lazarus ermöglichen: nxPascal ZenGLZenGL Allegro.pasAllegro.pas Castle Game EngineCastle Game Engine

Datenbank-Entwicklung Entwickler können Pakete installieren, die es Lazarus ermöglichen, verschiedene Datenbanken zu unterstützen. Programme können über den Programmcode oder über Komponenten mit den Datenbanken interagieren.

Folgende Datenbanken werden direkt unterstützt: PostgreSQL, mit dem PSQL packagePSQL package dBASE und FoxPro können ohne externen Server oder Bibliothek mit der TDbf-KomponenteTDbf-Komponente genutzt werden. MySQL InterBase / Firebird arbeitet über das Standard SQL DB Package und dem Open Source IBX für Lazarus. SQLite benötigt eine externe Bibliothek und die TSqliteDataset-Komponente. MSSQL arbeitet mit Zeoslib.Zeoslib FPC-Versionen nach 2.6.0 erlauben FreeTDS MSSQL Zugriff. InterBase / Firebird arbeiten auch mit der neuesten Zeoslib. SQLdbSQLdb unterstützen Verbindungen mit PostgreSQL, Oracle, ODBC, MySQL, SQLite und InterBase. ZeosDBO,Zeos ursprünglich für Delphi geschrieben, funktioniert nun auch mit Lazarus. CSV, SDF, u. a. werden ebenfalls unterstützt.

Einschränkungen Lazarus ist kein Open-Source-Klon von Embarcadero Delphi und daher nicht vollständig kompatibel. Allerdings funktioniert vieles ähnlich. Mehrere Medien- und Netzwerkbibliotheken sind noch nicht für alle Plattformen verfügbar.

Distributionen und Lizenzmodell Wie Free Pascal ist Lazarus freie Software. Unterschiedliche Bestandteile werden unter verschiedenen freien Software-Lizenzen, u. a. GPL, LGPL, MPL und einer modifizierten Version der LGPL abgegeben.

Insbesondere die LCL, die statisch in die erzeugten Programme eingebunden wird, steht unter einer modifizierten Version der LGPL, die besondere Rechte für die Integration in die erzeugte Software einräumt und dabei auch proprietäre Software einschließt, zur Verfügung.

Lazarus wird offiziell über SourceForge vertrieben. Es gibt jedoch auch alternative und teils inoffizielle Distributionen, u. a.: FreeSparta, eine kommerzielle Distribution, die neben verbesserten Editor-Funktionen u. a. zusätzliche Komponenten enthält. Versionen von Lazarus Support, einem kommerziellen Dienstleister für die Entwicklung mit Lazarus und Free Pascal Code Typhon – Distribution, ein plattformübergreifendes Entwicklungspaket mit zusätzlichen Werkzeugen, Bibliotheken und Komponentenpaketen Distribution von Get Lazarus, Versionen für verschiedene Betriebssysteme, die auf den aktuellen Entwicklerzweigen basieren. Ubuntu-LiveCDs mit Lazarus der Fachhochschule Oberösterreich

Versionen