Sie sind auf Seite 1von 21

Produktive Programmentwicklung mit Open Source

Mattias Grtner

moderner, flexibler Compiler


IDE / RAD

Free Pascal
Free Pascal (aka FPK Pascal)
professioneller 32 und 64 bit Pascal Compiler.
FPC ist komplett in FPC geschrieben und wurde
vor Jahren mit TP begonnen.
Saubere und einfache Sprache: moderne
Sprache, gute Lesbarkeit, sehr gute Wartbarkeit

Schnelle Kompilierung
Keine Makefiles: Compiler sucht alle bentigten
Quelldateien und bersetzt automatisch alle
vernderten Dateien neu.
Schneller Compiler: 10.000 50.000 Zeilen pro
Sekunde.

Free Pascal
Jede Unit hat ihre eigenen Bezeichner: keine
Namespace Probleme wie in C
Objekt orientierte Programmierung: Klassen,
Interfaces, Generics, viele
Komponentenbibliotheken fr Standardtypen,
Datenbanken, Internetprotokolle/dienste,
Delphi/Turbo Pascal kompatibel

Free Pascal
Integrierter Assembler: direkt in Pascal Code.
Intel und ATT Syntax.
Smartlinking: statisch gelinkt, Entfernung aller
unbenutzten Teile erzeugt sehr kleine
Programmdateien, Vermeidung der DLL
Probleme
unabhngig von Linux Distributionen

Plattformen
Plattformen: windows 32bit+64bit (Win98,WinME,
WinNT, Win2K, WinXP, Vista, Vista 64bit),
WinCE, FreeBSD, Linux 32bit+64bit, MacOSX
PowerPC/Intel, MorphOS
Prozessoren: Intel x86, Amd64/x86 64, PowerPC,
Sparc, Arm
Ohne Emulation nativer Code

Kompatibilitt
Kompatibilitt: Delphi, Mac, Gnu, TurboPascal
Einfache Einbindung von C Bibliotheken
Open Source: erlaubt auch kommerzielle
Benutzung, auch Closed Source

Entwicklungsumgebung
IDE fr Konsole bzw. Terminal

Lazarus
IDE, RAD: komplett geschrieben mit
FPC+Lazarus
Plattformen: Windows, Linux, MacOSX und
FreeBSD
bersetzungen: Deutsch, Finnisch,
Niederlndisch, Franzsisch, Katalanisch,
Polnisch, Spanisch, Ukrainisch, Portugisisch,
Japanisch, Indonesisch, Chinesisch, Italienisch,
Afrikanisch, Russisch, Arabisch, Litauisch,
Hebrisch

Lazarus IDE
IDE ist erweiterbar durch IDEIntf Package
Dokumentation: Wiki, Tutorien, Kontextsensitive
Hilfe, Mailingliste
Debugger: Unterbrechungspunkte, berwachte
Ausdrcke, Stack

Lazarus Editor
basierend auf SynEdit
Syntaxhervorhebung (mehr als 12 Sprachen)
Codefaltung
include Dateien
codetools
Klassen-, Bezeichner-, Wort-, Schablonenvervollstndigung
Refactoring (Bezeichner umbenennen, Prozedur extrahieren)
Lesezeichen
Kommentare werden erhalten

Lazarus Editor
Suche/Ersetzen auch mit regulren Audrcken, ber mehrere
Zeilen und in Verzeichnissen
Deklaration suchen
Methodensuche
IDE kann mit Delphi, Kylix und FPC Quelldateien umgehen auch
gleichzeitig
Erweiterbar ber IDE Plugins

Lazarus Designer
Visueller Formulareditor
Objekt Inspektor
Komponenteneditor
Eigenschaftseditoren
Visueller Vererbung
Automatische Ereigniserzeugung

Gre
Kompilation groer Projekte mit Abhngigkeiten
auf Kommandozeile: lazbuild
Namespaces
IDE getestet mit groen Projekten

Crosskompilation
LCL: gtk und win32/64 stabil
qt: 95%, carbon: 85%, wince: fast alle
Komponenten begonnen.
Crosskompilation im Compiler und IDE bereits
eingebaut

Komponenten
I18n: Integrierte Werkzeuge zur Erstellung von
bersetzungsdateien fr Strings, die mit
gngigen Werkzeugen zusammenarbeiten (po
Format)
Konvertiererwerkzeuge fr Delphi Units, Projekte
und Packages
Drucken: printer4lazarus: cups (Linux, MacOSX,
FreeBSD), winapi (Windows)

Komponenten
C header Konvertierer: h2pas und h2pas Wizard
(package h2paswizard)
Hilfe: Hilfe/Dokumentation fr Quelldateien
(einfach F1 drcken), Applikationen
Databases: mysql: 4.0-5.0, postgresql, oracle,
odbc, Firebird/Interbase, SQLite
Visuelle Datenbankkomponenten (z.B. DBEdit)

Komponenten
RTTI Komponenten: Run Time Type Information
CGI: cgiLaz
chm Hilfedateien: ChmHelpPkg
DBF: dbflaz
Automatic Testing: fpcunit

Komponenten
Bildformate: .bmp, .png, .xpm, . jpg, .pnm, .tga
(imagesforlazarus)
OpenGL Komponente: lazopenglcontext (gtk,
carbon, win32/64) oder glscene (linux/gtk,
win32)
Internet/smtp/ftp/http/tcp: Synapse, Curl, Indy,
LNet
Code-Formatierer: prettyformat
...

Projekte

Lazarus + FPC

Danke fr Ihre Aufmerksamkeit!

Das könnte Ihnen auch gefallen