Übersicht über die ASP.NET-Webentwicklung für mobile Geräte
Aktualisiert: November 2007
Die Entwicklung von ASP.NET-Seiten für Browser von mobilen Geräten unterscheidet sich nicht grundlegend von der Entwicklung von Seiten für Desktopbrowser. Um Sie beim Erstellen von Anwendungen für mobile Geräte zu unterstützen, stellt ASP.NET einen System.Web.Mobile-Namespace bereit, der speziell für das Entwickeln von mobilen Webanwendungen konzipiert wurde.
Sie können aus der MobilePage-Basisklasse eine Webseite erstellen und Steuerelemente aus dem System.Web.Mobile-Namespace hinzufügen. Dieser Namespace definiert eine Reihe von Webserversteuerelementen und Adaptern, die besonders nützlich für das Erstellen von Anwendungen sind, die für viele verschiedene mobile Geräte verfügbar sein müssen, z. B. Mobiltelefone.
ASP.NET 2.0 stellt eine für Steuerelemente adaptive Architektur bereit, die das Erstellen von benutzerdefinierten Geräteadaptern für ASP.NET 2.0-Webserversteuerelemente unterstützt. Die Adapter können ein Steuerelement auf Grundlage des anfordernden Browsers benutzerdefiniert darstellen. Mithilfe der adaptiven Architektur können Sie benutzerdefinierte Adapter für ASP.NET-Webserversteuerelemente erstellen, um die Ausgabe entsprechend den Geräten, die über Desktopbrowser auf die Anwendung zugreifen, zu rendern.
Sowohl für Desktopbrowser als auch für mobile Geräte folgt die Entwicklung dem standardmäßigen ereignisgesteuerten .NET-Modell, in dem die Anwendung auf Anforderungen des Benutzers oder Mausklicks usw. reagiert.
Architektur mobiler Anwendungen
Obwohl ASP.NET eine Technologie aufweist, mit der Sie mobile Webanwendungen in ASP.NET genauso entwickeln können wie herkömmliche Webanwendungen, besteht der Sinn der Architektur nicht vorrangig darin, Ihnen das Erstellen von einzelnen Seiten zu ermöglichen, die sowohl für Browser in Desktopgeräten als auch für Browser von mobilen Geräten geeignet sind. Die Browsereinschränkungen auf mobilen Geräten führen häufig dazu, dass Seiten, die für Desktopbrowser erstellt wurden, nicht auf mobile Geräte übertragen werden können.
Wenn Sie z. B. eine ASP.NET-Webseite erstellen, die einen Header, eine Navigationsleiste am oberen Rand der Seite, eine sekundäre Navigationsstruktur entlang des Seitenrandes sowie auf der restlichen Seite Inhalt enthält, wird die Seite so angezeigt, wie sie im Desktopbrowser entworfen wurde. In diesem Fall steht normalerweise reichlich Platz zur Verfügung, um alle Steuerelemente wiederzugeben und gleichzeitig auch einen bildlauffähigen Inhaltsbereich bereitzustellen. In vielen Browsern von mobilen Geräten ist dieses Layout jedoch nicht darstellbar. Viele mobile Geräte haben eine kleinere Bildschirmfläche als Desktopmonitore, sodass selbst die Navigation zu einem Prozess mit mehreren Schritten wird. Der Benutzer muss auf mehrere Steuerelemente klicken, um zu dem Inhalt der Seite zu gelangen.
Die Präsentationslogik folgt einem ähnlichen Muster. Wenn ein Benutzer z. B. ein Web Form in einem Desktopbrowser ausfüllt, kann er viele Steuerelemente auf dem Bildschirm auf einmal sehen. Wenn das Formular auf dem Server überprüft wird, können Validierungsfehler neben den Steuerelementen angezeigt werden. Bei einem mobilen Gerät kann es viel schwieriger sein, die Formulareingabe und die Validierung in einem akzeptablen Format darzustellen. Möglicherweise möchten Sie für mobile Geräte zusätzlich Tastenkombinationen bereitstellen, damit der Benutzer leichter Daten eingeben kann, da das Gerät zum Schreiben nicht so gut geeignet sein könnte.
Aus diesen Gründen sollten Sie in der ASP.NET-Webanwendung separate Seiten zur Verwendung in Desktopbrowsern und in Browsern von mobilen Geräten erstellen. Mit einer speziell für mobile Geräte entwickelten Seite können Sie die Präsentationslogik in kleinere Stücke unterteilen, die auf den Anzeigebereich und die Eingabehardware des Geräts zugeschnitten sind.
Mobile Webserversteuerelemente
Der System.Web.Mobile-Namespace in ASP.NET 2.0 ist speziell der Entwicklung von mobilen Webanwendungen vorbehalten. Sie können aus der MobilePage-Basisklasse eine mobile Webseite erstellen und mobile Webserversteuerelemente aus dem System.Web.Mobile-Namespace hinzufügen. Mobile Webserversteuerelemente haben im .NET Framework mehrere spezialisierte Adapter und sind daher besonders geeignet, um mobile Webanwendungen zu erstellen, die auf ein breites Spektrum von mobilen Geräten abzielen.
ASP.NET-Webserversteuerelemente und die Adapterarchitektur
Die meisten ASP.NET 2.0-Webserversteuerelemente befolgen die einheitliche Adapterarchitektur. Das bedeutet, dass sich alle Steuerelemente je nach anforderndem Gerät unterschiedlich verhalten können, indem ein benutzerdefinierter Adapter aufgerufen wird, der für das entsprechende Verhalten des Geräts sorgt, z. B. die Erstellung der richtigen Markupsprache. Wenn ein Adapter in der Browserdefinitionsdatei für das anfordernde Gerät oder den Browser konfiguriert ist, ruft ASP.NET den Adapter in jeder Phase des Lebenszyklus eines Webserversteuerelements auf. Der Adapter kann dann beispielsweise die gerenderte Ausgabe anpassen und jede gerätespezifische Ansichtszustandslogik oder Geräteeigenheit behandeln. Die Browserdefinitionsdateien befinden sich im Ordner Browser im Verzeichnis Config von .NET Framework oder im Ordner App_Browsers einer Webanwendung.
Derzeit gibt es keine Adapter für die ASP.NET-Steuerelemente. Es gibt jedoch zahlreiche Adapter für mobile ASP.NET-Steuerelemente, um eine große Auswahl an Geräten und Browsern bereitzustellen.
Sie können benutzerdefinierte Adapter für jedes Gerät erstellen, die von ASP.NET-Seitenframework verwendet werden, wenn ein bestimmtes Gerät auf die Seite zugreift. Weitere Informationen hierzu finden Sie unter Architektonische Übersicht über das adaptive Steuerelementverhalten.
Auswählen von benutzerdefinierten Adaptern oder mobilen Steuerelementen
Wenn Sie Seiten für mobile Geräte programmieren, müssen Sie mobile Webserversteuerelemente verwenden und Seiten erstellen, die von MobilePage erben. Diese Steuerelemente unterstützen viele mobile Geräte, z. B. Mobiltelefone. ASP.NET bietet mobile Webserversteuerelemente für eine Vielzahl von Anforderungen der allgemeinen Webentwicklung sowie für mobilspezifische Anforderungen. Darüber hinaus gibt es bereits für die wichtigsten Geräte und ihre Markupsprachen Geräteadapter für mobile Steuerelemente.
Microsoft wird auch weiterhin Adapteraktualisierungen für die mobilen Webserversteuerelemente bereitstellen, wenn neue wichtige Markupsprachen entwickelt werden. Auf diese Weise können Sie neue Markupsprachen mit den gleichen, von Ihnen bereits verwendeten Steuerelementen unterstützen. Wenn Sie zum Beispiel eine E-Commerce-Site erstellen, die sowohl Desktopbrowser als auch eine Vielzahl an mobilen Geräten unterstützt, sollten Sie eine Gruppe von ASP.NET-Seiten erstellen, die von der Page-Klasse erben. Zudem sollten Sie eine separate Gruppe von Seiten erstellen, die von der MobilePage-Basisklasse erben und mobile Steuerelemente verwenden.
Bei Bedarf können Sie Ihre eigenen benutzerdefinierten Adapter erstellen oder bereits vorhandene Adapter anpassen, um den erweiterten Anforderungen neuer Geräte an mobile Webserversteuerelemente gerecht zu werden.
Es gibt Szenarios, in denen das Verwenden von ASP.NET-Webserversteuerelementen und das Schreiben von benutzerdefiniertem Adaptern sinnvoll ist. Dies sind in der Regel Anwendungen für erweiterte Desktopbrowser, wo Änderungen im Browserverhalten erforderlich sind, oder Anwendungen, die das Ziel von einer eingeschränkten Geräteklasse sind, für die die mobilen Steuerelemente und ihr Featureumfang nicht gewährleistet sind. Ein Beispiel wäre das Erstellen eines Antrags auf Versicherungsleistungen, für den eine browserbasierte Schnittstelle zur Nutzung im Büro und eine mit vielen Geräten kompatible Schnittstelle für den mobilen Einsatz erforderlich sind. Die Anwendung könnte dann sowohl für die regulären Seiten als auch für die mit vielen Geräten kompatiblen Seiten die gleichen Basisseitenklassen verwenden. Sie würden dann benutzerdefinierte Adapter nur für das Gerät erstellen, das im mobilen Einsatz verwendet wird.