Lazarus (Entwicklungsumgebung)

Lazarus


Lazarus-IDE 2.0
Basisdaten

HauptentwicklerFreiwillige
EntwicklerCliff Baeseman, Shane Miller, Michael A. Hess u. a.
Erscheinungsjahr2001
Aktuelle Version3.4.0[1]
(29. Mai 2024)
BetriebssystemPlattformunabhängig
Programmier­spracheObject Pascal
KategorieIDE
LizenzGPL (Quelltext) / modifizierte LGPL (Bibliotheken, Header)
deutschsprachigja
www.lazarus-ide.org

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 (hebr. „Gott hat geholfen“).

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[2] 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 erzeugten Code 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

Plattformen

Unterstützte Plattformen

Lazarus unter Linux in GTK Umgebung
Lazarus unter Mac OS X (Carbon)
Lazarus unter Linux (openSUSE 11, KDE-Umgebung)
Lazarus 1.2 unter Windows 7

In der Version 0.9.30 unterstützt Lazarus die folgenden Architekturen:

Folgende Betriebssysteme werden unterstützt:

  • macOS (PowerPC und Intel)
  • Mac OS Classic (in Entwicklung)
  • Android: in der Entwicklungsversion Lazarus 1.3 + FreePascal 2.7.1, herunterladbar[3][4]
  • Linux (x86, x86-64, ARM)
  • Raspbian (Raspberry Pi)[5]
  • 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)
  • Palm OS (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

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:

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 package[9]
  • dBASE und FoxPro können ohne externen Server oder Bibliothek mit der TDbf-Komponente[10] 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.[11] FPC-Versionen nach 2.6.0 erlauben FreeTDS MSSQL Zugriff.
  • InterBase / Firebird arbeiten auch mit der neuesten Zeoslib.[11]
  • SQLdb[12] unterstützen Verbindungen mit PostgreSQL, Oracle, ODBC, MySQL, SQLite und InterBase.
  • ZeosDBO,[13] 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.[14]

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

VersionsnummerVeröffentlichungPlattformBemerkungen
Ältere Version; nicht mehr unterstützt: 0.0.5Januar 2001Windowserste Veröffentlichung der Komponenten-Bibliothek
Ältere Version; nicht mehr unterstützt: 0.1Überarbeitung der Komponentenbibliothek zur Unterstützung der plattformsensitiven Entwicklung für Linux und Windows mit GTK+ und anderen Widgetsets
Ältere Version; nicht mehr unterstützt: 0.530. Januar 2001Windows, LinuxFehlerbehebungen und neue Funktionen für plattformübergreifende Entwicklung und Projekt-Schablonen
Ältere Version; nicht mehr unterstützt: 0.89. Oktober 2001CodeTools implementiert, Fehler behoben
Ältere Version; nicht mehr unterstützt: 0.8.217. Januar 2002Suchfunktionen verbessert
Ältere Version; nicht mehr unterstützt: 0.8.419. August 2002Graphik- und Schriftartenunterstützung verbessert, Kompatibilität mit Delphi-6-Syntax. Binäre DFMs können nun automatisch zu LFMs konvertiert werden
Ältere Version; nicht mehr unterstützt: 0.8.526. Oktober 2002LCL von Interfaces entkoppelt
Ältere Version; nicht mehr unterstützt: 0.9.0.34. September 2003Linuxerste auf SourceForge gehostete Version
Ältere Version; nicht mehr unterstützt: 0.9.127. Februar 2004Windows, LinuxUnterstützung für Pakete, zahlreiche neue und verbesserte Properties
Ältere Version; nicht mehr unterstützt: 0.9.43. Januar 2005Windowsälteste auf SourceForge gehostete öffentliche Version
Ältere Version; nicht mehr unterstützt: 0.9.625. Februar 2005Fehlerbehebungen
Ältere Version; nicht mehr unterstützt: 0.9.819. Juli 2005
Ältere Version; nicht mehr unterstützt: 0.9.103. Oktober 2005Windows, macOS (PPC)Fehlerbehebungen; Erweiterbarkeit der IDE verbessert; Dokumenten-Editor für FPDoc-Dateien integriert; enthält Free Pascal 2.0.1
Ältere Version; nicht mehr unterstützt: 0.9.127. Februar 2006Windowsneues Paket für die Unterstützung von Datenbanken, CGI-Programme und Druckerunterstützung
Ältere Version; nicht mehr unterstützt: 0.9.142. April 2006Windows, Mac OS X (PPC)Fehlerbehebungen; neue Controls in den WinCE und Qt4-Widgetsets
Ältere Version; nicht mehr unterstützt: 0.9.1628. Mai 2006Windows, Mac OS X (PPC), LinuxFehlerbehebungen; Online-Hilfe für IDE-Fenster und LCL-Applikationen, Verbesserungen der QT-Widgetset-Schnittstelle; enthält Free Pascal 2.0.2
Ältere Version; nicht mehr unterstützt: 0.9.1823. September 2006Fehlerbehebungen; Prozedurliste implementiert; neues Kommandozeilenprogramm „Lazbuild“
Ältere Version; nicht mehr unterstützt: 0.9.205. November 2006Fehlerbehebungen; Code-Folding implementiert; QT-Widgetset verbessert
Ältere Version; nicht mehr unterstützt: 0.9.2226. März 2007neue Komponenten für die Entwicklung von Windows-Diensten und Linux-Daemons; Unterstützung für nutzerdefinierte Mauszeiger; enthält Free Pascal 2.0.4
Ältere Version; nicht mehr unterstützt: 0.9.2415. November 2007Windows, Mac OS X (Intel und PPC), Linuxerste stabile Version für Win64, WinCE und Intel-basierte Rechner mit Mac OS X; Verbesserungen der Qt-, Carbon- und Gtk2-Widgetset-Schnittstellen; Toolbar flexibilisiert; enthält Free Pascal 2.2.0
Ältere Version; nicht mehr unterstützt: 0.9.265. Oktober 2008komplette Neufassung des internen Graphiksystem; LCL verwendet nun UTF-8-kodierte Unicode-Strings auf allen Plattformen; FPDoc-Hile in Tooltips; erste Version, die selbst nativ im Carbon-Widgetset auf Mac OS X läuft
Ältere Version; nicht mehr unterstützt: 0.9.26.213. März 2009Fehlerbehebungen; verbesserte Icon-Unterstützung; enthält Free Pascal 2.2.2
Ältere Version; nicht mehr unterstützt: 0.9.2829. September 2009Verbesserungen des Editors und Debuggers; Unterstützung für Doppel-Byte-Zeichensätze (u. a. Eastern, Japanisch, Chinesisch und Arabisch); Dateigröße der erzeugten Programme reduziert; enthält Free Pascal 2.2.4
Ältere Version; nicht mehr unterstützt: 0.9.28.225. Oktober 2009hauptsächlich Fehlerbehebungen
Ältere Version; nicht mehr unterstützt: 0.9.3022. März 2011zahlreiche neue Funktionen, u. a. Unterstützung für Docking und mehrere Quelltextfenster; enthält Free Pascal 2.4.2
Ältere Version; nicht mehr unterstützt: 0.9.30.2RC130. September 2011enthält Free Pascal 2.4.4 und die erste Vorabversion für Lazarus 0.9.30.2
Ältere Version; nicht mehr unterstützt: 0.9.30.2RC226. Oktober 2011weitere Vorabversion für Lazarus 0.9.30.2
Ältere Version; nicht mehr unterstützt: 0.9.30.25. November 2011Fehlerbehebungen
Ältere Version; nicht mehr unterstützt: 0.9.30.4RC13. März 2012Fehlerbehebungen; enthält Free Pascal 2.6.0 und erste Vorabversion für Lazarus 0.9.30.4
Ältere Version; nicht mehr unterstützt: 0.9.30.4RC27. März 2012weitere Vorabversionen für Lazarus 0.9.30.4
Ältere Version; nicht mehr unterstützt: 0.9.30.4RC311. März 2012
Ältere Version; nicht mehr unterstützt: 0.9.30.414. März 2012Fehlerbehebungen
Ältere Version; nicht mehr unterstützt: 1.0RC129. Juli 2012Windows, Mac OS X (Intel), LinuxVorabversionen für Lazarus 1.0
Ältere Version; nicht mehr unterstützt: 1.0RC221. August 2012Windows, Mac OS X (Intel und PPC), Linux
Ältere Version; nicht mehr unterstützt: 1.028. August 2012erste finale Version; enthält Free Pascal 2.6.0 sowie etliche Verbesserungen und Erweiterungen der IDE, u. a. Makrofunktion, verbessertes Code-Folding und erweiterte Debugger-Funktionen
Ältere Version; nicht mehr unterstützt: 1.0.210. Oktober 2012Fehlerbehebungen; einzelne Ergänzungen der LCL und bei Widgetsets
Ältere Version; nicht mehr unterstützt: 1.0.430. November 2012
Ältere Version; nicht mehr unterstützt: 1.0.64. Februar 2013
Ältere Version; nicht mehr unterstützt: 1.0.819. März 2013Fehlerbehebungen; basiert auf Free Pascal 2.6.2
Ältere Version; nicht mehr unterstützt: 1.0.1012. Juni 2013Fehlerbehebungen
Ältere Version; nicht mehr unterstützt: 1.0.1224. August 2013
Ältere Version; nicht mehr unterstützt: 1.0.1419. November 2013
Ältere Version; nicht mehr unterstützt: 1.1.9916. September 2013Windows, Mac OS X, LinuxAlpha-Version für Lazarus 1.2
Ältere Version; nicht mehr unterstützt: 1.2RC13. November 2013Vorabversionen für Lazarus 1.2
Ältere Version; nicht mehr unterstützt: 1.2RC210. Januar 2014
Ältere Version; nicht mehr unterstützt: 1.24. März 2014zahlreiche neue Funktionen u. a. im Makro-Editor; Unterstützung für Layered Graphs und Integration von Pascal Script; basiert auf Free Pascal 2.6.2
Ältere Version; nicht mehr unterstützt: 1.2.223. April 2014Windows, FreeBSD, Mac OS X, Linuxüberwiegend Fehlerbehebungen, basiert auf Free Pascal 2.6.4
Ältere Version; nicht mehr unterstützt: 1.2.416. Juni 2014Fehlerbehebungen
Ältere Version; nicht mehr unterstützt: 1.2.612. Oktober 2014
Ältere Version; nicht mehr unterstützt: 1.422. April 2015zahlreiche Verbesserungen u. a. des Editors und des Ressourcen-Managements, basiert auf Free Pascal 2.6.4[15]
Ältere Version; nicht mehr unterstützt: 1.4.214. Juli 2015Fehlerbehebungen
Ältere Version; nicht mehr unterstützt: 1.4.44. Oktober 2015
Ältere Version; nicht mehr unterstützt: 1.618. Februar 2016Windows, FreeBSD, Mac OS X, Linux u. a.zahlreiche Verbesserungen u. a. des Editors, Projekt-Gruppen und Docking, basiert auf Free Pascal 3.0.0[16]
Ältere Version; nicht mehr unterstützt: 1.6.213. November 2016Fehlerbehebungen
Ältere Version; nicht mehr unterstützt: 1.6.426. Februar 2017Windows, FreeBSD, macOS, Linux u. a.überwiegend Fehlerbehebungen; bindet Free Pascal 3.0.2 ein
Ältere Version; nicht mehr unterstützt: 1.8.06. Dezember 2017u. a. High-DPI-Support, basiert auf Free Pascal 3.0.4[17]
Ältere Version; nicht mehr unterstützt: 1.8.228. Februar 2018Fehlerbehebungen
Ältere Version; nicht mehr unterstützt: 1.8.422. Mai 2018
Ältere Version; nicht mehr unterstützt: 2.0.05. Februar 2019Cocoa- und QT-5-Widgetsets; Pascal zu JavaScript-Transpiler (Level ECMAScript 5) einschließlich IDE-Integration
Ältere Version; nicht mehr unterstützt: 2.0.216. April 2019Fehlerbehebungen
Ältere Version; nicht mehr unterstützt: 2.0.46. August 2019
Ältere Version; nicht mehr unterstützt: 2.0.61. November 2019
Ältere Version; nicht mehr unterstützt: 2.0.816. April 2020Fehlerbehebungen und verbessertes Cocoa-Widgetset
Ältere Version; nicht mehr unterstützt: 2.0.1011. Juli 2020Fehlerbehebungen und kleinere Ergänzungen; erste Version, die auf Free Pascal 3.2.0 basiert
Ältere Version; nicht mehr unterstützt: 2.0.1224. Februar 2021Fehlerbehebungen
Ältere Version; nicht mehr unterstützt: 2.2.05. Januar 2022viele Verbesserungen u. a. an der IDE, der LCL und den Widgetsets;[18] basiert auf Free Pascal 3.2.2
Ältere Version; nicht mehr unterstützt: 2.2.219. Mai 2022Fehlerbehebungen
Ältere Version; nicht mehr unterstützt: 2.2.428. September 2022
Ältere Version; nicht mehr unterstützt: 2.2.66. März 2023
Ältere Version; nicht mehr unterstützt: 3.021. Dezember 2023viele Verbesserungen u. a. an der IDE, der LCL, den Widgetsets und dem Debugger[19]
Ältere Version; nicht mehr unterstützt: 3.228. Februar 2024Fehlerbehebungen
Aktuelle Version: 3.429. Mai 2024
Legende:
Alte Version
Ältere Version; noch unterstützt
Aktuelle Version
Aktuelle Vorabversion
Zukünftige Version

Im Allgemeinen sind veröffentlichte Versionen mit geraden Versionsnummern bezeichnet. Wie auch bei Free Pascal stehen ungerade Versionsnummern für Test- und Entwicklungsversionen sowie Snapshots. Daher schreiten die Bezeichnungen der publizierten Versionen in Zweierschritten voran.

Literatur

  • Michael van Cannëyt: Lazarus : Arbeiten mit IDE und Klassenbibliotheken. Computer & Literatur, Böblingen, 2. Auflage 2011, ISBN 978-3-936546-63-7
  • Wilfried Koch: Professionelles Programmieren von Anfang an mit FreePascal und der freien Entwicklungsumgebung Lazarus, Teil 1. Oberkochener Medienverlag, Oberkochen, 2016, ISBN 978-3-945899-01-4
  • Wilfried Koch: Professionelles Programmieren von Anfang an mit FreePascal und der freien Entwicklungsumgebung Lazarus, Teil 2. Oberkochener Medienverlag, Oberkochen, 2020, ISBN 978-3-945899-25-0
  • Blaise Pascal Magazine. Zeitschrift über Pascal mit Schwerpunkt auf Lazarus und Free Pascal (englisch, niederländisch und portugiesisch)
  • Lazarus-Buch auf dem ZUM-Wiki Ein deutschsprachiges Online-Lehrbuch für Lazarus, das sich vor allem (aber nicht nur) an Schüler richtet.
  • Lazarus Intern Eine deutschsprachige Internetseite für Lazarus mit Tutorials zur Datenbankprogrammierung.
Wikibooks: Programmierkurs: Delphi – Lern- und Lehrmaterialien
Commons: Lazarus – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

  1. forum.lazarus.freepascal.org.
  2. Free Pascal – Lizenz (Memento vom 1. Juli 2012 im Internet Archive) (modifizierte LGPL)
  3. Projektübersicht zu laz4android bei SourceForge
  4. Projektübersicht zu LazToApk bei SourceForge
  5. Lazarus on Raspberry Pi. In: Lazarus wiki. Abgerufen am 6. Dezember 2023.
  6. ZenGL
  7. Allegro.pas
  8. Castle Game Engine
  9. PSQL package
  10. TDbf-Komponente
  11. a b Zeoslib
  12. SQLdb
  13. Zeos
  14. licensing. In: Lazarus wiki. Abgerufen am 6. Dezember 2023 (englisch).
  15. Lazarus 1.4.0 release notes
  16. Lazarus 1.6.0 release notes
  17. Lazarus 1.8.0 release notes
  18. Lazarus 2.2.0 release notes
  19. Lazarus 3.0 release notes

Auf dieser Seite verwendete Medien

Lazarus 1.0 Carbon.png
Autor/Urheber: Lazarus team and J. W. Dietrich, Lizenz: LGPL
Bildschirmphoto von Lazarus 1.0 mit dem Quelltext des Programms SPINA Thyr 3.3. Lazarus steht unter GPL- und GLPL-Lizenzen, SPINA Thyr unter einer BSD-Lizenz.
Lazarus 1 2 Windows 7.png
Autor/Urheber: Jwdietrich2, Lizenz: CC BY-SA 3.0
Bildschirmphoto von Lazarus 1.2 auf Windows 7
Lazarus 1.0 and SimThyr 3.1 Linux openSUSE 11.png
Autor/Urheber: Lazarus team and Jwdietrich2, Lizenz: CC BY-SA 3.0
Bildschirmphoto von Lazarus 1.0 mit dem Quelltext des Programms SimThyr 3.1. Lazarus steht unter GPL- und GLPL-Lizenzen, SimThyr unter einer BSD-Lizenz.
Lazarus Logo (new).png
Autor/Urheber: Lazarus Project., Lizenz: GPL
Icon 256x256px of the Lazarus IDE program.
Lazarus 0.9.26.2 de.png
Autor/Urheber: Volunteers, Lizenz: GPL
Deutscher Screenshot der Lazarus-IDE v0.9.26.2
Lazarus-Architektur.svg
Autor/Urheber: Jwdietrich2, Lizenz: CC BY-SA 3.0
Übersicht über die Architektur der Klassenbibliotheken und Widgetsets in Lazarus. Abbildung selbst erstellt mit Adobe Illustrator und Inkscape, Inhalt basiert auf der offiziellen Lazarus-Dokumentation und teilweise auf der Abbildung File:LCLArchitecture.png aus der englischen Wikipedia (Autor Chu Jetcheng).
Lazarus 2.0 unter Windows 10.png
Autor/Urheber: Die Schreiber, Lizenz: CC BY-SA 4.0
Bildschirmfoto der Entwicklungsumgebung Lazarus 2.0 unter Windows 10