Pergunta

Recentemente comecei a desenvolver um protótipo J2ME aplicação. Notei o quão difícil é desenvolver uma boa procura UI. Considerar o desenvolvimento de um aplicativo em J2ME para reservar voos interagindo com webservice.

Um site voo para será fácil desenvolver com interface agradável e pode ser acessado pelo navegador em um aparelho. Eu entendo nem todos os aparelhos têm navegador, mas todos os novos e futuros os que têm navegador e tem tela grande também.

É uma boa idéia para desenvolver uma tal aplicação em J2ME que precisa falar com webservice para que ele funcione? Ou j2me só é adequado para aplicativos independentes?

Foi útil?

Solução

Vantagens de J2ME:

  • Pode recursos de telefone de acesso, como sistema de arquivos, livro de telefone e GPS. A última é muito importante em aplicações de mapas.
  • Você pode construir interfaces de usuário mais ricas. Pode ser difícil como você diz, mas há muitas bibliotecas GUI que poderia ajudá-lo. Pelo contrário, a interface do usuário para um navegador móvel (você não pode confiar em CSS e javascript de trabalho) seria muito pobre.
  • Maior flexibilidade na lógica de comunicação. Você pode criptografar dados / desencriptar, comprimi-los, serviços web usar o sabão. Com o navegador, sua melhor aposta seria desenvolver serviços REST.

Desvantagens de J2ME:

  • Midlets precisa ser assinado. Isto tem algum custo e há situações em que mesmo um aplicativo assinado não será executado corretamente em telefones específicos.
  • O desenvolvimento de um midlet para ser executado em todos os tipos de telefones é um pesadelo. Pelo contrário, uma aplicação web móvel bem desenhado seria exibido corretamente em todos os celulares mais recentes.
  • Você precisa ter um canal para a distribuição de sua aplicação. As pessoas precisam baixá-lo e ter cobrado para a largura de banda necessária. Você precisaria para cuidar de clientes irritados tendo problemas com a aplicação. As coisas são mais fáceis com um web site.
  • aplicativos J2ME são inevitavelmente comparada com aplicações nativas (iPhone, Windows Mobile, Symbian). Em comparação com estes, eles são muito pobres e muitos iriam achar que pagar por eles ou até mesmo usá-los não é justificada.

A minha conclusão: Hoje em dia verdadeira telefones inteligentes estão se tornando mais popular e ganhar uma quota de mercado cada vez maior. Nestas circunstâncias, as vantagens de J2ME realmente não pode superar suas restrições. A única exceção que eu poderia pensar, é se ter que desenvolver um aplicativo de GPS. Para todos os outros casos, um site móvel é uma idéia melhor.

Outras dicas

Existem muito de incompreensão e de declarações erradas simples nas respostas anteriores.

Eu conselho que você apenas fazer sua pesquisa você mesmo. Hoje em dia você CAN desenvolver realmente bons aplicativos olhando com J2ME sem escrever sua própria estrutura GUI. Dê uma olhada em LWUIT realmente. Por exemplo, eles têm um teclado virtual como uma das suas funcionalidades touch screen e isso você tem em dispositivos como o N97, que em si não tem um teclado virtual. BTW usando LWUIT você tem uma porta Blackberry e Android incluídos se cuidados ninguém.

Além disso Apps hoje em dia se tornar o centro do palco em muitas plataformas não apenas o iPhone. Olhe para os desenvolvimentos recentes nesta área como OVI, RIM, Samsung, SE, Orange World todos eles início com lojas de aplicativos.

"Levar as pessoas a usar um site em seu telefone móvel é mais fácil do que fazê-los baixar um aplicativo." esta é apenas uma afirmação sem prova. você não pode dizer que como este. Depende de um monte de outros fatores. -? Por que os usuários digitam em sua url móvel para a tela relativamente pequena novamente

De qualquer forma, esta resposta provavelmente é tarde demais para que eu não vou escrever muito mais. A indústria móvel está mudando rapidamente agora, mas ainda não é uma alternativa para J2ME para o desenvolvimento multiplataforma. Talvez no futuro com melhores navegadores e technolgies widget.

Apenas uma nota curta, aplicativos como o Google Maps ou Gmail Mobile provavelmente não usar WebServices para falar com a sua parte do servidor. A WebService tem um monte de sobrecarga, especialmente quando se considera que os usuários móveis são geralmente classificados pela quantidade de dados transmitidos. A melhor maneira de realizar a comunicação entre o aplicativo cliente e a sua parte do servidor é usar dados binários através de uma conexão socket.

