Na empresa em que trabalho desenvolvemos diversos sistemas embarcados em SuperWaba, mas o SW tem suporte ao java 1.3 além do projeto ter sido descontinuado, estamos pensando em migrar novos sistemas embarcados para J2ME e temos duvidas quanto a compartibilidades, como se existem virtual machine para Windows Mobile, Win CE, Palm, e qual java o J2ME dá suporte, pois temos o mesmo projetos desenvolvidos para desktop feitos em java5, ou seja se J2ME der suporte a java5 aproveitariamos boa parte do codigo já desenvolvido.
Alguem poderia me esclarecer melhor essas duvidas de Virtuais Machine e suporte a java do J2ME?
Se puderem indicar algum artigo algo assim seria legal também.
Olá, Bom no caso do SW ele foi descontinuado mas no lugar agora temos o Totalcross, ele é compativel com todos os sistemas, palms, windows mobile, windows ce e por ai vai… se vc quiser posso te passar um contato, eles iram fazer treinamento desta nova ferramenta, acho que começa na próxima semana.
Para o seu problema existe diversas formas de se resolver, se o foco da sua empresa é passar os sistemas em Java5 para aparelhos Pocket, palms, e outros smartphones, vc deverá usar CDC, para isso existe diversas JVM como CrEME, Ibm j9, Mysaifu e outras cada uma da suporte a 1 sistema ou varios, então se esta for sua escolha vc terá que fazer um estudo em cima destas jvm para vc escolher a melhor que se encaixa no seu problema.
Lembrando que vc não vai conseguir usar os mesmo códigos da Java5, pois a maioria das jvm para cdc se baseia no java 1.4, se bem que depende da forma que vc programou, se vc não usou recursos novos que só existe no Java 5 então vc poderia sim usar os mesmos codigos para CDC, acho que terá que fazer apenas ajustes nas telas, passar de Swing caso tenha utilizado para AWT, no caso da CrEME ela suporta telas em Swing.
Agora se o foco da sua empresa é mudar os sistemas para serem usados em aparelhos celulares comuns, ai vc deve usar o J2ME CLDC/MIDP, uma dica para vc ganhar em qualidade de telas graficas é usar a ferramenta LWUIT que está ganhando espaço no desenvolvimento de aplicativos para celulares.
Legal cara, fiquei sabem que no lugar do SuperWaba entrou o TotalCross mas o SW só tem suporte ao java1.3 se o Totalcross seguir a mesma linha entao nao conseguiriamos aproveitar nossos codigos em java5.
Pensamos em J2ME pois achamos que deve ser o mais proximo do java5 por ser da SUM, e deve possuir mais funcionalidades, mas pelo que estou vendo o J2ME é mais adequado para celulares comuns não? No caso usaremos Pocket e Palm, existe JVM para Pockect e Palm? E qual java o j2me suporta?.
Fiquei interessado na jvm CrEME pois aceita telas de swing entao deve ser capaz de desenvolver aplicativos bem sofisticados de forma facil, não achei muito material sobre a jvm CrEME, poderia me passar algum contato? Link? Ou mesmo uma breve explicação?
A Palm não diposnibiliza mais sua JVM para seu SO. E o suporte dela não era Java 1.5, mas sim CLDC/MIDP o que é bem diferente. Assim, você não vai encontrar mais JVM para o Palm OS.
Já para Windows Mobile pode-se usar a CrEME, que, se eu não estiver enganado, oferece suporte a CDC/PP que permite o uso de AWT (Swing eu não tenho certeza, pois nunca usei esta JVM).
Só não esqueça que a JVM CrEME, para ser utilizada comercialmente, será necessário comprar uma licença da plataforma.
Mais informações no site do produto.
Shakall, legal Totalcross se seguir o mesmo esquema do Superwaba pelo fato de ser facil.
Mas o seguinte, nossa prioridade é Windows Mobile e Win CE sendo que o mais importante é a jvm dar suporte a java5 ou algo mais proximo para poder migrar o sistema que ja usamos. TotalCross usa qual java como base?
Nao existe uma jvm para windows mobile que de total suporte a Java5, foi o que eu disse vc vai ter que migrar seu java 5 para o java 1.4 ou 1.3 dependendo da jvm que vc escolher para o seu Windows Mobile. TotalCross apesar de ser parecida com Java e ter no incio se baseado no Java, ele não é Java, é uma plataforma diferente, entao vc tb vai ter que mudar codigo para o TotalCross.
Shakall, beleza, mas o TotalCross é baseado em uma versao do java, vc saberia me dizer qual versão ele se baseia? Assim como o antecessor SuperWaba também nao era java mas se baseava no java1.3!
Bom, aproveitando, gostaria de saber sobre o J2ME CLDC/MIDP, como funciona em dispositivos mobile? Mesmo sabendo que terei que fazer mudanças no codigo queria saber qual versão do java ele usa, pois dependendo da versão não terei que mudar muita coisa.
É dificil te explicar se alguem puder ajudar melhor, mas o J2ME é um Java muitooo simples, nele vc nao tem suporte a JDBC por exemplo, unica forma de guardar dados não é por banco, é por arquivo de registro RMS, ou seja é um java super limitado e bem simples, para dispositivos de capacidades limitadas, se sua aplicação é robusta CLDC não vai dar certo!
Shakall, po cara, entendi, andei lendo sobre CLDC/CDC, CLDC é para aplicações simples e é ai q o J2ME se enquadra, possui a KVM que é uma virtual machine simples proprio para esses tipos de aplicações, o CDC para aplicações mais complexas e existem varias JVM como a Creme e a j9, isso certo?
Bom, isso quer dizer que terei que usar uma dessas jvm, qual vc mais recomendaria?
Cada uma delas tem um modo de programação assim como o SuperWaba ou é simplesmente rodar o jar que elas reconhecem?
Achei interessante a jvm CrEme por ter o Swing mas não sei seu horizonte de potencial e nem seu modo de programação, o Totalcross falam bem e já ultizo o SuperWaba, vc poderia me dar algum argumento?
Shakall, mais uma questão cara, se não estiver te enchendo muito.
Sobre J2ME, um java muito simples que não tem suporte a JDBC e a unica forma de banco de dados seria por arquivo, andei pensando, J2ME é mais simples que SuperWaba? Pois SuperWaba também fazia banco de dados por arquivos.
E minha aplicação nao necessitaria de banco de dados, apenas de conexoes com porta serial, sera que daria este suporte? J2ME é usado para jogos, n consigo enchergar sua limitação, voce poderia me ajudar me demontrando o horizonte dessa limitação?
Cara pensa como CDC e CLDC coisas totalmente separadas por milhoes de kilometros, CLDC é menos do que CDC, então se vc tah duvidando se CDC vai ser suficiente pra vc, pode ter certeza que CLDC não vai nem chegar perto do que vc quer, ele é usado pra Jogos simplesmente pq o mercado de celulares é maior que para Pockets pc, se fosse o inverso era desenvolvido mais jogos para CDC do que para CLDC, até pq os jogos em CDC seriam muito superior os desenvolvidos em CLDC.
Se sua aplicaçao nao faz uso de persistencia complexas, e vc vai ter acesso a portas serial, o J2ME CLDC atende suas necessidades!
O modo de programação CDC é unico, o que muda é qual biblioteca de telas graficas vc vai trabalhar, vc pode usar qualquer uma das KVM citadas, o que difere uma da outra é suporte a palmOS, uma tem outra não, suporte a Windows Mobile e por ai vai, vc tem que ver qual se encaixa ao seu problema.
Quanto ao TotalCross o que vc tem a dizer em comparação com esas KVM para CDC?
Tinha dito de um treinamento TotalCross que iria ocorrer e algum contato também, poderia falar melhor sobre isso?
Shakall, você ou alguem poderia me informar um pouco sobre o j9? Não se acha muita documentação na internet, alguém sabe de algum conteudo bom para se basear os estudos ou algum tutorial?