Vue d'ensemble du développement d'applications Web mobiles ASP.NET
Mise à jour : novembre 2007
Le développement de pages ASP.NET pour les navigateurs de périphériques mobiles ne présente pas de différences fondamentales avec le développement de pages pour des navigateurs d'ordinateurs de bureau. Pour vous aider à créer des applications pour périphériques mobiles, ASP.NET fournit un espace de noms System.Web.Mobile spécialement consacré au développement Web mobile.
Vous pouvez créer une page Web à partir de la classe de base MobilePage et ajouter des contrôles provenant de l'espace de noms System.Web.Mobile. Cet espace de noms définit une suite de contrôles serveur Web et d'adaptateurs particulièrement utiles pour créer des applications devant être disponibles pour un grand nombre de périphériques mobiles différents, comme des téléphones portables.
ASP.NET 2.0 fournit également une architecture de contrôle souple qui permet de créer des adaptateurs de périphériques personnalisés pour les contrôles serveur Web ASP.NET 2.0. Les adaptateurs peuvent personnaliser le rendu du contrôle en fonction du navigateur qui effectue la demande. Grâce à cette architecture souple, vous pouvez créer des adaptateurs personnalisés pour les contrôles serveur Web ASP.NET afin de rendre une sortie spécifique aux périphériques qui accèdent à votre application sur vos navigateurs d'ordinateurs de bureau.
Qu'il s'agisse de développement pour les navigateurs d'ordinateurs de bureau ou périphériques mobiles, le développement respecte le modèle .NET standard piloté par l'événement, dans lequel votre application répond aux demandes des utilisateurs, aux clics sur des boutons, etc.
Architecture d'une application mobile
Bien qu'ASP.NET intègre la technologie nécessaire pour que le développement d'applications Web mobiles ASP.NET obéisse au même paradigme que le développement d'applications Web classiques, le but principal de cette architecture n'est pas de vous permettre de créer des pages uniques capables de viser à la fois les navigateurs d'ordinateurs de bureau et les navigateurs de périphériques mobiles. Les limitations des navigateurs de périphériques mobiles signifient souvent qu'ils ne peuvent pas traduire les pages conçues pour les navigateurs d'ordinateurs de bureau.
Par exemple, si vous créez une page Web ASP.NET qui inclut un en-tête de site, une barre de navigation en haut de la page, une structure de navigation secondaire sur le côté et du contenu dans le reste de la page, celle-ci sera rendue sur un navigateur d'ordinateur de bureau telle qu'elle a été conçue. Dans ce cas, il y a largement assez d'espace pour rendre tous les contrôles et offrir en outre une zone de contenu déroulant. Cependant, dans de nombreux navigateurs de périphériques mobiles, une telle disposition sera impossible. Un grand nombre de périphériques mobiles ont une taille d'écran plus réduite que celle des écrans d'ordinateur de bureau, si bien que même la navigation se transforme en un processus à plusieurs étapes dans lequel l'utilisateur doit cliquer sur plusieurs contrôles avant d'obtenir le contenu de la page.
Il en est de même pour la logique de présentation. Par exemple, lorsque l'utilisateur remplit un formulaire Web dans un navigateur d'ordinateur de bureau, il peut visualiser un grand nombre de contrôles à la fois sur l'écran. Lorsque le formulaire est validé sur le serveur, les erreurs de validation peuvent être affichées à côté des contrôles. Avec un périphérique mobile, la saisie du formulaire et sa validation peuvent s'avérer beaucoup plus difficiles à afficher dans un format utilisable. En outre, pour les périphériques mobiles, vous pouvez choisir de proposer des raccourcis qui permettent de saisir des informations avec moins de frappe sur le clavier, la saisie sur le périphérique pouvant être malaisée.
Pour toutes ces raisons, vous devez créer des pages distinctes dans votre application Web ASP.NET pour les navigateurs d'ordinateurs de bureau et pour les navigateurs de périphériques mobiles. Une page développée spécifiquement pour les navigateurs de périphériques mobiles permet de décomposer la présentation logique en éléments plus petits qui fonctionneront mieux pour la zone d'affichage et le matériel de saisie du périphérique.
Contrôles serveur Web mobiles
L'espace de noms ASP.NET 2.0 System.Web.Mobile est spécialement consacré au développement Web mobile. Vous créez une page Web mobile à partir de la classe de base MobilePage et ajoutez des contrôles serveur Web mobiles provenant de l'espace de noms System.Web.Mobile. Les contrôles serveur Web mobiles disposent dans le .NET Framework d'un certain nombre d'adaptateurs spécialisés et sont donc spécialement équipés pour le développement d'applications Web mobiles visant une large gamme de périphériques mobiles.
Contrôles serveur Web ASP.NET et architecture d'adaptateur
La plupart des contrôles serveur Web ASP.NET 2.0 adhèrent à l'architecture d'adaptateur unifiée. Cela signifie que tous les contrôles peuvent se comporter différemment selon le périphérique demandeur en appelant un adaptateur personnalisé, lequel fournira des comportements appropriés à ce périphérique, par exemple la capacité de créer le langage de balisage adapté. Si un adaptateur est configuré dans le fichier de définitions de navigateurs pour le périphérique ou le navigateur demandeur, ASP.NET appelle l'adaptateur à chaque étape du cycle de vie d'un contrôle serveur Web. L'adaptateur peut ensuite ajuster le flux de sortie à restituer et gérer la logique d'état d'affichage spécifique au périphérique ou toute autre spécificité du périphérique concerné. Les fichiers de définition de navigateur se trouvent dans le dossier Browsers du répertoire .NET Framework Config ou dans le dossier App_Browsers d'une application Web.
Aucun adaptateur n'est actuellement fourni pour les contrôles ASP.NET. Toutefois, il existe un ensemble d'adaptateurs pour les contrôles mobiles ASP.NET à fournir à une large gamme de périphériques et navigateurs.
Vous pouvez créer des adaptateurs personnalisés pour chaque périphérique et forcer ces adaptateurs à utiliser l'infrastructure de page ASP.NET lorsqu'un périphérique spécifique accède à votre page. Pour plus d'informations, consultez Vue d'ensemble de l'architecture du comportement des contrôles adaptables.
Choix d'adaptateurs personnalisés ou de contrôles mobiles
Pour les pages qui ciblent des périphériques mobiles, vous devez utiliser des contrôles serveur Web mobiles et créer des pages qui héritent de MobilePage. Ces contrôles prennent en charge de nombreux périphériques mobiles, comme les téléphones portables. ASP.NET comprend des contrôles serveur Web mobiles adaptés à une large gamme de développement Web général et à des besoins mobiles spécifiques. En outre, les adaptateurs de contrôle pour périphériques mobiles existent déjà pour un grand nombre des principaux périphériques et pour leurs langages de balisage.
Microsoft continuera à fournir des mises à jour pour les adaptateurs de contrôles serveur Web mobiles au fur et à mesure de l'évolution des principaux langages de balisage. Vous pourrez ainsi prendre en charge de nouveaux langages de balisage à l'aide des mêmes contrôles que ceux que vous utilisez déjà. Par exemple, si vous créez un site d'e-commerce qui prend en charge les navigateurs d'ordinateurs de bureau, ainsi qu'un large éventail de périphériques mobiles, vous devez créer un jeu de pages ASP.NET qui héritent de la classe Page et un jeu distinct de pages qui héritent de la classe de base MobilePage et utilisent des contrôles mobiles.
Si nécessaire, vous pouvez créer vos propres adaptateurs personnalisés ou modifier des adaptateurs existants lorsque de nouveaux périphériques imposent de nouvelles exigences de comportement aux contrôles serveur Web mobiles.
Il existe des scénarios dans lesquels l'utilisation de contrôles serveur Web ASP.NET et l'écriture d'adaptateurs personnalisés prennent tout leur sens. Il s'agira typiquement d'applications destinées à des navigateurs d'ordinateurs de bureau puissants devant faire preuve de comportements variés, ou à des applications devant être ciblées par une classe de périphériques contrainte pour lesquelles les contrôles mobiles et leurs jeux de fonctionnalités ne sont pas garantis. Ce sera le cas, par exemple, si vous créez une application de déclaration à l'assurance dotée d'une interface à base de navigateur pour une utilisation de bureau et d'une interface de périphérique élaborée pour un usage de terrain. Votre application pourra alors utiliser les mêmes classes de page de base pour les pages normales et pour les pages du périphérique. Vous n'aurez ensuite plus besoin de créer d'adaptateurs personnalisés que pour le périphérique déployé sur le terrain.