Pregunta

Comenzando a construir aplicaciones web para dispositivos móviles (cualquier teléfono).
¿Cuál sería el mejor enfoque utilizando ASP.NET 3.5/ASP.NET 4.0 y C#?

ACTUALIZACIÓN (febrero de 2010)
¿Alguna novedad sobre el uso de Windows Mobile 7?

¿Fue útil?

Solución

Depende si realmente desea apoyar a todos los teléfonos móviles o única de gama alta o nuevo teléfono como el iPhone que no tienen muchas limitaciones de renderizado de páginas web. Si que se puede pedir real representación HTML, JavaScript y las cookies de soporte en el teléfono como requisito , entonces la verdadera limitación es el tamaño limitado de la pantalla . Que debe hacer bien con el desarrollo web "normal" en ASP.NET cuidar a la del tamaño de las páginas.

Si ese es el caso, que podría dejar de leer aquí.

Si realmente quieren apoyar a todos los teléfonos móviles , especialmente los viejos, que deben ser conscientes de que hay diferentes tipos de teléfonos. Muchos de ellos tienen limitaciones y restricciones que muestran las páginas web. Algunos de ellos pueden usar JavaScript, pero muchos de ellos no lo hacen. Algunos de ellos pueden mostrar contenido HTML, pero muchos otros no pueden. Tienen que confiar en la norma "Wireless Markup Language" para acceder a la web. Por lo tanto, no es fácil construir un sitio web que es compatible con todos estos diferentes dispositivos.

Aquí hay algunos enlaces a contenido general (no específica ASP.NET), lo que podría ayudar a conseguir el cuadro completo:

Su principal limitación es sin embargo, como ya he mencionado, la pantalla más pequeña que en el PC del normal. Y muchos teléfonos móviles no soportan JavaScript, cookies y algunos incluso no muestran las imágenes.

Existen normas especiales de marcado para los teléfonos celulares. páginas WML es, por ejemplo, un estándar ampliamente adoptado para teléfonos móviles. WML es sinónimo de "Wireless Markup Language", que se basa en XML. Puede encontrar una descripción y referencia de WML aquí en w3schools.com .

El código siguiente muestra una página de muestra WML:

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
   "http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>
   <card id="card1" title="Stackoverflow">
      <do type="accept" label="Menu">
         <go href="#card2"/>
      </do>
      <p>
         <select name="name"> 
            <option value="Questions">Questions</option>
            <option value="MyAccount">My account</option>
            <option value="FAQ">FAQ</option>
         </select>
      </p>
   </card>
   <card id="card2" title="Menu">
      <p>
           You selected: $(name)
      </p>
   </card>
</wml>

La buena noticia es, que ASP.NET representa WML (y otras normas de marcas para móviles) contenido de forma automática. Usted no tiene que escribir archivos WML mismo. Un mecanismo incorporado detecta el tipo de dispositivo (teléfono celular) de las peticiones web. Sin embargo, la detección de dispositivos móviles de ASP.NET no funciona correctamente con algunos dispositivos (más recientes). Echar un vistazo a WURFL , un archivo de configuración XML que contiene información acerca de las capacidades y características de muchos dispositivos móviles.

Puede probar las páginas que se desarrollan en ASP.NET en un navegador web estándar, pero no daría ª imagen correcta de lo que han desarrollado. Hay algunos emuladores disponibles para este problema, que simulan un teléfono celular en su ordenador de sobremesa. Hay una artículo de soporte de Microsoft que explica donde puede descargarlos.

ASP.NET controles móviles

Los controles ASP.NET Mobile, anteriormente lo conocido como el "Microsoft Mobile Internet Toolkit" ampliar el marco .NET y Visual Studio para crear aplicaciones Web móviles, permitiendo ASP.NET para entregar marcado a una amplia variedad de dispositivos móviles.

Los controles móviles ASP.NET hacen que el marcador apropiado (HTML 3.2, WML 1.1, cHTML, XHTML) al tratar con diferentes tamaños de pantalla, las orientaciones y las capacidades del dispositivo.

Más información aquí en el sitio web oficial de .

Otros consejos

Un par de cosas que debo mencionar ya que trabajo en una red inalámbrica en Canadá.Intente mantener las imágenes pequeñas (o incluso inexistentes) para aumentar los tiempos de carga y reducir los cargos por datos.En nuestra red, si el usuario no está suscrito a un plan, nuestra red cobra $15/mb.Algunas imágenes no optimizadas que un teléfono intenta descargar fácilmente podrían costarle al usuario, y esas imágenes grandes no se verán bien de todos modos.

Sé que no te afecta, pero si utilizas otros protocolos, como streaming o cualquier protocolo basado en UDP, configura el Tamaño máximo de paquete en al menos 1300 bytes o menos.Sólo por la forma en que funciona un móvil mientras se mueve por la red, se agrega información de encabezado adicional.Con TCP/IP utilizamos la fijación de MSS para protegernos contra problemas de paquetes grandes, pero esto no se puede aplicar a ninguna transmisión UDP ni a ningún protocolo seguro que utilice un encabezado de autenticación.Si los móviles a los que se dirige son ofrecidos por RIM, este punto puede ignorarse por completo.

Algunos móviles pueden usar un proxy WAP cuando se comunican con su servidor; si este es el caso, intente evitar el uso de conexiones que requieran un TCP/IP de mantenimiento de conexión.Algunos servidores proxy están configurados para no permitir que pasen sesiones de mantenimiento de actividad, aunque creo que la mayoría de los nuevos están bien.

Estoy seguro de que hay más, lo más importante que debes tener en cuenta es que la conectividad IP al móvil es mucho más compleja que alguien que abre un navegador web.Este transporte puede ser extremadamente complicado, por lo que si intentas hacer algo realmente elegante, incluso si funciona ahora, es posible que no siempre funcione.También un último punto rápido: la latencia y la pérdida de paquetes pueden fluctuar enormemente, por lo que si estás haciendo algo en tiempo real, tu latencia podría alcanzar más de 200 ms, y he visto la pérdida de paquetes aumentar a niveles de 20-30% por breve tiempo. veces.

Buena suerte, y si tienes alguna pregunta específica, asegúrate de hacerla.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top