Windows Mobile als App-Plattform

Seite 2: Hilfen für Entwickler

Inhaltsverzeichnis

iPhone und Android gelten gemeinhin als entwicklerfreundlich. Das liegt vor allem an der guten Tool-Unterstützung und an durchdachten Schnittstellen. Um von dem Komfort profitieren zu können, müssen sich Entwickler jedoch weitgehend in dem von den Herstellern vorgesehenen Ökosystem bewegen. iPhone-Entwicklern steht beispielsweise eine umfangreiche Tool-Infrastruktur für die Programmiersprache Objective-C zur Verfügung. Wer lieber in einer anderen Sprache programmiert, ist hingegen nahezu chancenlos. Ähnlich verhält es sich mit der Android-Plattform. Java ist die Programmiersprache der Wahl. Zwar lassen sich für Android auch native Anwendungen, etwa mit C oder C++ entwickeln, die Tool-Unterstützung ist hier jedoch noch verbesserungswürdig.

Die Situation unter Windows Mobile gestaltet sich etwas anders: Traditionell entwickelte man dafür Anwendungen wahlweise in C oder C++. Es stand dem Entwickler eine umfangreiche native API zur Verfügung, die Microsoft der Desktop-Windows-API nachempfunden hat. Eine Alternative zur nativen Entwicklung schuf die Firma Ende 2002 mit der Einführung des .NET Compact Framework. Mit ihm lassen sich Windows-Mobile-Anwendungen auch in den "managed" Sprachen C# und Visual Basic .NET entwickeln. Zwar schreiben auch heute noch viele Entwickler ihre Programme in C oder C++, .NET-Anwendungen sind jedoch klar auf dem Vormarsch.

Der Erfolg des .NET Compact Framework ist wenig verwunderlich. Es gibt kaum noch gute Gründe, Windows-Mobile-Anwendungen direkt in C oder C++ zu entwickeln. Zwar ist die Klassenbibliothek des Frameworks gegenüber der Desktop-Variante deutlich eingeschränkt, an wichtigen Funktionen fehlt es jedoch trotzdem nicht. Darüber hinaus besitzt die mobile CLR (Common Language Runtime) einen Just-In-Time-Compiler (JIT) und einen schnellen Garbage Collector, was ein Ausweichen auf nativen Code aus Performancegründen meist überflüssig macht. Das .NET Compact Framework existiert in unterschiedlichen Versionen. Die größte Verbreitung genießt Version 2.0, die zum Lieferumfang von Windows Mobile 6 gehört. Seit Januar 2008 steht das .NET Compact Framework in der Version 3.5 zur Verfügung, die viele Funktionen der Desktop-Version auf mobilen Endgeräten bereitstellt. Zwar ist sie auf wenigen Endgeräten vorinstalliert, über den "Windows Marketplace for Mobile" lässt sie sich bei Bedarf jedoch automatisch nachinstallieren.

Wer sich weder mit C und C++ noch mit C# und .NET anfreunden kann, kann seit Windows Mobile 6.5 zusätzlich kleine Anwendungen (so genannte Widgets) vollständig in HTML und JavaScript entwickeln. Webentwickler können dadurch ihr Know-how nutzen und ohne große Umstellung mobile Anwendungen schreiben. Anders als native und .NET-Applikationen lassen sich Widgets ausschließlich über den "Windows Marketplace for Mobile" vertreiben.

Ein Entwickler programmiert für Windows Mobile üblicherweise mit Microsofts IDE Visual Studio. Die Entwicklungsumgebung existiert seit 1997 und ist entsprechend ausgereift, hat in der Zwischenzeit jedoch auch undurchschaubare Ausmaße angenommen. Wem es in der Basis-Version von Visual Studio trotzdem an etwas mangelt, kann zusätzlich auf zahlreiche Plug-ins von Drittanbietern zurückgreifen, die sich meist nahtlos in die Entwicklungsumgebung integrieren. Für die Windows-Mobile-Entwicklung bietet Visual Studio neben einer integrierten Unterstützung für das .NET Compact Framework einen grafischen Formular-Designer und eine Reihe von Emulatoren. Darüber hinaus unterstützt Visual Studio das Debuggen von nativen und von .NET-Anwendungen im Emulator oder direkt auf dem Endgerät. Beachtenswert, weil meist schneller als das Entwickeln mit dem Emulator oder dem Mobiltelefon, ist es, seine Anwendungen zunächst als Desktop-Anwendungen zu realisieren und dann auf das .NET Compact Framework "zurückzuportieren". Das verlangt dem Entwickler zwar einiges an Disziplin ab, die ausschließlich auf dem Desktop verfügbaren APIs in weitem Bogen zu umgehen, der oft große Gewinn an Produktivität mag die etwas ungewöhnliche Herangehensweise jedoch rechtfertigen.

Visual Studio muss den obligatorischen Vergleich mit Xcode (iPhone) und Eclipse (Android) keinesfalls scheuen. Doch Microsoft lässt sich die gute Tool-Unterstützung mitunter teuer bezahlen: Der aktuelle Straßenpreis einer Lizenz für Visual Studio Professional liegt knapp unter 700 Euro. Zwar bietet Microsoft auch eine deutlich günstigere Standard-Edition und sogar eine kostenlose Express-Edition an, beide Versionen eigenen sich aktuell jedoch noch nicht für die Entwicklung von Windows-Mobile Anwendungen. (Das kostenlose Visual Studio 2010 Express unterstützt erstmalig die Entwicklung von "Windows Phone 7 Series"-Applikationen. Windows Mobile 6 wird jedoch weiterhin nicht unterstützt.)

Damit liegt die Hürde für den Einstieg in die Windows-Mobile-Programmierung ungemein höher als etwa beim iPhone (hier fallen zwischen 99 und 299 US-Dollar Pauschalbeitrag für die Mitgliedschaft im iPhone Developer Program an) oder Android (hier entstehen vor der Veröffentlichung im Android Market überhaupt keine Kosten). Für Studenten, die aktuell an einer deutschen Hochschule eingeschrieben sind, gibt es allerdings eine Alternative: Über Microsofts DreamSpark-Programm beziehen sie die aktuelle Professional-Version von Visual Studio kostenlos. Eine Hochschul-E-Mail-Adresse genügt hierfür.