Überträger

Mit Hilfe der LCL lassen sich folglich sehr einfach plattformübergreifende Anwendungen programmieren, den einmal erstellten Quellcode müssen Sie lediglich auf dem Zielbetriebssystem neu kompilieren ("Write once, compile everywhere"). Wie gut das in der Praxis funktioniert, beweist Lazarus selbst: Die Entwicklungsumgebung wurde vollständig mit der LCL programmiert. Über einen eigenen Menüpunkt lässt sie sich sogar "mal eben" im Betrieb für eine andere GUI-Bibliothek übersetzen.

Allerdings gibt es noch zwei kleine Stolperfallen: Zum einen befinden sich einige Schnittstellen, wie etwa die zu Qt, offiziell noch in der Beta-Phase. Sie laufen jedoch schon recht stabil und werden in der Praxis von Programmierern fleißig genutzt. Zum anderen versucht die LCL den GUI-Richtlinien des jeweiligen Betriebssystems zu folgen. Das führt wiederum dazu, dass sich einige Komponenten auf jeder Plattform etwas anders verhalten. Beispielsweise lassen sich unter Windows bestimmte Dialogfenster nicht mit der Maus vergrößern, unter X11 hingegen schon. Auch Tastenkürzel fangen die Betriebssysteme unterschiedlich ab. Das Lazarus-Wiki [3] hält deshalb gleich mehrere Seiten mit Tipps zur plattformübergreifenden Programmierung bereit.

Die LCL kann übrigens noch mehr, als lediglich bunte Fenster auf den Bildschirm zu bringen. So bietet sie unter anderem Klassen für den einfachen und schnellen Zugriff auf Datenbanken, darunter PostgreSQL, dBase und MySQL. Innerhalb von Lazarus können Sie die Komponenten für die Datenbankanbindung wie andere GUI-Elemente auf dem Formular ablegen. Dort erscheinen sie als Symbole, in der fertigen Anwendung verrichten sie ihre Arbeit unsichtbar im Hintergrund (Abbildung 5).

Abbildung 5: Lazarus bringt zahlreiche Beispielprogramme mit, wie diese Adressverwaltung. Sie zeigt den Umgang mit der Datenbankprogrammierung. Bei den Symbolen in der weißen Fläche des Hauptfensters handelt es sich um die Objekte für die Datenbankanbindung.

Das doppelte Orakel

Als Vorbild für die LCL dient die Visual Component Library (VCL) aus Delphi. Der weiter oben erwähnte TButton dürfte deshalb alten Delphi-Hasen absichtlich bekannt vorkommen. Dennoch arbeitet die LCL nicht vollständig zur VCL kompatibel. Einige Unterschiede sind der Plattformunabhängigkeit geschuldet und somit gewollt, während andere Komponenten noch durch Abwesenheit glänzen.

Das betrifft insbesondere Klassen für Multimedia-Anwendungen (wie TAnimate), auf Windows zugeschnittene Komponenten (wie TMediaPlayer) sowie den Netzwerk-Zugriff (Stichwort ADO). Delphi- und Kylix-Programme lassen sich folglich nicht eins zu eins in Lazarus übernehmen, sondern verlangen eine Anpassung. Lazarus hilft zwar bei der Konvertierung mit eigenen Assistenten, um eine Nachbearbeitung kommen Sie jedoch meist nicht herum. Im Lazarus Wiki finden Umsteiger neben einer Liste mit den Unterschieden auch gleich mehrere Seiten mit Tipps und Anleitungen.

Kostenloser Kommerz

Lazarus linkt die LCL in der passenden Geschmacksrichtung statisch an die Object-Pascal-Anwendung. Um dennoch die Entwicklung von kommerziellen Programmen zu ermöglichen, steht die Klassenbibliothek unter einer modifizierten LGPL-Lizenz. Das gilt jedoch dummerweise nicht für alle enthaltenen Units. Bevor Sie eine Komponente in einer kommerziellen Anwendung nutzen, sollten Sie daher einen Blick in die Lizenz werfen, die sich wiederum im Quellcode der jeweiligen Komponente versteckt. Lazarus selbst steht übrigens unter der GPL.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 01/2018: FLINKE BROWSER

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Linux Mint als Zweitsystem
Wolfgang Robert Luhn, 13.01.2018 19:28, 3 Antworten
Wer kann mir helfen??? Habe einen neuen Laptop mit vorinstaliertem Windows 10 gekauft. Möchte g...
externe soundkarte Kaufempfehlung
lara grafstr , 13.01.2018 10:20, 3 Antworten
Hallo Ich bin auf Suche nach einer externen soundkarte.. Max 150 Euro Die Wiedergabe is...
Prozessor-Sicherheitslücke Meltdown und Spectre
Wimpy *, 06.01.2018 10:45, 2 Antworten
Ich habe heute ein Sicherheitsupdate "ucode-intel" für openSuse 42.3 erhalten. Ist damit das Prob...
LENOVO ideapad320 Touchpad Linux Mint 18
Peter Deppen, 23.12.2017 16:49, 3 Antworten
Hallo, bin Linux Anfänger und habe das Problem, dass das Touchpad auf dem LENOVO ideapad320 mit L...
PClinuxOS
Günter Beckmann, 20.12.2017 09:51, 1 Antworten
Hi, LUC, hat jemand von Euch Erfahrung mit dem in Heft 12/2017 vorgestelletn PClinuxOS? Ich...