Eu, pessoalmente, acho que é muito difícil fazer uma aplicação J2ME consistente e confiável, que será executado através de um grande conjunto de telefones celulares. Baseado na minha experiência, eu só iria desenvolver uma aplicação J2ME (em vez de um aplicativo da Web) se é uma exigência estrita - por exemplo, para ser capaz de ver as suas reservas sem estar conectado à rede. Há outros custos associados com aplicações J2ME - as aplicações deve ser baixado, o usuário será perguntado se o aplicativo tem permissão para se conectar à rede quando ele tenta (existem exceções para esse caso, mas eu acredito que a aplicação tem de ser assinado pela 3ª companhia partido - mais $$$ envolvidos), você terá que manter diferentes versões do aplicativo em execução em uma variedade de telefones móveis (mais complexidade à aplicação), e assim por diante ...

Pense nisso desta maneira - se você estivesse desenvolvendo uma coisa semelhante para um computador, que você construir uma aplicação desktop ou um aplicativo web? Com os celulares de hoje (muitos dos quais podem acessar sites full-html com javascript - o que significa Ajax), a proposição da questão é válido

.

I coisa que uma boa regra de ouro deve ser:. Se o que você está tentando alcançar pode ser feito com um site para celular - ir para o site

IMHO, os aplicativos só deve ser usado para se eles não podem tirar proveito do hardware móvel - como localização, som, vídeo, 3D, imagens etc ...

Mesmo que os custos dev para o aplicativo foram insignificantes (eles geralmente não são), você teria que oferecem alguns recursos realmente incríveis para fazer os usuários passar pela dificuldade de baixá-lo.

(Tudo isso é essencialmente verdadeiro para J2ME / BREW. O iPhone é um pouco diferente como aplicativos tomar o centro do palco)

Uma coisa vale destacar:. A única maneira padrão de implantação de um MIDlet é via OTA download para que você não esperaria um telefone J2ME com capacidade para não ter um navegador web

navegador web móvel como Webkit e Opera estão melhorando mais rápido do que J2ME (pelo menos até MIDP3.0 inicia o transporte, ou nunca).

Não importa qual plataforma você escolher, você precisará testar seu serviço em muitos dispositivos. Eu não acho que a mudança de J2ME para webapp faz uma diferença enorme a este respeito, porque os fabricantes de telefones continuam mudando os binários que vão para os firmwares telefones.

Levar as pessoas a usar um site em seu telefone móvel é mais fácil do que fazê-los baixar um aplicativo. a menos que o aplicativo já está instalado quando compram o telefone, isso é.

Você pode querer olhar LWUIT para uma melhor e mais fácil J2ME GUI.

Uma coisa que J2ME vai realizar para um serviço de reserva de voo é salvar a vida da bateria por não exigir a transferência de dados de rede constante, graças aos mecanismos de armazenamento local.

Existem muitos aplicativos grande J2ME que (necessidade de) falar com webservices. basta pensar nas aplicativos do Google, como o Gmail móvel e Maps para celular. eles são mais rápidos e mais fáceis de usar do que usando os serviços via browser do telefone celular. por isso, se você pode criar um bom aplicativo, é definitivamente vale a pena.

EDIT: também, um aplicativo J2ME torna possíveis características que não podem ser fornecidos por um aplicativo web:. Integração com as funções do telefone (livro de endereços, calendário), "ligar para este número", api localização, etc

Eu acho que para aplicativos de negócios, ou mais de texto / dados orientados coisas, um site web / wap móvel pode ser mais fácil de manter, desde que você não terá que lidar com empurrando atualizações do cliente para aparelhos.

Para UI-intensivo aplicações (mapas, jogos, etc.), os aplicativos cliente são provavelmente o caminho a percorrer, para que possa lidar com mais do processamento e renderização do lado do cliente.

Ambas as opções são difíceis, porém, uma vez que existem tantos problemas de compatibilidade com os telefones. Você pode ser melhor servido por estreitar as quais os tipos de telefones que deseja apoiar para a sua aplicação. Se você acha que a maioria de seus clientes será telefones iPhone ou Android, você pode direcionar as plataformas (em que suas aplicações cliente ou aplicativos web) e evitar J2ME old-school completamente.

Eu odeio WebApps em telefones. Eles são lentos e eles não funcionam em um ambiente semi-conectado.

aplicativos J2ME pode fazer backups locais, backups Bluetooth, Bluetooth partilha de dados entre 2 telefones e UI melhor capacidade de resposta. No entanto, que exige dinheiro, habilidade, tempo etc.

As minhas principais queixas com MIDP que está empurrando atualizações de software e WAV de mistura em tempo real. Tecnicamente aqueles são possíveis no âmbito da MIDP mas os capangas na roda não são muito criativos.

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