MS Mobile ++

Die ersten Geräte mit Microsofts neuem Windows Mobile 5.0 sind seit kurzem erhältlich, etwa T-Mobiles MDA-Pro. Ein Blick auf die Entwicklungswerkzeuge zeigt, was sich für Programmierer ändert.

vorlesen Druckansicht
Lesezeit: 8 Min.
Von
  • Kay Glahn

Bild 1 [150 x 88 Pixel @ 5,8 KB]

Vergrößern

Die ersten Geräte mit Microsofts neuem Windows Mobile 5.0 sind seit kurzem erhältlich, etwa T-Mobiles MDA-Pro. Dies ist Anlass genug, einen Blick auf die Entwicklungswerkzeuge für die neue Windows-Version für mobile Geräte zu werfen.

Mit dem vor kurzem erschienenen Windows Mobile 5.0 führt Microsoft die beiden Produktlinien Windows for Pocket PC und Windows for Smartphone zusammen. Die separate Namensgebung entfällt in Zukunft. Basis des neuen Betriebssystems ist das im vergangenen Jahr vorgestellte Windows CE 5.0.

Softwareentwicklung

Neben einer einheitlichen Anwendungsplattform für Native- und Managed-Code, die unter anderem aus zahlreichen neuen APIs besteht, bietet Microsoft mit Visual Studio 2005 (VS05) eine integrierte Entwicklungsumgebung für alle Arten mobiler Applikationen, während man bisher verschiedene Produkte benötigte (Embedded Visual C++ für Native- und VS .Net für Managed-Code-Anwendungen). Außerdem deckt dasselbe Tool nun die serverseitige Entwicklung ab, bietet einen überarbeitete Emulator und Debugger sowie einen Data- und UI-Designer.

Ergänzt wird das neue VS durch das Windows Mobile 5.0 SDK, das es in je einer Version für PocketPC und für Smartphones gibt. Neben den Emulator-Images für Windows Mobile 5.0 stellt es Dokumentation, Beispielcode sowie Header-Dateien und Bibliotheken bereit. Eine weitere Komponente der Entwicklungsumgebung bildet das neue Activesync 4.0, das die Verbindung zwischen VS05 sowie den Windows-Mobile-Geräten und -Emulatoren herstellt.

Zusätzlich zu VS05, das zurzeit als Beta 2 vorliegt, bietet Microsoft eine Preview des Device Emulator 1.0 an. Hierbei handelt es sich um eine Standalone-Version des ARM-Emulators aus VS05, den man zum Testen und zur Demonstration von Anwendungen auf Systemen ohne VS einsetzen kann.

Im Test kam die Beta-2-Version von VS05 in Form des Windows Mobile 5.0 Developer Evaluation Kit zum Einsatz. Bevor man mit der Installation beginnen kann, müssen alle älteren Versionen von Visual Studio deinstalliert werden. Außerdem ist das DMA Transport Update for Visual Studio 2005 Beta 2 vor der Activesync 4.0 Developer Preview einzuspielen. Es überträgt die Daten schneller, indem es eine DMA- statt einer IP-Verbindung zum Gerät aufbaut. Zum Schluss installiert man das Windows Mobile 5.0 SDK for PocketPC und das für Smartphone. Vorher sollte man sicherstellen, dass kein Antivirus-Programm die Ausführung von Scripts verhindert – sonst bricht die Installation ohne Fehlermeldung ab.

Entwickler schreiben Native-Code in C oder C++, wenn sie Wert auf Tempo und direkten Hardwarezugriff sowie wenig Speicherverbrauch legen. Alternativ können sie Managed-Code in C# oder Visual Basic erstellen, der auf der .Net Plattform läuft. Das bietet sich vor allem für die schnelle Entwicklung von Anwendungen mit komplexem GUI an. Schließlich stehen für serverseitigen Code die ASP.Net Mobile Controls zur Verfügung.

Auch bei den Geräten versucht Microsoft, eine konsistente und vereinheitlichte Plattform zu schaffen, um die Portabilität zwischen PocketPC- und Smartphone-Geräten zu erhöhen.

Identische APIs für beide Geräteklassen maskieren die Unterschiede zwischen ihnen. Außerdem stellt die Mobile Edition des SQL Server 2005 für sie einen einheitlichen Common Data Service bereit. Hierbei arbeitet im Hintergrund eine Datenbank-Engine namens EDB, die funktional kompatibel zur früheren CEDB ist. Bestimmte Fähigkeiten wie Softkeys und Persistant Storage, die bisher nur für die Smartphone-Plattform zur Verfügung standen, kann der Entwickler nun auch auf dem PocketPC einsetzen. Ein einheitlicher Installer erzeugt dasselbe CAB-Format für PocketPC und Smartphone, was die Verwaltung von Anwendungen erleichtert. Auch das Security-Modell ist jetzt in beiden Fällen dasselbe: Nur noch signierte und als vertrauenswürdig eingestufte Anwendungen haben Zugriff auf alle APIs.

