17.02.2006, 07:54 Uhr

Mobile Anwendungen kompakt entwickelt

Mit dem .Net Compact Framework lassen sich mobile Applikationen für Pocket-PCs und Smartphones in gewohnter .Net-Manier entwickeln. Das spart nicht nur Kosten, sondern beschleunigt auch den Entwicklungsprozess.
Screen 3: Im Server-Explorer ist nun auch der SQL Server 2005 Mobile Edition integriert.
Vor Jahren war jedermann froh, wenn er einen grossen Bildschirm und einen leistungsstarken Rechner besass. Seit einiger Zeit werden aber neben PCs auch Smartphones und Pocket PCs immer populärer, deren Preise stetig sinken und Funktionalität kaum noch überschaubar ist. Damit diese mobilen Geräte noch besser ausgenutzt werden können, verfügen sie über ein Betriebssystem wie etwa Windows CE oder Windows Mobile. Dies erlaubt Softwareentwicklern, individuelle Anwendungen zu programmieren und darauf zu installieren.

Abgespecktes .Net

Für die Entwicklung verwalteter Anwendungen für mobile Geräte, also Anwendungen, die unter der Kontrolle der CLR laufen, stellt Microsoft das .NET Compact Framework (CF) zur Verfügung. Dabei handelt es sich um eine spezielle Version des .NET Frameworks für Smart Devices, sprich Geräte, die weder die Leistungsfähigkeit noch den Speicherplatz eines herkömmlichen Computers besitzen. Die Funktionalität des CF besteht aus einer Teilmenge des .NET Frameworks, die in etwa 30 Prozent des Funktionsumfangs seines grossen Bruders abdeckt. Im CF fehlen aufgrund unzureichender Leistung oder Anwendungsmöglichkeiten beispielsweise Druck- und Bildverarbeitungsfunktionen. Zusätzlich sind im CF dagegen Bibliotheken zum Zugriff auf die Infrarotschnittstelle und auf die mobile Version des SQL Servers integriert.
Im Rahmen der im November neu aufgelegten Version 2.0 des .NET Frameworks wurde auch das Compact Framework überarbeitet. So lassen sich mit CF nun ebenfalls die Spracherweiterungen wie Generics, partielle Klassen oder anonyme Methoden des .NET Frameworks 2.0 nutzen. Für Visual-Basic-Entwickler kommen Erweiterungen von My hinzu. Neu ist ebenfalls der Support von COM-Interop, der beispielsweise die Zusammenarbeit mit Pocket Outlook ermöglicht und die Implementierung von MSMQ für den asynchronen Nachrichtenaustausch. Die Ausführungsgeschwindigkeit wurde um über 100 Prozent gesteigert. Zur einfacheren Migration vorhandener Anwendung kann die CF-Runtime der Version 2.0 auch Anwendungen ausführen, die noch mit der Version 1.0 erstellt sind.
Optimiertes GUI-Design Jedes mobile Gerät beziehungsweise jede Gerätekategorie besitzt bestimmte Beschränkungen bezüglich der einsetzbaren Oberflächenelemente. Auch bei der Bedienung und der verfügbaren Bildschirmgrösse gibt es Unterschiede. Während einige Geräte über eine Tastatur verfügen und dafür einen kleineren Bildschirm besitzen wie etwa Smartphones, sind andere Geräte nur über einen Touch Screen und eine einfache Steuerung bedienbar. Diese Geräte besitzen dann aber meist einen grösseren Bildschirm wie Pocket-PCs. Zur komfortableren Wysiwyg-Entwicklung lässt sich in Visual Studio deshalb über die Eigenschaft «FormFactor» die Auflösung und die Bildschirmorientierung einstellen. Im neuen CF sind für die Erstellung grafischer Oberflächen weiterhin die visuelle Vererbung für Formulare und in Visual Studio die Bereitstellung von Designern für eigene Kontrollelemente hinzugekommen. Neue Kontrollelemente wie «MonthCalendar» und «DateTimePicker» erleichtern die Auswahl von Datum und Uhrzeit. Der Splitter und Toolbars ermöglichen die Entwicklung attraktiverer GUIs und die neuen Eigenschaften wie «Dock», «Anchor» und «TabStop» verbessern die Layoutgestaltung und die Bedienung.

Kommunikation und Verwaltung

