|
Kylix im ÜberblickInzwischen pfeifen es die Spatzen von den Dächern: Borland portiert sein erfolgreiches RAD-Tool Delphi auf die Linux-Plattform. Das neue Entwickler-Werkzeug heißt Kylix und verursacht jetzt schon helle Aufregung, obwohl es noch gar nicht erschienen ist. In dieser Zusammenfassung für Linux und Delphi - Entwickler werden die wichtigsten Eckpunkte des neuen Produkts beschrieben, damit Sie sich auf die zukünftigen Möglichkeiten einstellen können. Was ist Delphi?Wenn Sie Linux-Entwickler sind, sagt Ihnen der Name Delphi vielleicht überhaupt nichts. Dabei ist dieses Entwicklungs-Werkzeug für viele Windows-Programmierer das absolute Nonplus-Ultra und die unverzichtbare Grundlage ihrer täglichen Arbeit. Die Faszination von Delphi beruht auf der Kombination seiner drei wesentlichen Bestandteile: Einer zeitgemäßen Programmiersprache mit rasend schnellem Compiler, einer mächtigen visuellen Entwicklungsumgebung und einer ausgereiften Komponententechnologie. Object Pascal - Eine hochmoderne ProgrammierspracheDie Programmiersprache von Delphi heißt Object Pascal. Dieser Pascal-Dialekt hat von seinem Ahnen die übersichtliche Syntax und den logischen Aufbau geerbt, verfügt darüber hinaus aber über eine große Menge neuer mächtiger Features vor allem im Bereich der objektorientierten Programmierung. Mit eingebauten Sprachkonstrukten unterstützt Object Pascal die für Komponenten so wichtigen Merkmale Eigenschaften (Properties) und Ereignisse (Events). Ähnlich wie in Java wird auf Zeiger verzichtet (außer man will es unbedingt), Arrays sind dynamisch und sicher, es gibt (anders als in C++) einen String-Typ, mit dem man vernünftig arbeiten kann. Darüber hinaus unterstützt Delphi Reflection (d.h. man kann zur Laufzeit Informationen über eine Klasse gewinnen.), Exceptions wie in C++ mit einem zusätzlichen finally-Konstrukt wie in C# sowie Methoden-Zeiger. Bis auf die nicht durchgängig vorhandene Garbage Collection enthält diese Sprache also alles, was man sich nur wünschen kann. Der Compiler macht daraus in Rekordzeit (ca. 100.000 Zeilen pro Minute) einen erstaunlich kleinen und recht schnellen Code. Visuelles EntwickelnEntwickelt wird in Delphi abwechselnd visuell (für die Fenster der Oberfläche) und Code-basiert (für die Logik). Das erstaunliche daran ist der nahtlose Übergang von einer Sicht auf die andere. Zieht man ein Steuerelement (z.B. ein Editierfeld) auf das Fenster wird sofort der entsprechende Quellcode in die Fenster-Klasse eingefügt und man kann mit einem Mausklick Handler erzeugen, die z.B. auf Tastendrücke in dem Editierfeld reagieren. Damit entfällt sämtliche Codierung der Oberflächen-Gestaltung einschließlich Layout der verwendeten Fenster. Letzteres wird mittels einer Reihe von ausgeklügelten Komponenten und Eigenschaften von der VCL übernommen. Bei der eigentlichen Programmierung wird man mit einer Reihe von hilfreichen Tools unterstützt. Unter Windows ist automatische Code-Vervollständigung heute schon Standard. Man tippt einen Methodennamen und der Editor zeigt die erwarteten Argumente mit Typ an. Bei Bedarf ist außerdem die Deklaration einer Klasse oder eines Typs nur einen Mausklick entfernt. Ein Class Browser zeigt alle verwendeten Klassen des Projektes in einem übersichtlichen Baum und generiert auch Rahmen für neue Methoden und Ereignisse. Fürs Entwanzen verfügt Delphi natürlich über einen Quelltext-Debugger, komfortable Haltepunkte mit vielen Eigenschaften wie Bedingungen und Durchlaufzähler, einen Aufruf-Stack zur Rückverfolgung des Programmablaufs, ein Watch-Fenster für ständig überwachte Ausdrücke, Darstellung der CPU-Register und des Maschinencodes, Thread-Verwaltung und vieles mehr. Besonders nützlich ist es oft auch, dass Delphi wie eine interpretierte Sprache während des Debuggens dynamisch Ausdrücke berechnen und deren Ergebnis anzeigen kann. Mit dem Inspektor kann eine Hierarchie von verschachtelten Objekten untersucht werden. Software-BausteineDie dritte Säule ist die Delphi-Komponententechnologie, auf der die gesamte grafische Entwicklung aufsetzt. Die Visual Component Library bildet mit ihrer Betriebssystem-unabhängigen Struktur eine zuverlässige Abstraktions-Schicht von der systemnahen Windows-Programmierung. Sie ist eine durchgängige und leicht verstehbare Basisbibliothek mit einigen hundert vorgefertigten Bausteinen, die vom reinen Oberflächen-Design (Editierfelder, Schalter, Listen, Textfelder) über den Datenbank-Zugriff (Tabellen, Abfragen, Trigger, Gitter) bis zur Kommunikation (Sockets, Browser, FTP) reichen. Durch das eingebaute Reflection-API können alle Komponenten sofort visuell eingesetzt und mit dem Objekt-Inspektor in ihren Eigenschaften definiert werden. Ein wichtiger Bestandteil der VCL sind die Datenbank-Zugriffs-Komponenten. Aufgrund der durchdachten Schnittstellen und der Ableitungshierarchie wird mit diesen Bausteinen der Zugriff auf Datenquellen jeder Art sehr elegant gelöst. Insbesondere wird man vor den Implementierungs-Unterschieden zwischen verschiedenen Arten von Datenbanken wie z.B. dBase, ODBC, Oracle, ADO geschützt und kann sie weitgehend auf die gleiche Weise ansprechen. Eine weitere Abstraktionsschicht stellt die Borland Datenbank Engine dar, welche sogar einen gemeinsamen SQL-Dialekt implementiert und mit eigenen Funktionen die Differenzen zwischen den Datenbank-Formaten ausgleicht. Außerdem ist die Delphi-Komponenten-Technologie offen für Komponenten von Dritt-Herstellern. Viel einfacher als mit COM (der Windows-Komponenten-Architektur von Microsoft) kann man hier neue eigene Komponenten durch Ableitung erstellen und in die Entwicklungsumgebung integrieren. Auf dieser Basis ist ein sehr lebendiger Markt für Delphi-Komponenten entstanden, die teilweise frei verfügbar und teilweise kommerziell sind. Der Einsatz dieser Komponenten kann die Entwicklungszeit für neue Anwendungen radikal verkürzen und verringert gleichzeitig die Fehleranfälligkeit. Ein RAD-Tool für LinuxDas alles wird es nun schon bald auch unter Linux geben und wohl einen ziemlichen Produktivitätsschub auslösen. Visuelle Entwicklungsumgebung, Komponenten-Technologie, ein hervorragender Debugger, der lichtschnelle Compiler. Davon kann man als Linux-Entwickler bis heute nur träumen. Die Ziele des Kylix-Projekts sind hochgesteckt. Das Werkzeug wird aussehen wie Delphi und soll sich anfühlen wie Delphi. Noch wichtiger: Reinrassige Delphi-Anwendungen werden hochgradig kompatibel sein, d.h. ohne große Änderungen auch für Kylix kompiliert werden können. Dadurch öffnet sich für alle Delphi-Entwickler auf einen Schlag die Plattform Linux und andererseits wird plötzlich eine enorme Anzahl an Programmen und Komponenten für Linux verfügbar. Plattformübergreifende Komponenten-BibliothekAn die Stelle der Visual Component Library tritt in Kylix die CLX-Bibliothek (wird wie "Clicks" ausgesprochen). Der Aufbau von CLX und ihre Schnittstellen sind sehr ähnlich zur VCL, die Implementierung ist jedoch Plattform-unabhängig. Während die VCL auf den Windows-Steuerelementen aufsetzt, dient als Basis für CLX die bekannte Qt-Bibliothek von Troll Tech. Dadurch läuft CLX problemlos sowohl unter KDE als auch unter Gnome. Da die Klassen, Eigenschaften, Methoden und Ereignisse von CLX weitgehend identisch mit denen der VCL sind, sollte es keine großen Schwierigkeiten machen, bestehende VCL-Anwendungen nach Linux zu portieren bzw, sie Plattform-unabhängig zu machen. Voraussetzung ist natürlich, dass die Möglichkeiten der VCL ausgeschöpft wurden und keine Windows-API-Funktionen direkt verwendet werden. Zugriff auf DatenbankenNeben der neuen Komponenten-Bibliothek kommt mit Kylix auch auf dem Gebiet des Datenbank-Zugriffs etwas neues. Die altehrwürdige BDE wird als einheitliche Daten-Zugriffs-Schicht von dbExpress ersetzt. Die Borland Database Engine wird ja schon lange von vielen als zu groß, zu langsam und zu umständlich betrachtet und immer weniger gern eingesetzt. Aus diesem Grund stellt Borland mit dbExpress eine neue leichtgewichtige Datenbank-Technologie vor, die einerseits sicherer und schneller sein soll und andererseits weniger aufwendig zu installieren ist. Wie Bernd Ua in seinem interessanten Artikel bemerkt, bedeutet dies jedoch für Entwickler, die bisher mit dBase oder Paradox-Dateien arbeiten gravierende Änderungen. Zwar ändert sich der Umgang mit Datenbank-Tabellen und Abfragen zwar kaum, weil die entsprechenden Komponenten der CLX sich hier genauso verhalten wie die Data Access-Komponenten der VCL. Aber die bisherigen Datenformate werden wohl nicht mehr zur Verfügung stehen. Trotzdem ist es zu begrüßen, dass mit der BDE auch einmal alte Zöpfe abgeschnitten werden und eine zeitgemäße Schnittstelle eingeführt wird. Warten auf KylixKylix wird also spannend. Sowohl für Windows-Entwickler, denen sich eine neue Betriebssystem-Plattform öffnet, als auch für Linux-Programmierer, die erstmals ein echtes RAD-Tool an die Hand bekommen. Und nicht zuletzt für alle Linux-Anwender, die sich mit der Einführung von Kylix auf eine Welle von neuen Applikationen freuen dürfen. Bis es soweit ist (und natürlich auch danach), halten wir Sie mit kylix-forum.de auf dem laufenden. Weitere Links zu diesem Artikel finden Sie hier. Peter Pohmann ist Geschäftsführer der dataWeb GmbH und darüber hinaus als Berater für Software-Architektur, Coach, Seminarleiter und Fachautor tätig. Seit fünfzehn Jahren arbeitet er intensiv mit objektorientierten Technologien und mit Windows. Kylix ist für ihn der willkommene Anlass, sich endlich eingehender mit Linux zu befassen.
|