Quais são as melhores tecnologias remotas para aplicativos móveis?
-
01-07-2019 - |
Pergunta
Eu tenho um back-end Java que precisa expor os serviços a clientes em execução nos seguintes ambientes:
- J2me
- Windows Mobile
- Iphone
Estou procurando a melhor ferramenta para cada plataforma.
Não procuro uma tecnologia que funcione em todos os lugares.
Preciso de algo "leve" adaptado ao acesso à Internet de baixa velocidade.
No momento, estou usando sabão. É detalhado e não é fácil analisar no celular. O problema é que não vi nenhuma alternativa real.
Existe um formato que funciona "fora da caixa" com uma dessas plataformas?
Prefiro não usar uma biblioteca inchada que aumente tremendamente o tempo de download do aplicativo.
Todo mundo parece concordar com JSON. Alguém implementou uma solução baseada no JSON em execução com o Objective-C, J2ME, Windows Mobile?
Nota: Até agora, a melhor solução parece ser Hessiana. Funciona bem no Windows Mobile e Objective-C/iPhone. O grande problema é J2me. A implementação do J2ME de Hessian tem sérias limitações. Não suporta objetos complexos. Eu tinha escrito outra pergunta sobre isso.
Se você tem alguma idéia, há muito bem -vindo.
Solução
Hessian. http://hessian.caucho.com. As implementações em vários idiomas (incluindo OBJC), Super Light Weight e não requerem dependência de analisadores DOM/XML para tradução de modelos de fio para objetos. Uma vez que encontramos Hessian, esquecemos que já conhecíamos XML.
Outras dicas
JSON é bastante compacto e apoiado pela maioria das estruturas. Você pode transferir dados sobre HTTP usando padrão DESCANSO técnicas.
Existem bibliotecas JSON para Java, Objetivo c, e Muitos outros idiomas (rolar para baixo). Você não deve ter problemas para encontrar o suporte à estrutura no lado do servidor, porque o JSON é usado para aplicativos da Web.
As alternativas mais antigas incluem XML e XML-RPC simples (como sabão, mas muito mais simples e com bibliotecas para a maioria dos idiomas).
REST + XML ou JSON seria uma boa alternativa. Está fazendo grandes progressos no mundo da RIA e a beleza disso está em sua simplicidade. É muito fácil de usar sem precisar de ferramentas especiais. O sabão tem seus pontos fortes, mas funciona melhor em um ambiente com forte suporte para ferramentas para ele. Suponho que, da sua pergunta, não é o caso.
JSON de fundo. EU ported a Stringtree JSON Reader para J2me. É um leitor JSON de classe única que compila em um arquivo de classe de 5 KB e mapeia diretamente a estrutura JSON em tipos de CLDC nativos, como hashtable e vetor. Agora eu posso usar o mesmo servidor para o meu front -end de navegador AJAX da área de trabalho e meu cliente J2ME.
Que tal XML antigo e simples (infelizmente chamado de varíola)?
Outra opção muito útil seria JSON. Existem bibliotecas para cada linguagem de programação por aí.
Possivelmente, já que você está trabalhando em um ambiente que é restrito em termos de recursos de computação e rede e com um idioma tipado estaticamente, o Google's Buffers de protocolo seria preferível para você. (Apenas desconsidere o RPC Crud lá; o RPC é um incômodo atraente, não uma tecnologia útil.)
O problema da sua pergunta é que você não forneceu muito contexto sobre o tipo de dados que são e quais são seus casos de uso, por isso é difícil falar em qualquer coisa, exceto generalidades muito vagas.