10. januar 20022 entwicklungsumgebungen unter windows (und unix) was ist eine ide (=integrated...

36

Upload: warin-altig

Post on 06-Apr-2015

105 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an
Page 2: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 2

Entwicklungsumgebungenunter Windows (und Unix)

• Was ist eine IDE (=Integrated Development Environment)

• Welche Ansprüche stellt man an eine IDE im Hinblick auf Palmprogrammierung

• Welche Schritte sind nötig, um ein Palmprogramm zu entwickeln

• Vorstellen verschiedener IDEs zur Entwicklung von Palm-Applikationen (C/C++, Basic und Java)

• Abschließender Vergleich und Bewertung im Überblick

Page 3: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 3

Was ist eine IDE?

• Softwarepaket, das die Entwicklung von Programmen erleichtert

• Besteht meist aus mehreren Komponenten, auf die man über eine gemeinsame Bedienoberfläche zugreifen kann

• Hauptkomponenten:- Editor- Compiler/Linker- Debugger

• Darüber hinaus: Projektmanager, Versionskontrolle, Wizards und Tools

Page 4: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 4

Palmprogrammierung: Was ist noch wichtig für eine IDE?

• Einfache Installation, alle Entwicklertools inklusive(SDK, Ressourcecompiler, Emulator, Dokumentation)

• Schnelle Einarbeitungszeit (Tutorials, UserGuide)• Einfaches Bedienkonzept, „intuitive“ Bedienung• Ständige Übersicht über das Projekt

(Projektmanager)• Komfortabler Ressource-Editor (Formulardesigner

mit drag&drop)• Wizards zur Codeerzeugung für

Standardkomponenten (wie Menüs, Buttons, etc.)• Universell für alle palmbasierten Geräte

Page 5: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 5

Palmprogrammierung: Was ist noch wichtig für eine IDE?

• Simulation und Debuggen der Palmapplikation• Automatische Koordination der Abhängigkeiten im

Sourcecode und den Ressourcedefinitionen

Page 6: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 6

Welche Schritte braucht man, um ein Palmprogramm zu entwickeln

1. Erstellen/Compilieren der Ressourcen (also das UserInterface für die spätere Applikation)

2. Programmieren der Anwendung (unter Berücksichtigung der Ressourcen)

3. Compilieren+Linken PRC-File4. Simulation starten (im Emulator) oder direkt am

Gerät testen und5. Debuggen (Emulator oder direkt am Gerät)6. Fehler beseitigen ;-)7. Programmgröße für das Release optimieren (z.B.

Debug-Informationen weglassen beim Compilieren)

Page 7: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 7

IDEs im Test:

• C/C++:- PRC-Tools/PilRC und POSE- Metrowerks CodeWarrior for Palm OS- Visual Form Designer (VFDIDE)

• Basic:- NS Basic/Palm- AppForge

• Java:- Simplicity for Palm OS Platform- JBuilder Handheld Express for PalmOS/ JBuilder

MobileSet

Page 8: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 8

C/C++ IDEs

Page 9: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 9

C/C++: PRC-Tools/PilRC

• PRC-Tools 2.0 (www.sourceforge.net)• GCC basiert, benötigt CygWin (unter Windows)• Installation umständlich• Reine Commandline-Tools• Direkte Unterstützung durch Palm• PilRC 2.8 (www.ardiri.com)• Ressourcecompiler für Formulardesign• Text-Ressource-Definitionen binäre Ressourcedateien• PilRCUI: graphische Vorschau der Ressourcedefinitionen• RscEdit Betaversion (www.handspring.com)• drag&drop Ressource-Editor

Page 10: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 10

Beispiel: Ressourcedefinition#include "D:/PalmDev/VFIDE/Sample1PRCTools20/Counter.h"

FORM ID formID_Counter AT (0 0 160 160)

NOFRAME

NOSAVEBEHIND

USABLE

BEGIN

LABEL "Name" ID lblID1 AT (5 2) USABLE FONT 0

LABEL "Punkte" ID lblID2 AT (110 1) USABLE FONT 0

