„Lazarus Component Library“ – Versionsunterschied
[gesichtete Version] | [gesichtete Version] |
Inhalte von Widgetset hier eingebaut |
+Bild; beide Bilder etwas größer, für bessere Lesbarkeit |
||
Zeile 1: | Zeile 1: | ||
[[Datei:Lazarus-Architektur.svg|mini|Zusammenspiel der Klassenbibliotheken und Widgetsets in Lazarus und Free Pascal]] |
[[Datei:Lazarus-Architektur.svg|mini|hochkant=1.2|Zusammenspiel der Klassenbibliotheken und Widgetsets in Lazarus und Free Pascal]] |
||
Die '''Lazarus Component Library''' ('''LCL'''; deutsch ''Lazarus-Komponentenbibliothek'') ist ein plattformübergreifendes [[GUI-Toolkit]] der [[Free Pascal|Free-Pascal]]-[[Integrierte Entwicklungsumgebung|Entwicklungsumgebung]] [[Lazarus (Entwicklungsumgebung)|Lazarus]]. |
Die '''Lazarus Component Library''' ('''LCL'''; deutsch ''Lazarus-Komponentenbibliothek'') ist ein plattformübergreifendes [[GUI-Toolkit]] der [[Free Pascal|Free-Pascal]]-[[Integrierte Entwicklungsumgebung|Entwicklungsumgebung]] [[Lazarus (Entwicklungsumgebung)|Lazarus]]. |
||
Zeile 6: | Zeile 6: | ||
== Details == |
== Details == |
||
[[Datei:LCLArchitecture.png|mini|hochkant=1.2|Architektur der Lazarus Component Library]] |
|||
Die LCL ermöglicht die Entwicklung von Anwendungen mit nativer [[Grafische Benutzeroberfläche|grafischer Benutzeroberfläche]]. Dies wird durch die Nutzung plattformspezifischer ''Widgetsets'' erreicht, die für die [[Betriebssystem]]e [[Windows]], [[Linux]], [[macOS]] und [[Android (Betriebssystem)|Android]] verfügbar sind. Damit wird es ermöglicht, den Anspruch von Lazarus ''write once, compile anywhere'' umzusetzen. |
Die LCL ermöglicht die Entwicklung von Anwendungen mit nativer [[Grafische Benutzeroberfläche|grafischer Benutzeroberfläche]]. Dies wird durch die Nutzung plattformspezifischer ''Widgetsets'' erreicht, die für die [[Betriebssystem]]e [[Windows]], [[Linux]], [[macOS]] und [[Android (Betriebssystem)|Android]] verfügbar sind. Damit wird es ermöglicht, den Anspruch von Lazarus ''write once, compile anywhere'' umzusetzen. |
||
Version vom 17. Februar 2017, 21:07 Uhr

Die Lazarus Component Library (LCL; deutsch Lazarus-Komponentenbibliothek) ist ein plattformübergreifendes GUI-Toolkit der Free-Pascal-Entwicklungsumgebung Lazarus.
Die LCL besteht aus einer Sammlung von Units, die Komponenten und Klassen insbesondere für visuelle Aufgaben bereitstellen. Sie baut auf den Bibliotheken RTL und FCL auf.
Details

