10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated...
-
Upload
warin-altig -
Category
Documents
-
view
105 -
download
0
Transcript of 10. Januar 20022 Entwicklungsumgebungen unter Windows (und Unix) Was ist eine IDE (=Integrated...
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
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
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
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
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)
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
10. Januar 2002 8
C/C++ IDEs
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
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
10. Januar 2002 11
PalmOS Emulator (=POSE):
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
10. Januar 2002 13
C/C++: CodeWarrior for PalmOS
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é
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
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
10. Januar 2002 17
10. Januar 2002 18
10. Januar 2002 19
C/C++: Visual Form Designer
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
10. Januar 2002 21
10. Januar 2002 22
Basic IDEs
10. Januar 2002 23
Basic: NSBasic/Palm
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)
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
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
10. Januar 2002 27
Java IDEs
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
10. Januar 2002 29
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.
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
10. Januar 2002 32
Vergleich
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 $
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)
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
10. Januar 2002 36
Jetzt noch eine kleine Demonstration einer IDE...