Ein mobiles Gerät ist in der Regel darauf angewiesen, andere Services von leistungsfähigeren PCs zu nutzen. Dazu muss mit diesen kommuniziert werden. Kurze Wege können über die Infrarotschnittstelle oder ein USB-Kabel überbrückt werden. Für grössere Entfernungen steht zum Beispiel Wireless LAN zur Verfügung. Darauf basierend können über Web Services Dienste in Anspruch genommen und auf «richtige» SQL Server zugegriffen werden.
Je nach den Möglichkeiten des Geräts lassen sich Daten über XML oder mittels des SQL Servers 2005 Mobile Edition (der neue Name des SQL Servers CE) lokal speichern. Für entfernte Zugriffe kann über ADO.NET auf DBMS zugegriffen werden. Der mobile SQL Server kann dabei (fast) genau wie der grosse Bruder über das Framework angesprochen werden. Er unterstützt Replikation, Synchronisation und Transaktionen und jetzt auch den Multi-User-Zugriff und ein automatisches Komprimieren der Datenbanken. Der Zugriff und die Konfiguration auf die mobilen Datenbanken wird beispielsweise durch die neue Server-Explorer-Unterstützung im Visual Studio 2005 verbessert.
Die Entwicklungsumgebung Im Visual Studio ist das Compact Framework bereits seit der Version 2003 integriert, allerdings dort noch in der Version 1.0. Mit Visual Studio 2005 (ausgenommen die Express-Versionen) können Anwendungen für die aktuelle Version 2.0 sowie die Vorgängerversion 1.0 des CF erstellt werden. Dabei werden gleich zwei Varianten geboten, um Anwendungen für mobile Geräte zu entwickeln. Mit Visual C++ lassen sich insbesondere hardwarenahe Applikationen schreiben. Die aktuelle Version ersetzt dabei eMbedded Visual C++. Die Sprachen C# und Visual Basic stehen für die Entwicklung von verwalteten Anwendungen bereit, die das CF nutzen. Das Design der Anwendungen wird jetzt durch die Bereitstellung von Abbildern der konkreten Geräte (so genannte ARM-Images) wesentlich vereinfacht (Screen 2).Die Anwendung kann dadurch lokal ausgeführt und debuggt werden, ohne dass ein konkretes Gerät benötigt wird. Über ActiveSync lässt Sie sich allerdings auch auf ein Gerät ausliefern und dort testen (Screen 1).
Wenn man die separat erhältlichen Windows Mobile 5.0 SDKs für den Pocket PC und Smartphone installiert, werden diese ebenfalls in das Visual Studio 2005 integriert und können wie die bereits vorinstallierten Geräte genutzt werden (Screen 1). Die Anwendungsentwicklung beginnt dann mit der Auswahl eines Gerätetyps. Danach wird ein Geräteabbild angezeigt, in das man die für diesen Typ verfügbaren Komponenten aus der Toolbox integrieren kann. Die Abbildung (Screen 2)zeigt beispielsweise eine Anwendung, die aus einem Label, einem Eingabefeld, einem DataGrid und einem Menü mit dem Menüpunkt «Auswahl». Da es sich um eine Datenbankanwendung handelt, wird im Server-Explorer eine Verbindung zu einer mobilen Datenbank hergestellt, die später auch auf das mobile Gerät übertragen werden soll (Screen 3). Beim Übertragen der Anwendung muss später auch die Datenbank mit auf dem Gerät abgelegt werden. Zum Zugriff auf die mobile Version des SQL Servers ist der Namespace «System.Data.SqlServerCe» einzubinden und statt der «SqlXxxx»-Klassen sind die «SqlCeXxxx»-Klassen zu verwenden. Die «DataSource» ist in diesem Fall einfach die Datenbankdatei, hier «Test.sdf». (Listing 1).
Die Übersetzung der Anwendung erfolgt wie gewohnt. Um sie auf ein Gerät zu übertragen, muss man sich mit einem echten Gerät oder einem der zahlreichen Emulatoren verbinden. Im Kontextmenü der Anwendung braucht man dazu bloss den Menüpunkt «Breitstellen» und den gewünschten Emulator (Screen 4)auszuwählen. Dieser wird gestartet und enthält die Standardansicht des betreffenden mobilen Gerätes. Wird nun die Anwendung - mit oder ohne Debug-Unterstützung - gestartet, wird sie auf den Emulator übertragen (Screen 5).

Fazit

Das Compact Framework 2.0 bietet sehr viele Neuigkeiten, die alle Bereiche durchziehen. Für die Anwendungsentwicklung sind sicher die neuen Emulatoren und Designer sowie die Integration des mobilen SQL Servers im Visual Studio am bedeutsamsten. Die Unterstützung der neuen Sprachmöglichkeiten des .NET-Frameworks im Compact Framework sind für die Wiederverwendung von Code wichtig und die zahlreichen Erweiterungen der Klassenbibliothek, gerade auch im wichtigen UI-Bereich, sichern die Zukunft mobiler Anwendungen.
Dirk Frischalowski


Das könnte Sie auch interessieren