Sistema Comercial para Celular

Preciso desenvolver um Sistema comercial para Celular q envolve Banco de Dados SQL e Web Service.

Pesquisei na Internet e vi alguns Sistemas Operacionais para Celular. Alguém conhece mais algum Sistema importante e de grande uso?

Symbiam
Windows Mobile
Windows phone
Android
Palm OS
IPhone OS

E possivel criar um Sistema Comercial que rode em todos os Sistemas acima usando o Java ME?

Quais os cuidados q preciso ter?

Preciso recompilar o Sistema para cada plataforma?

Qual o melhor Banco de Dados SQL free que suporte transações?

Para todas as plataformas acima eu consigo consumir um Web Service?

Obrigada

Pra começar, o Java só roda em um “jailbroken” iPhone*, já que ele viola os princípios comerciais da Apple, por permitir que qualquer programador lance uma aplicação sem passar pelo aval da Apple.

Isto posto, você vai ter várias dificuldades se quiser atingir TODAS as plataformas que você listou.

Normalmente sistemas comerciais costumam limitar-se a apenas poucos tipos de celulares (aqueles que têm hardware e software suficiente para poder rodar o tipo de aplicações que você quer), e são testados para cada plataforma e tipo de celular.

Normalmente, sem precisar instalar nada fora seu sistema (é claro que você pode pagar alguma coisa para poder usar uma JVM no Windows Mobile ou Phone, por exemplo, ou então no Palm OS, mas acho que náo é esse o seu caso):

em iPhone - usar Objective-C++
em Symbian - você pode usar Java, ou então C++ com Qt
em Brew - C++ (acho que alguns telefones Brew rodam Java também)
em Windows Mobile e Windows Phone - aconselha-se usar o C# para rodar no .NET Compact Framework
em Android - Java na veia
no Palm OS - não sei bem


  • Jailbroken: Palavra bonita para “destravado”, mais ou menos como se fosse um Playstation II destravado. Ou seja, a garantia vai pro espaço, entre outras coisas, o que normalmente não é aceitável em ambiente empresarial.

JVM é pago para celulares?

Se eu programar em cima de uma JVM teria aceso ao Banco de dados?

Já desenvolvemos para Windows Mobile e Windows Phone usando o C#. Mas queremos abranger um maior numero de telefones celulares com touch screen.

[quote=IBS]JVM é pago para celulares?

Se eu programar em cima de uma JVM teria aceso ao Banco de dados?

Já desenvolvemos para Windows Mobile e Windows Phone usando o C#. Mas queremos abranger um maior numero de telefones celulares com touch screen.

[/quote]

Se quer portabilidade, perderá em recursos, e vice-versa.
Tive um experiência não muito boa recentemente sobre isso, mas só assim que vc acaba aprendendo msm.

[quote=IBS]Mas queremos abranger um maior numero de telefones celulares com touch screen.
[/quote]

Pode usar Java, mas você tem de levar em consideração que você vai ter de testar, testar e testar.

Desenvolvimento para celular tem isso - o emulador, mesmo o fornecido no SDK do fabricante, nem sempre é suficiente para saber se a aplicação realmente vai funcionar mesmo. E pior, pode ser que algum recurso (como a cãmera ou o flash ou o GPS) não sejam acessíveis diretamente pelo Java, porque alguma API não foi fornecida pelo fabricante.

Como você já programou para o .NET Compact Framework, deve saber muito bem disso: roda no emulador, mas quando vai rodar no Windows Mobile ou Phone em um celular de verdade, aí não funciona direito (é mais lento, ou algum recurso não funciona igual ao do emulador etc.)

O sistema basicamente irá acessar um banco de dados e nada mais.
Não irá acessar nenhum componente do telefone como, por exemplo, agenda.

Eu falo de “câmera” porque sempre tem um cara que sugere “que tal ler o código de barras do produto X” ou “que tal cadastrar uma foto do produto Y” ou coisa parecida. Recursos normalmente dão idéias aos clientes e aos vendedores…

Só complementando a primeira resposta do entanglement… é possível rodar java no Palm OS usando SuperWaba (http://www.palmbrasil.com.br/downloads/palm-os/profissionais/programacao/superwaba-runtime-palm-os).

Att.