Información general sobre el desarrollo Web en ASP.NET Mobile
Actualización: noviembre 2007
El desarrollo de páginas ASP.NET para exploradores de dispositivos móviles no difiere sustancialmente del desarrollo de páginas para los exploradores de escritorio. Con objeto de ayudarle a crear aplicaciones para dispositivos móviles, ASP.NET proporciona un espacio de nombres System.Web.Mobile dedicado específicamente al desarrollo Web móvil.
Puede crear una página Web a partir de la clase base MobilePage y agregar controles del espacio de nombres System.Web.Mobile. Este espacio de nombres define una serie de controles de servidor Web y adaptadores que resultan especialmente útiles al crear aplicaciones que deben estar disponibles para muchos dispositivos móviles diferentes, como los teléfonos móviles.
ASP.NET 2.0 también proporciona una arquitectura adaptable de controles que permite crear adaptadores de dispositivos personalizados para los controles de servidor Web ASP.NET 2.0. Estos adaptadores crean una representación personalizada para un control basándose en el explorador que realizó la solicitud. Con la arquitectura adaptable, puede utilizar las páginas ASP.NET que heredan de la clase base Page (en lugar de las páginas escritas específicamente para dispositivos móviles) y crear adaptadores personalizados para que los controles de servidor Web ASP.NET representen una salida específica en los dispositivos que tienen acceso a la aplicación.
En ambos casos, el desarrollo sigue el modelo orientado a eventos de .NET estándar en el que la aplicación responde a las solicitudes del usuario, a los clics en los botones, etc.
Arquitectura de las aplicaciones móviles
Aunque ASP.NET integra tecnología para que el desarrollo de aplicaciones Web ASP.NET Mobile siga el mismo modelo que el desarrollo de aplicaciones Web tradicional, el objetivo principal de la arquitectura no es permitirle crear páginas únicas que se puedan procesar en exploradores de dispositivos de escritorio o de dispositivos móviles. Puede crear adaptadores para controles de servidor Web ASP.NET individuales o para controles de servidor Web móviles que permitan representar estos controles en exploradores de dispositivos móviles y de escritorio, pero las limitaciones de los exploradores de los dispositivos móviles a menudo implican que las páginas diseñadas para los exploradores de escritorio no se presentan muy bien en los exploradores de dispositivos móviles.
Por ejemplo, si crea una página Web ASP.NET que incluye un encabezado de sitio, una barra de exploración en la parte superior de la página, una estructura de exploración secundaria a lo largo de la página y contenido en el resto de la página, ésta se representará tal como se ha diseñado en un explorador de escritorio. En este caso, normalmente hay bastante espacio para representar todos los controles y proporcionar un área de contenido desplazable. Sin embargo, en muchos exploradores de dispositivos móviles, este diseño sería imposible. Una gran cantidad de dispositivos móviles disponen de un área de pantalla más pequeña que los monitores de escritorio, por lo que incluso la exploración se convierte en un proceso de varios pasos en el que el usuario debe hacer clic en varios controles para obtener el contenido de la página.
La lógica de la presentación sigue un modelo similar. Por ejemplo, cuando el usuario rellena un formulario Web Forms utilizando un explorador de escritorio, puede ver muchos controles en la pantalla al mismo tiempo. Cuando el formulario se valida en el servidor, los errores de validación se pueden mostrar junto a los controles. Con un dispositivo móvil, la introducción de datos en los formularios y la validación de los mismos pueden ser mucho más difíciles de mostrar en un formato que sea utilizable. Además, en los dispositivos móviles podría optar por proporcionar accesos directos que permitan al usuario rellenar información escribiendo menos, ya que es posible que resulte más difícil escribir en esos dispositivos.
Por estas razones, se recomienda crear páginas independientes en la aplicación Web ASP.NET para su uso en exploradores de escritorio y de dispositivos móviles. Una página desarrollada específicamente para los exploradores de dispositivos móviles permite dividir la lógica de presentación en partes más pequeñas que funcionen mejor para el área de presentación y el hardware de entrada de datos del dispositivo. Por consiguiente, cuando decida crear este tipo de páginas, debería utilizar controles de servidor Web móviles si la aplicación debe admitir una amplia gama de dispositivos móviles, exploradores que no utilizan HTML o dispositivos con funciones de presentación y entrada de datos limitadas.
Controles de servidor Web móviles
El espacio de nombres System.Web.Mobile de ASP.NET 2.0 está diseñado específicamente para el desarrollo Web móvil. Puede crear una página Web móvil a partir de la clase base MobilePage y agregar controles de servidor Web móviles desde el espacio de nombres System.Web.Mobile. Los controles de servidor Web móviles disponen de varios adaptadores especializados en el marco de trabajo y, por consiguiente, están especialmente orientados al desarrollo de aplicaciones Web móviles para una amplia gama de dispositivos móviles.
Los controles de servidor Web ASP.NET y la arquitectura de adaptador unificado
Todos los controles de servidor Web ASP.NET 2.0 siguen el modelo de arquitectura de adaptador unificado. Esto significa que todos los controles pueden representar datos y comportarse de forma diferente, según el dispositivo solicitante, mediante una llamada a un adaptador personalizado que proporciona los comportamientos apropiados para dicho dispositivo, como la creación del lenguaje de formato adecuado. Si se ha configurado un adaptador en el archivo de definición del explorador para el dispositivo o el explorador solicitante, ASP.NET lo llamará en cada fase del ciclo de vida de un control de servidor Web. De esta manera, el adaptador podrá ajustar el resultado representado y controlar la lógica de estado de vista específica del dispositivo o las características individuales del dispositivo. Los archivos de definición del explorador se encuentran en la carpeta Browsers del directorio Config de .NET Framework o en la carpeta App_Browsers de una aplicación Web.
Puede crear adaptadores personalizados para cada dispositivo y hacer que el marco de trabajo de páginas ASP.NET los utilice cuando un dispositivo concreto tenga acceso a su página. Para obtener más información, vea Información general sobre la arquitectura del comportamiento adaptable de los controles.
Elegir adaptadores personalizados o controles móviles
Para la mayoría de desarrolladores de páginas, el método recomendado para el desarrollo móvil consiste en utilizar controles de servidor Web móviles y crear páginas que heredan de MobilePage. Estos controles admiten muchos dispositivos móviles, como los teléfonos móviles. ASP.NET incluye controles de servidor Web móviles para una amplia gama de necesidades específicas de los entornos móviles y de desarrollo Web en general. Además, ya existen adaptadores de dispositivos para controles móviles para los principales dispositivos y sus lenguajes de formato.
Microsoft continuará proporcionando actualizaciones de los adaptadores para los controles de servidor Web móviles cuando evolucionen los principales lenguajes de formato. Esto le permitirá admitir nuevos lenguajes de formato con los mismos controles que está utilizando en la actualidad. Por ejemplo, si está creando un sitio de comercio electrónico que admite exploradores de escritorio, así como una amplia gama de dispositivos móviles, el método recomendado consiste en crear un conjunto de páginas ASP.NET que hereden de la clase Page y otro conjunto de páginas que hereden de la clase base MobilePage y utilicen controles móviles. Esto le proporcionará compatibilidad con los dispositivos móviles sin necesidad de crear adaptadores personalizados.
Asimismo, los controles de servidor Web móviles siguen el modelo de arquitectura de adaptador unificado, por lo que, si es necesario, puede crear sus propios adaptadores personalizados o modificar los existentes, ya que los nuevos dispositivos determinarán nuevos requisitos de comportamiento en los controles de servidor Web móviles.
Hay escenarios en los que tiene sentido el uso de controles de servidor Web ASP.NET y la escritura de adaptadores personalizados. Generalmente, éstos serán aplicaciones para exploradores de escritorio completos en los que son necesarias variaciones de comportamiento en función del explorador o aplicaciones orientadas a cierto tipo de dispositivos muy particulares para los que no se garantizan los controles móviles y su conjunto de características. Por ejemplo, imagine que está creando una aplicación de reclamaciones de seguros que tiene una interfaz basada en explorador para su uso en la oficina y una interfaz para diversos dispositivos para su uso fuera de la oficina. Esta aplicación podría utilizar las mismas clases de página base para las páginas normales y las páginas para diversos dispositivos. Únicamente debería crear adaptadores personalizados para el dispositivo que se ha implementado fuera de la oficina.
Una ventaja de la creación de adaptadores personalizados para los controles de servidor Web ASP.NET es que le permite utilizar la clase base Page para las páginas Web y aprovechar por completo el conjunto de características de ASP.NET 2.0.