Pergunta

Nossa aplicação é suposto servir vários dispositivos, dos mais simples aos smartphones, iPhones, telas sensíveis ao toque para navegadores normais.

Aplicação é em camadas, para que possamos reutilizar a camada de negócios e persistência. No entanto, gostaríamos de programar camada de apresentação única também. Sei por exemplo que o ASP .NET gera saída html diferente com base no tipo de navegador. http://msdn.microsoft.com/en-us/library/ms178620. aspx

Existem ainda alguns sites que prometem transformar seu site para celular: http://instantmobilizer.com

Existe um quadro java capaz de produzir a apresentação que se adapte às navegador do cliente e do dispositivo, de modo que não precisamos para a camada de apresentação diferente de programa para cada tipo de dispositivo? O que é a maneira padrão para gerenciar múltiplos exigência suporte dispositivos em aplicações web?

Foi útil?

Solução

Embora seja verdade que você pode conseguir gerar diferentes estilos de marcação de uma única implementação vista (por exemplo, usando diferentes transformações de XSL selecionados com base no tipo de dispositivo), você ainda vai acabar sobrecarregados com a interface de "menor denominador comum".

Para dar um exemplo ligeiramente artificial (e datado), digamos que você queria gerar WML, HTML low-end e XHTML high-end a partir de uma única implementação vista. Desde WML é o mais básico dos três, a sua visão não seria capaz de tirar partido das capacidades das representações mais avançados, além do puramente cosmética. Neste exemplo, WML só pode tornar as formas mais básicas, enquanto que os dispositivos de XHTML high-end pode fazer CSS fantasia e coisas javascript.

Você quer ser capaz de tirar partido das capacidades das diversas classes de dispositivo, caso contrário ele só vai acabar procurando porcaria e primitivo em todos eles.

Quando você tem dispositivos tão diversos como telefones celulares, iphones e navegadores de desktop, com uma visão única que satisfaz todos eles não é realmente prático.

Na prática, a melhor opção é para detectar o tipo de dispositivo quando o usuário entra no sistema e, em seguida, colocá-las fora em uma seqüência vista sob medida para esse dispositivo específico.

Outras dicas

A forma padrão de lidar com vários dispositivos conectados a uma única aplicação web é escrever camadas de apresentação separadas sob medida personalizado para cada dispositivo.

Curto de fazer isso, você pode querer verificar o atributo media para referências CSS. Ele vai, pelo menos, permitir que você forneça uma folha de estilo diferente para dispositivos móveis (mesmo que ele não vai separar um Motorola Razr de um Blackberry Bold):

CollyLogic: 7 passos para melhor navegação portátil

Claro que a maneira padrão de lidar com vários dispositivos conectados a uma única aplicação web é que faz a apresentação diferente para cada dispositivo. Uma estrutura que permite tudo isso é ZK você pode ver demonstração ao vivo em http://www.zkoss.org/zkdemo/userguide/# f2

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