BUTTON "\001" ID ButtonID_Plus AT (146 140 14 10) USABLE LEFTANCHOR NOFRAME FONT 5

END

ALERT ID alertID_Custom

DEFAULTBUTTON 0

INFORMATION

BEGIN

TITLE "Information"

MESSAGE "Bla Fasel"

BUTTONS "OK"

END

Page 11: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 11

PalmOS Emulator (=POSE):

Page 12: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 12

POSE

• Aktuelle Version 3.3 (www.palmos.com)• Versionen für Windows, MacOS und Unix• Basiert auf dem 68K-Prozessor• Emuliert mit sog. ROM-Images eine komplette

PalmOS-Umgebung• Zum Testen und Debuggen von Applikationen und

Libraries• Debugschnittstelle für Entwicklungsumgebungen• Synchronisation mit Conduits• TCP/IP und netzwerkfähig

Page 13: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 13

C/C++: CodeWarrior for PalmOS

Page 14: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 14

C/C++: CodeWarrior for PalmOS

• Aktuell: Version 8.0 (www.metrowerks.com)• Komplette IDE bestehend aus:

- Projektmanager mit Versionskontrolle- Compiler/Linker- Debugger- Drag&Drop Formulardesigner (Palm Constructor) mit

Ressourcecompiler• Läuft auch unter MacOS• Unterstützte Prozessoren: M68328 Dragonball,

M68EZ328 (PalmV/VII), M68VZ328 (Handspring Visor)

• Unterstützt auch 3rd Party SDKs: Symbol, Handspring, Handera, Sony Clié

Page 15: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 15

C/C++: CodeWarrior for PalmOS

• Integriert PalmOS SDK Referenz, Companion, etc. in die Hilfe der IDE (direkter Zugriff)

• Projektmanager:- Wizards und Templates zur einfachen Erstellung von

Projekten, Application Wizards, Library Wizards- Koordination der Abhängigkeiten zwischen Code-

Dateien, Libraries, Modulen und Ressource-Definitionen- Codeversion Control, zentrale Verwaltung aller Dateien

• Compiler:- ANSI C und ANSI/ISO C++ Compiler- Simple-/Standard-/Expanded-Mode

Page 16: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 16

C/C++: CodeWarrior for PalmOS

• Debugger:- Voll integriert, direktes Debuggen am Gerät (auch via

USB) bzw. am Emulator (POSE)- Zugriff auf Sourcecode und 68K-Assemblercode- Debuggt auch gesharte Libraries

• Weitere Merkmale:- Springboardprogrammierung direkt im CodeWarrior

(Handspring ROM Builder)- Einfache Installation- Import von GCC-Projekten (PRC-Tools) und

Wiederverwendung von PilRC Ressourcen

Page 17: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 17

Page 18: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 18

Page 19: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 19

C/C++: Visual Form Designer

Page 20: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 20

C/C++: Visual Form Designer

• Aktuell: Version 4.2.5 (www.vfdide.com)• Entwickelt von einer Hamburger Softwarefirma• IDE wird nicht komplett installiert• Benötigt CygWin, PRC-Tools und PilRC (nicht

mitgeliefert)• Installation umständlich, aber mit beiliegender

Anleitung kein Problem• Einfache Bedienung („intuitiv“)• Hauptkomponente: Der Formulardesigner

(drag&drop), sehr komfortabel• Ideal für die schnelle Entwicklung formularbasierter

Applikationen

Page 21: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 21

Page 22: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 22

Basic IDEs

Page 23: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 23

Basic: NSBasic/Palm

Page 24: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 24

Basic: NSBasic/Palm

• Version 2.0 (www.nsbasic.com)• NS = „Nice & Smart“• Vollständige IDE• Schnelle Einarbeitungszeit (gutes Tutorial)• Formulardesigner komfortabel mit drag&drop• Unterstützt Standard-UI-Elemente (Forms, Menus,

Buttons, Scrollbars, ...)• Nach CodeWarrior am meisten benutzte IDE• Arbeitet mit POSE zusammen (Debuggen)

Page 25: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 25

Basic: NSBasic/Palm

