Arquitetura para WEB, Android, IOS, Windows Phone

Bom dia,

Pessoal estou com um problema para desenvolver um aplicativo. Este precisa roda na Web(Navegadores), em Android, IPhone, IPad, Windows Phone. Tratando-se de um aplicativo apenas on-line seria fácil, iria desenvolver em JSP ou JSF e teria a compatibilidade, mas este aplicativo precisa roda em modo off-line (apenas para os mobiles, web sempre on-line), ai que complica um pouco. Servidor embarcado não seria uma boa solução devido a mobile com pouco processamento, utilização de WebStorage tipo IndexedDB, também não seria devido ao usuário conseguir apagar os dados do aplicativo, dando a impressão de falha de segurança nos dados. Agora vem a questão, como desenvolver um aplicativo deste, o que usar, quais os padrões?
Caso alguém tenha alguma sugestão será bem vinda.

segue as opções:

  • Servidor embarcado - é uma boa e depende do perfil de aparelho, CPU e RAM. Os mais fracos não vão conseguir rodar isso.
  • Hibrido HTML com WebStorage - é uma boa sim…tem uma politica de segurança la no HTML5 que vc pode ver se realmente ele pode manipular as informações maliciosamente. Eu não sei te dizer…teria q ver a especificação do HTML. Outra coisa que é não todo navegador mobile que tem suporta isso…
  • Native App - aqui tudo se resolve…vc consegue fazer tudo…único problema é que vai ter que fazer uma solução para cada plataforma.

Não entendi a dúvida. Você quer saber como fazer um aplicativo que seja capaz de rodar em plataformas de fornecedores diferentes?

FernandoFranzini, primeiramente obrigado pelas dicas.
A parte do servidor embarcado sei que não consigo utilizar devido aos usuários poderem adquirir aparelhos com baixo poder de processamento, a especificação mínima para Android é o Galaxy Y.
Vou dar uma lida na documentação do html 5 para verificar esta questão do WebStorage melhor.
App nativa no cenário que tenho não seria muito competitivo, devido a demora para implementar para novos dispositivos que possam surgir no mercado.
Parece que a melhor solução vai ser partir para o html 5.

JDesenvolvedor, exatamente isso, gostaria de conseguir desenvolver um aplicativo que pudesse executar em Android, IPhone, Windows Phone em modo off-line. Gostaria de umas dicas de por qual caminho seguir, devido as incompatibilidades entre os dispositivos.

Pelo que estou vendo o melhor caminho para vc é o desenvolvimento hibrido, desta forma vc pode utilizar o storage nativo de todas dependento do framework que vc utilizar.

os que eu te indico são:

http://phonegap.com/about/feature/
http://calatrava.github.io/

[quote=willCesar]FernandoFranzini, primeiramente obrigado pelas dicas.
A parte do servidor embarcado sei que não consigo utilizar devido aos usuários poderem adquirir aparelhos com baixo poder de processamento, a especificação mínima para Android é o Galaxy Y.
Vou dar uma lida na documentação do html 5 para verificar esta questão do WebStorage melhor.
App nativa no cenário que tenho não seria muito competitivo, devido a demora para implementar para novos dispositivos que possam surgir no mercado.
Parece que a melhor solução vai ser partir para o html 5.

JDesenvolvedor, exatamente isso, gostaria de conseguir desenvolver um aplicativo que pudesse executar em Android, IPhone, Windows Phone em modo off-line. Gostaria de umas dicas de por qual caminho seguir, devido as incompatibilidades entre os dispositivos.[/quote]Apenas tome cuidado com o que for prometido ao cliente/usuário do APP. Quando você usa soluções não nativas você perde muito com relação a features.
Usuários gostam de ver coisas pulando, piscando e utilizando novidades que estão em seus celulares.

Infelizmente ainda não existe uma boa saída para isso. =/

Polverini e Hebert Coelho obrigado pelas dicas.

O PhoneGAP/Cordova já conhecia, o Calatrava estou estudando depois da sugestão, o Cordova parece promissor para o ponto que preciso. Quanto ao que foi prometido ao usuário já sei que precisarei de alguns efeitos que os componentes nativos disponibilizam. Mas o com Cordova é possivel utilizar algumas coisas nativas, ainda demanda mais estudos para entender o funcionamento correto.