Overview of Free Pascal and Lazarus/de

From Free Pascal wiki
Jump to: navigation, search

Deutsch (de) English (en) español (es) français (fr) magyar (hu) Bahasa Indonesia (id) italiano (it) 日本語 (ja) 한국어 (ko) polski (pl) português (pt) русский (ru) slovenčina (sk) 中文(中国大陆)‎ (zh_CN) 中文(台灣)‎ (zh_TW)

Überblick über Free Pascal und Lazarus

Free Pascal (FPC) ist ein Open-Source Pascal Compiler mit zwei bemerkenswerten Features:

  • ein hohes Maß an Delphi Kompatibilität
  • und die Verfügbarkeit auf verschiedenen Plattformen, inklusive Windows, Mac OS X und Linux. Die Kompatibilität von Free Pascal mit Delphi beinhaltet nicht nur die Unterstützung für die selbe Object Pascal Programmiersprache, die Delphi verwendet, sondern auch für viele Bibliotheken mit leistungsstarken Routinen und Klassen, für die Delphi zu Recht bekannt ist. Dies sind vertraute Units wie System, SysUtils, StrUtils, DateUtils, Classes, Variants, Math, IniFiles und Registry, die in Free Pascal für alle unterstützten Plattformen enthalten sind. Free Pascal enthält auch Units wie Windows, ShellAPI, BaseUnix, Unix und DynLibs für den Zugriff auf plattformspezifische Features. Dieses (ungefähre) Dutzend von Units bildet den Kern der Free Pascal Laufzeitbibliothek (RTL).

Lazarus ist ein Open-Source Entwicklungssystem, das auf dem Free Pascal Compiler aufbaut, indem ein integrated development environment (IDE) dazu kommt, das einen Code-Editor mit syntax-highlighting enthält und einen visuellen Formular-Designer, sowie eine Komponentenbibliothek, die höchst kompatibel mit Delphi's Visual Component Library (VCL) ist. Die Lazarus Component Library (LCL) enthält Entsprechungen für viele vertraute VCL Bedienelemente wie Formulare, Schaltflächen, Textfelder und so weiter, die verwendet werden, um Anwendungen mit einer grafischen Oberfläche (GUI) zu erstellen.

Beide, Free Pascal und Lazarus, sind in Pascal geschrieben. Der komplette Quellcode ist nicht nur für den Free Pascal Compiler und die Lazarus IDE verfügbar, sondern auch für alle Units, die die Free Pascal RTL und die Lazarus LCL ausmachen.

Wie Delphi sind Free Pascal und Lazarus Mehrzweck-Programmier-Werkzeuge. Das bedeutet, dass Sie eine große Vielfalt von Programmen mit ihnen entwickeln können, inklusive der folgenden:

Konsolenanwendungen

Konsolenanwendungen haben keine grafische Oberfläche (GUI). Stattdessen werden sie üblicherweise von der Konsole aus gestartet, lesen ihre Eingabe von der Konsole, und schreiben ihre Ausgabe in die Konsole.

Unter Windows wird die Konsole gewöhnlich als "Befehlszeile" oder "command prompt" (cmd) bezeichnet, in OS X und Linux als "Terminal-Fenster".

Konsolenanwendungen beinhalten kleine Werkzeuge wie z.B. das Windows FC (file compare) Programm oder die Unix cd und cp Kommandos.

Konsolenanwendungen können auch mächtige Zahlenverarbeitungs-, Modellierungs- oder Datenverarbeitungsprogramme sein, die kein extravagantes GUI benötigen, weil sie von anderen Programmen oder Batchdateien gestartet werden.

Der Free Pascal Compiler und die darin enthaltenen Komponenten sind alles Konsolenanwendungen. Das bedeutet, dass sie von der Konsole, einer Batchdatei, oder von der Lazarus IDE (Integrated Development Environment auf deutsch: integrierte Entwicklungsumgebung) gestartet werden können.

Zur Erstellung einer Konsolenanwendung ist lediglich ein Texteditor und der "Free Pascal Compiler" notwendig. Lazarus ist in diesem Fall keine Voraussetzung.

Lazarus ist nicht notwendig, um Konsolenanwendungen zu erstellen.

Wie auch immer, wenn Sie die Arbeit in einer IDE bevorzugen, dann ist Lazarus die beste Wahl, um Konsolen-Projekte zu erstellen, zu bearbeiten, zu debuggen und zu kompilieren.

Dynamisch ladbare Bibliotheken

Eine dynamisch ladbare Bibliothek ist üblicherweise eine Sammlung von kompilierten Funktionen, die von anderen Programmen aufgerufen werden können. Wie der Name schon sagt, wird die Bibliothek nicht während des Programmstarts sondern erst zur Laufzeit geladen. Unter Windows hat eine Bibliotheksdatei die Erweiterung .dll (dynamic-link library, oder DLL). Unter OS X hat eine Bibliotheksdatei die Erweiterung .dylib (dynamic shared library) und unter Linux die Erweiterung .so (shared object library). Dynamisch ladbare Bibliotheken werden typischerweise verwendet, um Add-ons für andere Programme zu entwickeln, um Bibliotheken zu entwickeln, die von Programmen aufgerufen werden, die in anderen Sprachen wie C und C++ geschrieben wurden, oder um große Projekte in Stücke zu teilen, so dass sich die Projektentwickler nicht gegenseitig auf die Zehen treten. Windows selbst besteht aus hunderten von DLLs, so wie viele andere große Anwendungen wie OpenOffice.org.

Wie bei Konsolenanwendungen benötigen Sie nur einen Texteditor und den Free Pascal Compiler, um eine Bibliothek zu entwickeln, obwohl Sie auch ein Lazarus-Projekt für die Bibliothek erstellen können und diese in der Lazarus IDE entwickeln können.

Unter Windows haben DLLs einen unverdienten Ruf, übermäßig komplex und instabil zu sein. Dies hat mehr zu tun mit der Art und Weise, mit der sie manchmal installiert wurden, als mit den DLLs selbst. Die Übergabe von Information an und von DLLs geschieht gewöhnlich mit einfachen Standard-Datentypen (eher als mit sprachspezifischen Objekten oder Strukturen), was Programmierer zwingt, sorgfältiger darauf zu achten, was sie tun. Wenn das richtig gemacht wird, kann es zu besseren, stabileren Programmen führen.

GUI Anwendungen

Die meisten Programme, die wir täglich nutzen, sind GUI Anwendungen, inklusive Textverarbeitung, Internetbrowser, Tabellenkalkulation, sogar vieler Entwicklungswerkzeuge. Lazarus und Delphi sind beide gute Beispiele von voll ausgestatteten GUI Anwendungen. Wenn Sie eine GUI Anwendung mit Lazarus entwickeln, entwickeln Sie nicht nur Units mit Pascal Code, Sie entwerfen auch Formulare, die visuelle Bedienelemente wie Buttons und Listboxen enthalten. Wie in Delphi wird das Formulardesign in Lazarus visuell erledigt. Elementeigenschaften können in der IDE gesetzt werden oder im Code.

Da die LCL Bedienelemente für alle unterstützten Plattformen zur Verfügung stellt, kann eine GUI-Anwendung, die auf einer Plattform entwickelt wurde (zum Beispiel Windows), auf anderen Plattformen (zum Beispiel OS X oder Linux) ohne jede Änderung am Formulardesign oder an den Quelldateien kompiliert werden .