Pergunta

Começando a construir aplicações web para dispositivos móveis (qualquer telefone).
Qual seria a melhor abordagem utilizando ASP.NET 3.5 / ASP.NET 4.0 e C #?

UPDATE (feb2010)
Qualquer notícia usando o Windows Mobile 7?

Foi útil?

Solução

Depende se você realmente deseja apoiar cada telefone celular , ou apenas da parte alta ou novo telefone como o iPhone que não tem muitas limitações renderização de páginas web. Se você poderia pedir para o real de HTML, suporte a JavaScript e cookies no telefone como a exigência , então a restrição real é o tamanho limitado da tela . Você deve fazer muito bem com "normal" desenvolvimento web em ASP.NET tendo o cuidado do tamanho das páginas.

Se for esse o caso, você poderia parar de ler aqui.

Se você realmente deseja apoiar cada telefone celular , especialmente os mais velhos, você deve estar ciente de que existem diferentes tipos de telefones. Muitos deles têm limitações e restrições mostrando páginas web. Alguns deles podem usar JavaScript, mas muitos deles não. Alguns deles podem exibir conteúdo HTML, mas muitos outros não podem. Eles têm que confiar no padrão "Wireless Markup Language" para acessar web. Então, não é fácil construir um site que suporta todos esses dispositivos diferentes.

Aqui estão alguns links para conteúdo geral (não específica ASP.NET), o que poderia ajudar a obter toda a imagem:

A sua principal limitação, porém, é, como já mencionado, a tela menor do que no PC do normal. E muitos celulares não suporta JavaScript, Cookies e alguns ainda não mostrar imagens.

Existem normas especiais de marcação para telefones celulares. páginas WML é, por exemplo, um padrão amplamente adotado para telefones celulares. WML significa "Wireless Markup Language", que é baseado em XML. Você pode encontrar uma descrição e referência da WML aqui na w3schools.com .

O código abaixo mostra uma página WML amostra:

<?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>

A boa notícia é que ASP.NET processa WML (e outros padrões de marcação móvel) conteúdo automaticamente. Você não tem que escrever arquivos WML si mesmo. A built-in mecanismo detecta o tipo de dispositivo (telefone celular) das solicitações da web. No entanto, a detecção de dispositivos móveis em ASP.NET não funciona correctamente para alguns dispositivos (mais recente). Dê uma olhada na WURFL , um arquivo de configuração XML que contém informações sobre as capacidades e características de muitos dispositivos móveis.

Você pode testar as páginas que se desenvolvem em ASP.NET em um navegador web padrão, mas não daria th direito de imagem do que você desenvolveu. Há alguns emuladores disponíveis para este problema, que simulam um telefone celular no seu computador desktop. Há um artigo de suporte Microsoft que explica onde você pode baixá-los.

Controles ASP.NET móveis

Os controles ASP.NET móveis, anteriormente knowns como o "Microsoft Mobile Internet Toolkit" estendem o .NET Framework e Visual Studio para criar aplicativos da Web móveis, permitindo ASP.NET para entregar marcação para uma ampla variedade de dispositivos móveis.

Os controles móveis ASP.NET tornar a marcação apropriada (HTML 3.2, WML 1.1, cHTML, XHTML) ao lidar com diferentes tamanhos de tela, orientações e capacidades do dispositivo.

Saiba mais aqui no site oficial.

Outras dicas

algumas coisas

A devo mencionar desde que eu trabalho em uma rede sem fio no Canadá. Tente manter qualquer imagem pequena (ou mesmo inexistente) para aumentar os tempos de carga e reduzir custos de dados. Na nossa rede, se o usuário não está inscrito em um plano, a nossa rede cobra US $ 15 / mb. Algumas imagens não optimizadas um telefone tenta baixar poderia facilmente custar o usuário, e essas imagens grandes não vai ficar bem de qualquer maneira.

Eu sei que não afeta você, mas se você usar quaisquer outros protocolos, tais como streaming, ou quaisquer protocolos UDP base, definir o tamanho máximo do pacote para atleast 1.300 bytes ou menos. Apenas por causa da maneira funciona um celular como é se move em torno da rede, é adicionado extra de informações de cabeçalho get. Com o TCP / IP que usamos MSS-fixação para proteger contra grandes questões de pacotes, mas isso não pode ser aplicado a qualquer transmissão UDP, ou protocolo seguro qualquer coisa que usa uma autenticação de cabeçalho. Se os celulares que você está direcionando são oferecidos por RIM, este ponto pode ser completamente ignorado.

Alguns celulares podem usar um proxy WAP quando se fala de você está servidor, se este é um caso, tente evitar o uso de quaisquer conexões que requerem um TCP / IP keep-alive. Alguns proxies são definidas para não permitir que quaisquer sessões keep-alive passar por eles, embora eu acredito que a maioria dos novos estão bem.

Eu tenho certeza que é mais, a coisa mais importante que você deve ter em você é a mente que a conectividade IP para o celular é muito mais complexo alguém abertura, em seguida, um navegador web. Este transporte pode ser extremamente complicado, por isso, se você tentar fazer algo realmente extravagante, mesmo se ele funciona agora, nem sempre pode funcionar. Também um último ponto rápida, a perda latência e pacote pode flutuar descontroladamente, por isso, se você está fazendo qualquer coisa em tempo real, você latência pode atingir 200 + ms, e eu vi pacote perda de pico de 20-30 níveis% para curto vezes.

Boa sorte, e se você tiver alguma dúvida específica, certifique-se de perguntar-lhes.

Mais informações aqui:

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top