Grob lassen sich die APIs in Windows Mobile 5.0 in drei Gruppen einteilen: solche ausschließlich für Managed- oder Native-Code und die für beide Welten. Bei den ersten sind Schnittstellen für Messaging-, Telefonie- und Betriebssystem-Funktionen hinzugekommen. Mit dem Pocket Outlook Object Model (POOM) können Native- und Managed-Code-Anwendungen auf Kontakte, Kalenderdaten und Aufgaben zugreifen. Mit dem Contact Picker gibt es außerdem einen Standarddialog, der das Auswählen eines Kontakts aus einer eigenen Anwendung heraus ermöglicht.

Da der neue Geräte-Emulator erstmals auf dem ARM-Befehlssatz basiert, kann er dieselben Binaries wie das physische Gerät ausführen. Bisher musste man für den Emulator x86-Code erzeugen, der sich nicht immer wie der auf der Zielplattform verhielt. Durch die Umstellung verkürzen sich die Tests auf dem Endgerät. Erleichterungen bringen einige neue Emulator-Features wie unterschiedliche Displaygrößen und -ausrichtungen sowie die Unterstützung von Shared Folders zum Austausch von Daten zwischen PC und Emulator.


Online-Ressourcen
Microsoft Windows Mobilewww.microsoft.com/
MSDN Windows Mobile 5.0 EinfĂĽhrungmsdn.microsoft.com/
Developer Evaluation Kitmsdn.microsoft.com/
.Net CF 2.0 Beta 2www.microsoft.com/
MSDN Visual Studio 2005 Websitelab.msdn.microsoft.com/
T-Mobile MDA Pro Websitewww.t-mobile.de/

Ein neuer UI- und Data-Designer ermöglicht das komfortable Entwickeln grafischer Oberflächen sowie Datenbanken für den mobilen SQL Server 2005, denn Data Sets können Entwickler nun mit einem speziellen grafischen Tool bearbeiten. Dafür war früher ein Schema-Editor erforderlich.

Durch das neue UI-Anchoring lassen sich Bedienelemente in einem festen Abstand zu einem oder mehreren Rändern des Formulars positionieren. Beim UI-Docking schmiegt sich das Element an eine Kante des Formulars. In beiden Fällen ändert sich automatisch die Größe und Position der UI-Elemente, wenn der Anwender das Display dreht oder sich dessen Größe ändert. Beide Neuerungen erleichtern das Entwickeln plattformunabhängiger Anwendungen. Beim Schreiben von Multimedia-Anwendungen gibt es ebenfalls Verbesserungen, für Geschäftsanwendungen spielen diese jedoch eine untergeordnete Rolle.

Immer auf dem Laufenden

Die State & Notification-API dient zum Überwachen von Systemvorgängen und Ereignissen wie dem Empfang von SMS-Nachrichten oder eingehenden Anrufen. Hierbei kann sich eine Anwendung für das Monitoring eines bestimmten Systemstatus registrieren und erhält vom Notification Broker Nachricht, sobald sich etwas ändert. Er verschickt dazu entweder eine Windows Message, ruft eine Callback-Funktion auf oder stellt eine Nachricht in die Message Queue des Systems.

Visual Studio 2005 führt das .Net Compact Framework 2.0 (CF) ein. Es stellt viele neue Klassen und Methoden bereit und erweitert die Common Language Runtime (CLR) auf dem Gerät. Entwickler dürften vor allem von neuen Konzepten wie Generics und Anonymous Functions profitieren. Wie das .Net CF 1.0 bietet die neue Version Zugriff auf alle Managed APIs in Windows Mobile 5.0. Mit der Vorgängerversion geschriebene Anwendungen funktionieren weiterhin auf allen Plattformen. Für das Entwickeln von Anwendungen mit der älteren Version spricht bislang deren starke Verbreitung; auch die nächsten Geräte mit Windows Mobile 5 haben noch diese Variante im ROM. Wer CF2-Anwendungen bereits jetzt auf realen Geräten ausführen möchte, kann die bei Microsoft erhältliche Beta 2 des Frameworks herunterladen und installieren. Auf Windows Mobile 5.0 läuft weiterhin alles, was mit VS 2003 und Embedded Visual C++ 3/4 erstellt wurde.

Fazit

Windows Mobile 5.0 bringt in Verbindung mit Visual Studio 2005 sowohl fĂĽr den Anwender als auch fĂĽr den Entwickler zahlreiche Vorteile. Letzterer dĂĽrfte sich vor allem ĂĽber die einheitliche Entwicklungsumgebung und die zahlreichen neuen APIs fĂĽr Managed-Code-Programme freuen. Der Anwender hingegen wird vor allem von dem erweiterten Funktionsumfang und der verbesserten Sicherheit profitieren. (ck)

Literatur
[1] Kay Glahn, Fensterchen bauen, Microsofts Smartphone Developer Kit, iX 12/2003, S. 79
[2] Min Tian; .Net-Programmierung; Abgespeckt; .Net Compact Framework für mobile Geräte; iX 10/2003, S. 85
[3] Holger Schwichtenberg; Softwareentwicklung; Sparsames Update; Visual Studio .Net 2003; iX 7/2003, S. 80