Produktive Programmentwicklung mit Open Source Mattias Gärtner moderner, flexibler Compiler IDE / RAD.

Slides:



Advertisements
Ähnliche Präsentationen
E-Commerce Shop System
Advertisements

Referat von Frederik Barth
Programmorganisation
Neuerungen in PalmOS® 5 Florian Schulze (SS 2003).
eXist Open Source Native XML Database
Gliederung des Inhalts
Betriebssysteme für mobile Endgeräte
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
Das Build-Tool ANT ETIS SS05. ETIS SS05 - Nadine FröhlichANT 2 Gliederung Motivation Build - Datei –Allgemeiner Aufbau –Project –Target –Task –Properties.
Eclipse - Entwicklungsumgebung und mehr ETIS SS05.
Introducing the .NET Framework
Mono und andere freie.NET Implementierungen. Implementierungen Microsoft.NET Framework Win32, Win64? Microsoft.NET Compact Framework WinCE (Mobile, Phone)
Einführung in Visual C++
DVG Einführung in Java1 Einführung in JAVA.
Open Source Prozessor Leon2 Peer Royla und Marco Siebert RST-Labor WS 04/05 Prof. Dr.-Ing. Thomas Risse.
Smalltalk für Quereinsteiger
MSDN Webcast: VB. NET für Einsteiger und Umsteiger Einführung in VB
Delphi Eine objektorientierte Programmiersprache © Beushausen 2000.
Simple Programmierung
INHALT INHALT Inhalt Delphi IDE ObjectPascal Hello World! Delphi IDE
Wordpress. Wordpress… Open Source – GNU General Public License Wordpress…
Java und Eclipse.
Vergleich verschiedener Konzepte für das Software Engineering Praktikum.
Marko Dragicevic Thomas Bergauer 27.Mai 2008
MMIX-Edit Felix Albrecht.
CGI (Common Gateway Interface)
EP Media Group SiteKist CMS Version 6.9. ©2014 EP Media Group Internet:
Historische Entwicklung und ihre Einteilung
Embedded Linux Portierung auf mobiles Datenerfassungsterminal
Visionaire - Adventure Game Engine Tipps und Konzepte zur Entwicklung eines Spiele Editors Alex Hartmann.
Datenanbindung in Webapplikationen
SQL Server nach MySQL Datenbank-Migration SQLWays – Software für Migration Präsentation Copyright (c) Ispirer Systems Ltd. Alle.
Eine Entwicklungsumgebung für Free-Pascal Peter G. Poloczek, M5543
Delphi Einführung Von Frank Schullerer. Inhalt  1 Einführung  2 Die integrierte Entwicklungsumgebung  3 Komponenten  4 Das erste Programm  5 Die.
Enhydra Shark Workflow-Management Frank Aurich Markus Reisch.
VirtualPatt 2000 Interaktives 3D-Schachspiel
PHP:: Hypertext Preprocessor Einführung Praxis. PHP:: Hypertext Preprocessor Jetzt mal von der anderen Seite © All rights reversed2 PHP:: Hypertext Preprocessor.
ROS – Robot Operating System
Java Server Pages Technologie zur Erzeugung dynamischer Webseiten basierend auf Java-Servlets Blockseminar Wintersemester 2001/2002Jochen Pfeiffer Seite.
2.6 Erinnerung: Programmverwaltung Quellencode (getrennt übersetzbare Programmteile) (source code) Übersetzer (compiler, assembler) Objektcode
Seminararbeit Release Management von Web-Systemen Minh Tran Lehrstuhl für Software Engineering RWTH Aachen
Programmierung unter VB.Net mit der IDE VisualStudio. Schritt für Schritt erklärt und beschrieben. Zielgruppe: Komplette Neueinsteiger mit fundiertem Computerwissen.
Linux – Ubuntu Präsentation zur Sitzung am Referent: S. Imdahl.
Webseiten – HTML Gliederung 1.Einführung in HTML 2.Aufbau einer einfachen Webseite.
Linux Seminar Einführung Linux. Gliederung ● Was ist Linux? ● Geschichte ● GNU/GPL ● grundsätzliche Begriffe ● Vorteile ● Nachteile ● Hilfe? ● Unterschiede.
Seminar Softwareproduktlinien Domänenspezifische Sprachen Sascha Draffehn von.
Title of OpenOffice.org Slide Presentation Presentation Author Title Company Name.
Windows Emulation unter Linux Ramon Klass
Erstellung performanter Webapplikationen mit Tntnet Schneller und sicherer durch compilierten Code im Web Tommi Mäkitalo.
Deutscher Perl Workshop 2014 PORF Practice
Häufig gestellte Fragen
Programmieren und Problemlösen
Google App Engine - Technische Stärken und Schwächen
Praktische Informatik 1
9.5 Microsoft .NET Architektur: objektorientiert/Fernaufrufe (8.1.6 )
Entwicklungsumgebung Lazarus
Programmierparadigmen
Objektorientierte Programmierung
Quantum GIS Kernfunktionen Erweiterungen
Programmieren und Problemlösen
SLA Reporting leicht gemacht
Ein kleiner (Ein|Über)blick
TypeScript rocks?! 16. Mai 2017 Tuan Dang-Schulz.
Paketzyklen – Diagnose, Therapie und Prophylaxe
Open Text Network Gründertreffen 22. Oktober, 2014 Ich heisse…
Ein kurzer Überblick Thomas Karp
Übersicht und Benutzung von Sphinx
Implementieren von Klassen
Objektorientierte Programmierung
 Präsentation transkript:

Produktive Programmentwicklung mit Open Source Mattias Gärtner 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 benötigten Quelldateien und übersetzt automatisch alle veränderten Dateien neu. Schneller Compiler: – 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 für 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 unabhängig 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

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

Entwicklungsumgebung IDE für Konsole bzw. Terminal

Lazarus IDE, RAD: komplett geschrieben mit FPC+Lazarus Plattformen: Windows, Linux, MacOSX und FreeBSD Übersetzungen: Deutsch, Finnisch, Niederländisch, Französisch, Katalanisch, Polnisch, Spanisch, Ukrainisch, Portugisisch, Japanisch, Indonesisch, Chinesisch, Italienisch, Afrikanisch, Russisch, Arabisch, Litauisch, Hebräisch

Lazarus IDE IDE ist erweiterbar durch IDEIntf Package Dokumentation: Wiki, Tutorien, Kontextsensitive Hilfe, Mailingliste Debugger: Unterbrechungspunkte, Überwachte Ausdrücke, Stack

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

Lazarus Editor Suche/Ersetzen auch mit regulären Audrücken, ü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

Größe Kompilation großer Projekte mit Abhängigkeiten auf Kommandozeile: lazbuild Namespaces IDE getestet mit großen 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 für Strings, die mit gängigen Werkzeugen zusammenarbeiten (po Format) Konvertiererwerkzeuge für 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 für Quelldateien (einfach F1 drücken), Applikationen Databases: mysql: , 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 für Ihre Aufmerksamkeit!