10. Januar Entwicklungsumgebungen unter 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 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 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 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 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-File 4.Simulation starten (im Emulator) oder direkt am Gerät testen und 5.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 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 C/C++ IDEs
10. Januar C/C++: PRC-Tools/PilRC PRC-Tools 2.0 ( GCC basiert, benötigt CygWin (unter Windows) Installation umständlich Reine Commandline-Tools Direkte Unterstützung durch Palm PilRC 2.8 ( Ressourcecompiler für Formulardesign Text-Ressource-Definitionen binäre Ressourcedateien PilRCUI: graphische Vorschau der Ressourcedefinitionen RscEdit Betaversion ( drag&drop Ressource-Editor
10. Januar Beispiel: Ressourcedefinition #include "D:/PalmDev/VFIDE/Sample1PRCTools20/Counter.h" FORM ID formID_Counter AT ( ) 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 ( ) USABLE LEFTANCHOR NOFRAME FONT 5 END ALERT ID alertID_Custom DEFAULTBUTTON 0 INFORMATION BEGIN TITLE "Information" MESSAGE "Bla Fasel" BUTTONS "OK" END
10. Januar PalmOS Emulator (=POSE):
10. Januar POSE Aktuelle Version 3.3 ( 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 C/C++: CodeWarrior for PalmOS
10. Januar C/C++: CodeWarrior for PalmOS Aktuell: Version 8.0 ( 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 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 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
10. Januar
10. Januar C/C++: Visual Form Designer
10. Januar C/C++: Visual Form Designer Aktuell: Version ( 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
10. Januar Basic IDEs
10. Januar Basic: NSBasic/Palm
10. Januar Basic: NSBasic/Palm Version 2.0 ( 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 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 Basic: AppForge (PlugIn) Version 2.0 ( 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 Java IDEs
10. Januar Java: Simplicity for PalmOS Version 2.0 ( 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
10. Januar Java: JBuilder MobileSet (PlugIn) Veraltete Programmbezeichnung „JBuilder Handheld Express for PalmOS, wurde ersetzt durch 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 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 Vergleich
10. Januar PRC-Tools, PilRC CodewarriorVFD-IDENSBasic/ Palm Simplicity for PalmOS OS:Win/UnixWin/MacWin Win/Unix Sprache:C/C++ BasicJava Installation:anspruchsvolleinfachanspruchsvolleinfach Einarbeitungs zeit: hoch mittelgering Bedienung:gewöhnungs- bedürftig mitteleinfach Flexibilität:hochsehr hochmittel Ressource- editor: textbasiert (oder RscEdit) Palm Constructor built-in drag&drop Emulator:POSE (extern) integriert (proprietär) Debugger:Extern: von SDK-Tools built-in Preis:kostenlos619 € $149,95 $295 $
10. Januar 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 Linksammlung
10. Januar Jetzt noch eine kleine Demonstration einer IDE...