Die LCL ermöglicht die Entwicklung von Anwendungen mit nativer grafischer Benutzeroberfläche. Dies wird durch die Nutzung plattformspezifischer Widgetsets erreicht, die für die Betriebssysteme Windows, Linux, macOS und Android verfügbar sind. Damit wird es ermöglicht, den Anspruch von Lazarus write once, compile anywhere umzusetzen.
Widgetsets stellen die Schnittstelle für die Anbindung an das jeweilige Betriebssystem einschließlich seiner Steuerelemente (Widgets) bereit. Üblicherweise ist es nicht erforderlich, das Widgetset direkt anzusprechen, da dies durch die jeweiligen visuellen Komponenten (z. B. TEdit) automatisch geschieht. Dadurch wird gewährleistet, dass plattformunabhängiger Quellcode zu einer plattform-nativen Anwendung übersetzt wird. Die Widgetsets stellen jedoch auch Klassen bereit, die direkt von der Software angesprochen werden können.
Die LCL ist mit mehreren hierarchischen Klassensystemen, die miteinander verzahnt sind, unterlegt. Die plattformunabhängige Schicht implementiert Steuerelemente, die im Formulardesigner entworfen werden können und für alle Betriebssysteme definiert werden. Die zugehörigen Komponenten sind von der LCL-Klasse TLCLComponent abgeleitet. Die konkrete Implementierung geschieht dann in einer plattformabhängigen Schicht, welche die abstrakten Basisklassen im LCL-Interface umsetzt und an das jeweilige GUI-Toolkit anbindet.
Verfügbare Widgetsets
Derzeit (Herbst 2013) sind die folgenden Widgetsets verfügbar oder in Entwicklung:
Widgetset | Unterstützte Betriebssysteme | Status |
---|---|---|
Vorlage:SortKey ist veraltet; bitte verwende Alternativen gemäß Hilfe:Tabellen/Sortierung #Veraltet.Windows API, GDI | Windows | Vorlage:SortKey ist veraltet; bitte verwende Alternativen gemäß Hilfe:Tabellen/Sortierung #Veraltet. Stabil, produktiv benutzbar |
Vorlage:SortKey ist veraltet; bitte verwende Alternativen gemäß Hilfe:Tabellen/Sortierung #Veraltet.Windows CE API, GDI | Windows CE | Vorlage:SortKey ist veraltet; bitte verwende Alternativen gemäß Hilfe:Tabellen/Sortierung #Veraltet. Stabil, produktiv benutzbar |
GTK+ 1.2.x | Linux (via X11) | Vorlage:SortKey ist veraltet; bitte verwende Alternativen gemäß Hilfe:Tabellen/Sortierung #Veraltet. Teilweise umgesetzt, veraltet |
GTK+ 2.8+ | Windows, Linux (X11 und framebuffer) und macOS (via X11) | Vorlage:SortKey ist veraltet; bitte verwende Alternativen gemäß Hilfe:Tabellen/Sortierung #Veraltet. Stabil, produktiv benutzbar |
GTK+ 3.x | Windows, Linux (X11 und framebuffer) und macOS (via X11) | Vorlage:SortKey ist veraltet; bitte verwende Alternativen gemäß Hilfe:Tabellen/Sortierung #Veraltet. In Entwicklung |
Qt 4.5+ | Windows, Linux (X11 und framebuffer), macOS | Vorlage:SortKey ist veraltet; bitte verwende Alternativen gemäß Hilfe:Tabellen/Sortierung #Veraltet. Stabil, produktiv benutzbar. Verfügbar für Windows, Linux, Mac OS X, Maemo, etc. Software benötigt Zusatzbibliothek. |
Cocoa | macOS | Vorlage:SortKey ist veraltet; bitte verwende Alternativen gemäß Hilfe:Tabellen/Sortierung #Veraltet. In Entwicklung |
Carbon | macOS | Vorlage:SortKey ist veraltet; bitte verwende Alternativen gemäß Hilfe:Tabellen/Sortierung #Veraltet. Stabil, produktiv benutzbar |
fpGUI | Windows, Windows CE, Linux (via X11) | Vorlage:SortKey ist veraltet; bitte verwende Alternativen gemäß Hilfe:Tabellen/Sortierung #Veraltet. In Entwicklung |
Lazarus Custom Drawn Controls | Android, Windows, Linux (via X11), macOS | Vorlage:SortKey ist veraltet; bitte verwende Alternativen gemäß Hilfe:Tabellen/Sortierung #Veraltet. In Entwicklung |
Literatur
- M. Van Canneyt, M. Gärtner, S. Heinig, F. Monteiro de Carvalho, I. Ouedrago. Lazarus - Arbeiten mit IDE und Klassenbibliothek. C&L-Verlag, Böblingen 2010. ISBN 978-3-936546-38-5.