Artikel

Juni 2004 | Artikel

Bewegliche Ziele

(Link zum Artikel: http://www.it-republik.de/dotnet/artikel/0568)

Entwicklungsumgebungen für Pocket PCs und Smartphones

Text: von Robert Panther
Mobile Devices auf Basis von Windows CE haben sich inzwischen fest am Markt etabliert. Nach dem Siegeszug der Pocket PCs setzen sich auch Smartphones auf Basis des Microsoft-Betriebssystems allmählich durch. Und selbst das totgesagte Format der Handheld PCs lebt mit neuen Geräten wie beispielsweise den aktuellen Devices von Demolux und Psion wieder auf. Doch so unübersichtlich der Markt der mobilen Geräte geworden ist, bei den Entwicklungsumgebungen sieht es nicht einfacher aus. Auch hier gibt es eine Vielzahl von möglichen Varianten, von denen allerdings nicht alle für jeden Gerätetyp geeignet sind. In diesen Dschungel an verfügbaren Gerätetypen und Entwicklungsumgebungen soll dieser Artikel etwas Licht bringen.

Im Wesentlichen sind dabei drei Entwicklungsumgebungen von Bedeutung, die allesamt aus dem Hause Microsoft stammen. Es gibt zwar auch zahlreiche Produkte anderer Hersteller. Diese haben jedoch keine allzu große Marktverbreitung und damit nur geringe Bedeutung. Die erwähnten drei Entwicklungsumgebungen sind:

  • Microsoft eMbedded Visual Tools 3.0
  • Microsoft eMbedded Visual C++ 4.0
  • Microsoft Visual Studio .NET 2003

Bei allen dieser Entwicklungsumgebungen findet die eigentliche Entwicklung komplett auf dem Desktop PC statt. Die Anwendungen können dann sowohl auf dem mobilen Gerät als auch in einem Emulator auf dem Desktop PC getestet werden, was die Entwicklung erheblich vereinfacht.

Wie bereits angedeutet eignet sich leider nicht jede Entwicklungsumgebung für jeden Gerätetyp. Somit kann schon die Zielplattform, für die Sie entwickeln möchten, ausschlaggebend für die Auswahl der Entwicklungsumgebung sein. Kommen wir im Folgenden zu den einzelnen Entwicklungsumgebungen.
Microsoft eMbedded Visual Tools 3.0
Die eMbedded Visual Tools beinhalten zwei Programmiersprachen (eMbedded Visual Basic 3.0 und eMbedded Visual C++ 3.0) sowie diverse Software Development Kits (kurz SDKs) für die verschiedenen Zielplattformen. Die meisten SDKs enthalten einen Emulator für die jeweilige Plattform. Verfügbar sind hier SDKs für:
  • Handheld PC (Windows CE 2.11)
  • Handheld PC 2000 (Windows CE 3.0)
  • Palm-size PC 1.2 (Windows CE 2.x)
  • Pocket PC (Windows CE 3.0)
  • Pocket PC 2002 (Windows CE 3.0)
  • Smartphone 2002 (nur in Verbindung mit eMbedded Visual C++ 3.0)

Für Pocket PCs und Smartphones, die auf Windows CE .NET (Pocket PC 2003 bzw. Smartphone 2003) basieren, gibt es leider keine entsprechenden SDKs für die eMbedded Visual Tools.
Microsoft hat inzwischen jedoch eine eMbedded Visual Basic 3.0-Runtime für Pocket PC 2003 auf den Markt gebracht (die man kostenfrei downloaden kann), mit der man auf diesen Geräten Anwendungen ausführen kann, die ursprünglich für Pocket PC 2002 entwickelt wurden.

Dies funktioniert so einfach, da die Geräte weiterhin kompatibel sind. In den neuen Pocket PC 2003 fehlt lediglich die Runtime, da diese dem .NET Compact Framework Platz machen musste. Doch dazu später mehr.
Anwendungen, die mit eMbedded Visual C++ entwickelt werden, benötigen keine spezielle Laufzeitumgebung, sondern werden vollständig in Maschinensprache kompiliert. Auch wenn diese Anwendungen in der Regel auch auf einem Pocket PC 2003 laufen, ist eMbedded Visual C++ 3.0 hier weniger zu empfehlen, denn dafür gibt es die Nachfolgeversion eMbedded Visual C++ 4.0, die weiter unten ausführlicher beleuchtet wird.

Eine weitere Ausnahme stellen die Geräte des Typs Smartphone 2002 dar, da für diese Geräte zwar ein SDK erhältlich ist, aufgrund der geringen Speicherressourcen jedoch keine eMbedded Visual Basic-Runtime im ROM enthalten ist und auch nicht nachinstalliert werden kann. Für diese Geräte kann man daher nur mit eMbedded Visual C++ 3.0 entwickeln, da hier - wie gesagt - keine Runtime benötigt wird.
Von der Bedienerführung orientieren sich die eMbedded Visual Tools stark an der klassischen Entwicklungsumgebung Microsoft Visual Studio 6.0. Der Programmierer wird durch Syntax-Highlighting und IntelliSense bei seiner Arbeit unterstützt und auch Formulare können visuell erstellt werden. Auch das Debuggen von Anwendungen - sowohl im Emulator, als auch auf einem über ActiveSync verbundenen Pocket PC - ist möglich.

Großer Vorteil der eMbedded Visual Tools ist die Tatsache, dass diese kostenfrei erhältlich sind. Sowohl die Tools als auch die einzelnen SDKs lassen sich aus dem Internet downloaden oder für eine Versandkostenpauschale auf CD bestellen. Auch bei einigen Programmierhandbüchern ist die Entwicklungsumgebung bereits auf der Buch-CD enthalten. Als deutschsprachige Quelle zum Thema sei hier mein Buch Pocket PC Programmierung mit eMbedded Visual Basic (Franzis Verlag, ISBN 3-7723-6110-2) genannt.
eMbedded Visual C++ 4.0
Genauso wie die eMbedded Visual Tools ist auch eMbedded Visual C++ 4.0 kostenfrei (z.B. per Download) von Microsoft erhältlich. Auch wenn es auf den ersten Blick so scheint, als sei dies der direkte Nachfolger von eMbedded Visual C++ 3.0, so ist dies nur die halbe Wahrheit: eMbedded Visual C++ 3.0 war Bestandteil der eMbedded Visual Tools 3.0, eMbedded Visual C++ 4.0 ist dagegen nur einzeln erhältlich. Von eMbedded Visual Basic gibt es dagegen keine neuere Version.
Da es sich bei eVC++ 4.0 um eine native Entwicklungsumgebung für Windows CE .NET-Geräte handelt, können auch die SDKs der eMbedded Visual Tools 3.0 nicht weiterverwendet werden. Diese sind für ältere Windows CE-Versionen (bis 3.0) ausgelegt.

Mit Hilfe von eVC++ 4.0 können Sie also Windows CE .NET-Anwendungen entwickeln, die auf keine Runtime-Umgebung angewiesen sind. Dadurch gestaltet sich die Entwicklung aber auch erheblich aufwändiger als beispielsweise mit eMbedded Visual Basic. Diese Technologie bietet sich daher vor allem für systemnahe Programmierung (z.B. Betriebssystemerweiterungen aber auch Computerspiele) und weniger für Standardanwendungen an.
Da sowohl Pocket PC 2003 als auch Smartphone 2003 auf Windows CE .NET basieren, gibt es auch hier entsprechende SDKs, sodass man auch die entsprechenden Emulatoren verwenden und die Anwendungen direkt debuggen kann.
Visual Studio .NET 2003 und das .NET Compact Framework
Visual Studio .NET ist die derzeit komfortabelste und modernste Entwicklungsumgebung aus dem Hause Microsoft. Seit Visual Studio .NET 2003 beinhaltet dieses Paket als festen Bestandteil die Smart Device Extensions, mit denen Entwicklung für mobile Geräte möglich ist. Während auf den Desktop PCs das .NET Framework die Klassenbibliothek und Laufzeitumgebung für .NET-Anwendungen zur Verfügung stellt, ist für mobile Geräte eine abgespeckte Version mit dem Namen .NET Compact Framework verfügbar. Auf aktuellen Pocket PCs und Smartphones (Pocket PC 2003, Smartphone 2003) ist die Laufzeitumgebung bereits im ROM enthalten. Auf älteren Geräten (beispielsweise Pocket PC 2002) wird das .NET Compact Framework zusammen mit der Anwendung aufgespielt, sodass die Anwendungen auch hier lauffähig sind.

Der große Vorteil dieses umfassenden Gesamtpakets liegt darin, dass professionelle .NET-Entwickler weiterhin ihre gewohnte Entwicklungsumgebung nutzen können. Über entsprechende SDKs kann mit diesem Tool sowohl für Pocket PCs (2000 und 2002) als auch für Windows CE .NET-Geräte entwickelt werden. Selbst SDKs für Palm-Geräte sind angekündigt.
Nachteilig ist allerdings, dass für Visual Studio .NET 2003 nicht unerhebliche Lizenzgebühren anfallen zumal lediglich die Professional- und die Enterprise-Varianten (Enterprise Developer und Enterprise Architect) von VS .NET die Smart Device Extensions beinhalten. Für professionelle Entwickler, die ohnehin bei der Entwicklung von Desktop-Anwendungen mit Visual Studio .NET arbeiten, fällt dies allerdings nicht weiter ins Gewicht.

Was die verfügbaren Programmiersprachen angeht, so hat man die Auswahl zwischen Visual Basic .NET und C#. Die anderen bei VS.NET mitgelieferten Sprachen J# und Visual C++ .NET bieten den entsprechenden Projekttyp (Anwendung für intelligente Geräte) nicht an.
Fazit
Leider gibt es nicht eine einzige Entwicklungsumgebung, von der man pauschal behaupten könnte, dass sie für alle Entwickler die optimale Variante darstellt. Die Wahl der idealen Entwicklungsumgebung hängt vielmehr von verschiedenen Faktoren ab: So ist es wichtig, sich frühzeitig zu entscheiden, auf welchen Gerätetypen die Anwendungen laufen sollen. Weiterhin ist der Typ der Anwendung entscheidend. Für systemnahe Anwendungen - wie beispielsweise Computerspiele - bei denen man möglichst direkt auf die Hardware zugreifen muss und die Verwendung einer Runtime aus Performance-Gründen nicht vertretbar ist, bietet sich eMbedded Visual C++ an (für Windows CE .NET-Geräte wie beispielsweise Pocket PC 2003 in der Version 4.0, für ältere Pocket PCs sowie Handheld PCs in der Version 3.0).

Die meisten Entwickler werden aber vorrangig normale Anwendungen (z.B. Datenbankanwendungen) schreiben, sodass sich hier eher die Frage stellt, ob man eMbedded Visual Basic oder Visual Studio .NET verwendet. Wird ausschließlich für mobile Geräte mit Windows CE entwickelt und Windows CE .NET ist kein kritischer Faktor, sind die eMbedded Visual Tools (mit eMbedded Visual Basic) meist ausreichend. Ist aber bereits eine Visual Studio .NET-Lizenz vorhanden oder es soll mit einer Entwicklungsumgebung sowohl für den Desktop als auch für mobile Geräte entwickelt werden, so sollte man Visual Studio .NET den Vorzug geben.
Links und Literatur


Anzeige

Kommentare

zurück zum Seitenanfang