• Ausführungsgeschwindigkeit der Palmprogramme mäßig, weil NSBasic-Runtime-Library auf dem Palm erforderlich wenig geeignet für Programme, die viel berechnen

• Mit gedrucktem (!) Handbuch

Page 26: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 26

Basic: AppForge (PlugIn)

• Version 2.0 (www.appforge.com)• Keine eigenständige IDE• Integriert sich in MS Visual Basic, setzt Visual Studio

6.0 voraus• Daher schnelle Einarbeitungszeit, wenn im Umgang

mit der Visual Studio IDE schon routiniert• Auch zur Entwicklung von Programmen für PocketPC

geeignet• Integriertes Debugging• Anbindung an ODBC Datenbanken

Page 27: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 27

Java IDEs

Page 28: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 28

Java: Simplicity for PalmOS

• Version 2.0 (www.datarepresentations.com)• Vollständige IDE• Versionen für Windows, Linux und alle Unix-Derivate• Komfortabler drag&drop Formulardesigner• Basiert auf IBMs J9 Virtual Machine• Wizards zur Erstellung von Projekten und Code• Ausführungsgeschwindigkeit der Palmprogramme

abhängig von der VM auf dem Palm• Emulator integriert

Page 29: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 29

Page 30: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 30

Java: JBuilder MobileSet (PlugIn)

• Veraltete Programmbezeichnung „JBuilder Handheld Express for PalmOS, wurde ersetzt durch JBuilder MobileSet (www.borland.com/jbuilder/mobileset)

• Keine eigenständige IDE• Integriert sich in JBuilder5/6• Basiert auf Suns J2ME VM (Java2 MicroEdition für

mobile Geräte)• Universell einsetzbar nicht nur für Palms sondern

auch Handys etc.

Page 31: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 31

Java: JBuilder MobileSet (PlugIn)

• Entwicklung von sog. MIDlets• Visueller Designer für schnelle Formularerstellung• Unterstützt MIDP UI-Elemente

(also UI-Elemente der J9)• Integrierte Wizards

Page 32: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 32

Vergleich

Page 33: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 33

PRC-Tools,PilRC

Codewarrior VFD-IDE NSBasic/Palm

Simplicity for PalmOS

OS: Win/Unix Win/Mac Win Win Win/Unix

Sprache: C/C++ C/C++ C/C++ Basic Java

Installation: anspruchsvoll einfach anspruchsvoll einfach einfach

Einarbeitungszeit:

hoch hoch mittel gering gering

Bedienung: gewöhnungs-bedürftig

mittel einfach einfach einfach

Flexibilität: hoch sehr hoch mittel mittel mittel

Ressource-editor:

textbasiert(oder RscEdit)

Palm Constructor

built-in drag&drop

built-indrag&drop

built-indrag&drop

Emulator: POSE(extern)

POSE(extern)

POSE(extern)

POSE(extern)

integriert(proprietär)

Debugger: Extern: von SDK-Tools

built-in built-in built-in built-in

Preis: kostenlos 619 € 25 - 55 $ 149,95 $ 295 $

Page 34: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 34

Abschließende Bemerkungen

• spezielle Studentenversionen meist bei allen Herstellern erhältlich (z.B. CodeWarrior für 119$)

• unter anderem auch getestet:- Falch.net Developer Studio 2.5: Vergleichbar mit

den bereits vorgestellten C/C++ IDEs. Stürzte im Test andauernd ab.

- IBM Visual Age ME for Java: auch J9-basierend, sehr umständlich in der Bedienung, nicht speziell für PalmOS (für diverse embedded devices geeignet)

Page 35: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 35

Linksammlung

• www.metrowerks.com• www.vfdide.com• www.nsbasic.com• www.appforge.com• www.datarepresentations.com• www.borland.com/jbuilder/mobileset• www.palmos.com/dev/tech/tools• www.palmos.com/dev/tech/tools/emulator/• www.sourceforge.net• www.ardiri.com• www.handspring.com

Page 36: 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated Development Environment) Welche Ansprüche stellt man an

10. Januar 2002 36

Jetzt noch eine kleine Demonstration einer IDE...