Lazarus (Entwicklungsumgebung)
Lazarus | |
---|---|
Lazarus-IDE 2.0 | |
Basisdaten | |
Hauptentwickler | Freiwillige |
Entwickler | Cliff Baeseman, Shane Miller, Michael A. Hess u. a. |
Erscheinungsjahr | 2001 |
Aktuelle Version | 3.4.0[1] (29. Mai 2024) |
Betriebssystem | Plattformunabhängig |
Programmiersprache | Object Pascal |
Kategorie | IDE |
Lizenz | GPL (Quelltext) / modifizierte LGPL (Bibliotheken, Header) |
deutschsprachig | ja |
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
- 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
- Delphi-Projekte können recht einfach portiert werden
Plattformen
Unterstützte Plattformen
In der Version 0.9.30 unterstützt Lazarus die folgenden Architekturen:
- PowerPC
- PowerPC64
- IA-32 (Intel 80386 und Kompatible)
- AMD64 (x86_64)
- ARM
- SPARC (in Entwicklung)
- m68K (in Entwicklung)
- In Vorbereitung: IA-64, MIPS, Alpha und AVR
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
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
- ZenGL[6]
- Allegro.pas[7]
- Castle Game Engine[8]
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
Versionsnummer | Veröffentlichung | Plattform | Bemerkungen |
---|---|---|---|
0.0.5 | Januar 2001 | Windows | erste Veröffentlichung der Komponenten-Bibliothek |
0.1 | Überarbeitung der Komponentenbibliothek zur Unterstützung der plattformsensitiven Entwicklung für Linux und Windows mit GTK+ und anderen Widgetsets | ||
0.5 | 30. Januar 2001 | Windows, Linux | Fehlerbehebungen und neue Funktionen für plattformübergreifende Entwicklung und Projekt-Schablonen |
0.8 | 9. Oktober 2001 | CodeTools implementiert, Fehler behoben | |
0.8.2 | 17. Januar 2002 | Suchfunktionen verbessert | |
0.8.4 | 19. August 2002 | Graphik- und Schriftartenunterstützung verbessert, Kompatibilität mit Delphi-6-Syntax. Binäre DFMs können nun automatisch zu LFMs konvertiert werden | |
0.8.5 | 26. Oktober 2002 | LCL von Interfaces entkoppelt | |
0.9.0.3 | 4. September 2003 | Linux | erste auf SourceForge gehostete Version |
0.9.1 | 27. Februar 2004 | Windows, Linux | Unterstützung für Pakete, zahlreiche neue und verbesserte Properties |
0.9.4 | 3. Januar 2005 | Windows | älteste auf SourceForge gehostete öffentliche Version |
0.9.6 | 25. Februar 2005 | Fehlerbehebungen | |
0.9.8 | 19. Juli 2005 | ||
0.9.10 | 3. Oktober 2005 | Windows, macOS (PPC) | Fehlerbehebungen; Erweiterbarkeit der IDE verbessert; Dokumenten-Editor für FPDoc-Dateien integriert; enthält Free Pascal 2.0.1 |
0.9.12 | 7. Februar 2006 | Windows | neues Paket für die Unterstützung von Datenbanken, CGI-Programme und Druckerunterstützung |
0.9.14 | 2. April 2006 | Windows, Mac OS X (PPC) | Fehlerbehebungen; neue Controls in den WinCE und Qt4-Widgetsets |
0.9.16 | 28. Mai 2006 | Windows, Mac OS X (PPC), Linux | Fehlerbehebungen; Online-Hilfe für IDE-Fenster und LCL-Applikationen, Verbesserungen der QT-Widgetset-Schnittstelle; enthält Free Pascal 2.0.2 |
0.9.18 | 23. September 2006 | Fehlerbehebungen; Prozedurliste implementiert; neues Kommandozeilenprogramm „Lazbuild“ | |
0.9.20 | 5. November 2006 | Fehlerbehebungen; Code-Folding implementiert; QT-Widgetset verbessert | |
0.9.22 | 26. März 2007 | neue Komponenten für die Entwicklung von Windows-Diensten und Linux-Daemons; Unterstützung für nutzerdefinierte Mauszeiger; enthält Free Pascal 2.0.4 | |
0.9.24 | 15. November 2007 | Windows, Mac OS X (Intel und PPC), Linux | erste 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 |
0.9.26 | 5. Oktober 2008 | komplette 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 | |
0.9.26.2 | 13. März 2009 | Fehlerbehebungen; verbesserte Icon-Unterstützung; enthält Free Pascal 2.2.2 | |
0.9.28 | 29. September 2009 | Verbesserungen 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 | |
0.9.28.2 | 25. Oktober 2009 | hauptsächlich Fehlerbehebungen | |
0.9.30 | 22. März 2011 | zahlreiche neue Funktionen, u. a. Unterstützung für Docking und mehrere Quelltextfenster; enthält Free Pascal 2.4.2 | |
0.9.30.2RC1 | 30. September 2011 | enthält Free Pascal 2.4.4 und die erste Vorabversion für Lazarus 0.9.30.2 | |
0.9.30.2RC2 | 26. Oktober 2011 | weitere Vorabversion für Lazarus 0.9.30.2 | |
0.9.30.2 | 5. November 2011 | Fehlerbehebungen | |
0.9.30.4RC1 | 3. März 2012 | Fehlerbehebungen; enthält Free Pascal 2.6.0 und erste Vorabversion für Lazarus 0.9.30.4 | |
0.9.30.4RC2 | 7. März 2012 | weitere Vorabversionen für Lazarus 0.9.30.4 | |
0.9.30.4RC3 | 11. März 2012 | ||
0.9.30.4 | 14. März 2012 | Fehlerbehebungen | |
1.0RC1 | 29. Juli 2012 | Windows, Mac OS X (Intel), Linux | Vorabversionen für Lazarus 1.0 |
1.0RC2 | 21. August 2012 | Windows, Mac OS X (Intel und PPC), Linux | |
1.0 | 28. August 2012 | erste 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 | |
1.0.2 | 10. Oktober 2012 | Fehlerbehebungen; einzelne Ergänzungen der LCL und bei Widgetsets | |
1.0.4 | 30. November 2012 | ||
1.0.6 | 4. Februar 2013 | ||
1.0.8 | 19. März 2013 | Fehlerbehebungen; basiert auf Free Pascal 2.6.2 | |
1.0.10 | 12. Juni 2013 | Fehlerbehebungen | |
1.0.12 | 24. August 2013 | ||
1.0.14 | 19. November 2013 | ||
1.1.99 | 16. September 2013 | Windows, Mac OS X, Linux | Alpha-Version für Lazarus 1.2 |
1.2RC1 | 3. November 2013 | Vorabversionen für Lazarus 1.2 | |
1.2RC2 | 10. Januar 2014 | ||
1.2 | 4. März 2014 | zahlreiche 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 | |
1.2.2 | 23. April 2014 | Windows, FreeBSD, Mac OS X, Linux | überwiegend Fehlerbehebungen, basiert auf Free Pascal 2.6.4 |
1.2.4 | 16. Juni 2014 | Fehlerbehebungen | |
1.2.6 | 12. Oktober 2014 | ||
1.4 | 22. April 2015 | zahlreiche Verbesserungen u. a. des Editors und des Ressourcen-Managements, basiert auf Free Pascal 2.6.4[15] | |
1.4.2 | 14. Juli 2015 | Fehlerbehebungen | |
1.4.4 | 4. Oktober 2015 | ||
1.6 | 18. Februar 2016 | Windows, 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] |
1.6.2 | 13. November 2016 | Fehlerbehebungen | |
1.6.4 | 26. Februar 2017 | Windows, FreeBSD, macOS, Linux u. a. | überwiegend Fehlerbehebungen; bindet Free Pascal 3.0.2 ein |
1.8.0 | 6. Dezember 2017 | u. a. High-DPI-Support, basiert auf Free Pascal 3.0.4[17] | |
1.8.2 | 28. Februar 2018 | Fehlerbehebungen | |
1.8.4 | 22. Mai 2018 | ||
2.0.0 | 5. Februar 2019 | Cocoa- und QT-5-Widgetsets; Pascal zu JavaScript-Transpiler (Level ECMAScript 5) einschließlich IDE-Integration | |
2.0.2 | 16. April 2019 | Fehlerbehebungen | |
2.0.4 | 6. August 2019 | ||
2.0.6 | 1. November 2019 | ||
2.0.8 | 16. April 2020 | Fehlerbehebungen und verbessertes Cocoa-Widgetset | |
2.0.10 | 11. Juli 2020 | Fehlerbehebungen und kleinere Ergänzungen; erste Version, die auf Free Pascal 3.2.0 basiert | |
2.0.12 | 24. Februar 2021 | Fehlerbehebungen | |
2.2.0 | 5. Januar 2022 | viele Verbesserungen u. a. an der IDE, der LCL und den Widgetsets;[18] basiert auf Free Pascal 3.2.2 | |
2.2.2 | 19. Mai 2022 | Fehlerbehebungen | |
2.2.4 | 28. September 2022 | ||
2.2.6 | 6. März 2023 | ||
3.0 | 21. Dezember 2023 | viele Verbesserungen u. a. an der IDE, der LCL, den Widgetsets und dem Debugger[19] | |
3.2 | 28. Februar 2024 | Fehlerbehebungen | |
3.4 | 29. Mai 2024 | ||
Legende: Alte Version Aktuelle 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.
Weblinks
- lazarus.freepascal.org (englisch)
- deutsche Startseite des Lazarus Wikis
- Lazarusforum.de – Webforum der deutschsprachigen Community
- Übersicht für Einsteiger mit Hauptaugenmerk auf Lazarus mit Firebird und ZEOS auf Deutsch
- Lazarus Support: Professionelle, teils kommerzielle englischsprachige Hilfe zu Installation und Benutzung von Lazarus
Einzelnachweise
- ↑ forum.lazarus.freepascal.org.
- ↑ Free Pascal – Lizenz ( vom 1. Juli 2012 im Internet Archive) (modifizierte LGPL)
- ↑ Projektübersicht zu laz4android bei SourceForge
- ↑ Projektübersicht zu LazToApk bei SourceForge
- ↑ Lazarus on Raspberry Pi. In: Lazarus wiki. Abgerufen am 6. Dezember 2023.
- ↑ ZenGL
- ↑ Allegro.pas
- ↑ Castle Game Engine
- ↑ PSQL package
- ↑ TDbf-Komponente
- ↑ a b Zeoslib
- ↑ SQLdb
- ↑ Zeos
- ↑ licensing. In: Lazarus wiki. Abgerufen am 6. Dezember 2023 (englisch).
- ↑ Lazarus 1.4.0 release notes
- ↑ Lazarus 1.6.0 release notes
- ↑ Lazarus 1.8.0 release notes
- ↑ Lazarus 2.2.0 release notes
- ↑ Lazarus 3.0 release notes
Auf dieser Seite verwendete Medien
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.
Autor/Urheber: Jwdietrich2, Lizenz: CC BY-SA 3.0
Bildschirmphoto von Lazarus 1.2 auf Windows 7
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.
Autor/Urheber: Lazarus Project., Lizenz: GPL
Icon 256x256px of the Lazarus IDE program.
Autor/Urheber: Volunteers, Lizenz: GPL
Deutscher Screenshot der Lazarus-IDE v0.9.26.2
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).
Autor/Urheber: Die Schreiber, Lizenz: CC BY-SA 4.0
Bildschirmfoto der Entwicklungsumgebung Lazarus 2.0 unter Windows 10