Futuro das aplicações para Mobile

Olá !!!

Tenho uma dúvida que não sei se é coerente ou não. Mas eu noto que há um movimento grande em migrar aplicações desktop para web, isso é fato. Então eu me pergunto, se há futuro para aplicações comerciais java standalone em aparelhos celular ou outro dispositivo móvel… Será que essa tendência nao ira se estender tambem para aplicações nesses dispositivos? Eu pensei em aprender java ME mas sinceramente nao sei se é algo que comercialmente valha a pena, sei lá, vai que daqui a pouco nao vai rodar tudo em um minibrowser no aparelho… ou até mesmo o SO do aparelho virar um browser e todo o conteúdo vir da web.

Utilizamos o seguinte critério para primeira escolha de interface e tem dado certo:

NO PC:
Interfaces para usuários eventuais: WEB
Interfaces para usuários operacionais: Swing “smartclient”

NO JME
Interfaces para usuários eventuais: WEB
Interfaces para usuários operacionais locais: APP "smartclient"
Interfaces para usuários operacionais remotos: APP standalone

Esse negócio de que vais ser tudo web, ouço há muito tempo. Gostaria de receber um link de uma aplicação web realmente “operacional” para eu conhecer… :wink:
Abraços

Cara, tem muito sistema web poderoso no mercado hein, procure se informar mais =)

terias um link de um com “testdrive”? :wink:

Também ouço isso há muito tempo, mas existem app já rodando na web. A Google mesmo tem o Google Docs que é web, além disso a Microsoft já testa o Office 2010 pra web. Dá um look nessa url que tem imagens da aplicação rodando.

http://tecnologia.uol.com.br/album/Microsoft_Office2010_album.jhtm?abrefoto=8#fotoNav=25

Acho que a dúvida é boa e a discussão é grande e/ou demorada…

Valeu!

http://www.flexerp.com.br/sistema.cfm

[quote]Dá um look nessa url que tem imagens da aplicação rodando.

http://tecnologia.uol.com.br/album/Microsoft_Offic...bum.jhtm?abrefoto=8#fotoNav=25
[/quote]

Obrigado pelos links!

O Flax é RIA, uma categoria à parte das aplicações WEB. Algumas observações comuns nas aplicações WEB e que no FlexERP também estão:

Há pouco controle sobre as ações do usuário. Alt+F4, fecha tudo sem aviso. Alt + outra coisa, acessa o menu do browser, etc…
Pouca produtividade. Imagina você fazer 1000 entradas na tela de pedidos, tendo que alternar o tempo todo entre mouse e teclado;
Um requisito não funcional muito comum nas aplicações “operacionais” (onde o usuário opera o sistema a jornada inteira) é que ele possa trabalhar sem alternar entre o teclado e mouse (funcionar sem mouse).

Para este tipo de aplicação penso que há muito espaço para Swing com Java Webstart
É muito fácil controlar o usuário com o swing
A equipe não tem que ficar alternando entre duas linguagens (java e Flex)
Swing e Java Webstart funcionan e seguem JCP. A questão da especificação é importante. No Flex 4 há funcionalides do 3 que foram retiradas. Você tem que alterar o código para migrar do 3 para 4.

Já para as aplicações tipo Office, penso estarem mais próximas da WEB.

Abraços

Realmente o Luiz tem total razão sobre aplicações “operacionais” onde a performance do homem na utilização do sistema é prioriodade 0 (zero). Também acredito que para essas aplicações funcionarem em cloud computing ainda vai demorar um pouquinho ou não! :lol:

Acredito que com os browsers existentes, tanto para desktop como para mobile, as aplicações web não são funcionais, pensando na agilidade de utilização.
Mas provavelmente no futuro os browser serão diferentes.

O jeito é saber programar em quase tudo, e ficar esperto com a movimentação de mercado e as novidades. kkkk

[quote=luizSC]Algumas observações comuns nas aplicações WEB e que no FlexERP também estão:

Há pouco controle sobre as ações do usuário. Alt+F4, fecha tudo sem aviso. Alt + outra coisa, acessa o menu do browser, etc…
Pouca produtividade. Imagina você fazer 1000 entradas na tela de pedidos, tendo que alternar o tempo todo entre mouse e teclado;
Um requisito não funcional muito comum nas aplicações “operacionais” (onde o usuário opera o sistema a jornada inteira) é que ele possa trabalhar sem alternar entre o teclado e mouse (funcionar sem mouse).

Para este tipo de aplicação penso que há muito espaço para Swing com Java Webstart
É muito fácil controlar o usuário com o swing
A equipe não tem que ficar alternando entre duas linguagens (java e Flex)
Swing e Java Webstart funcionan e seguem JCP. A questão da especificação é importante. No Flex 4 há funcionalides do 3 que foram retiradas. Você tem que alterar o código para migrar do 3 para 4.

Já para as aplicações tipo Office, penso estarem mais próximas da WEB.

Abraços[/quote]

Olha, quem nunca precisou dar manutenção em aplicativos swing após mudança do Java deve ter trabalhado pouco tempo ou com coisas bem triviais mesmo. No mais, swing é mais conhecido pela sua complexidade e comportamento de uma tecnologia que não foi projetada para o SO que o executa. Qualquer um que usar uma app swing percebe que ele não é nativo!

Sim, resolve alguns problemas que vc citou com aplicativos web, mas não é suficiente. Referente ao JCP acredito que ele seja irrelevante, ou até mesmo prejudicial na presença de tecnologias inovadoras.

Você poderia, por favor, dar um exemplo de alguma funcionalidade que existia no SWING da JVM 1.2 e que deixou de existir ou não é compátivel em alguma das versões posteriores?

Tá mas o que há de ruim nisso? Os sistemas da empresa onde trabalho são utilizados em máquinas com Windows, Linux, Solaris e deve ter outros. Como que a tecnologia vai saber onde vai rodar se nem eu sei? E nem gosto de lembrar do tempo de C++, quando precisava saber…

Considero bom o fato de saber que as JRE irão evoluir mantendo a compatibilidade com o que já escrevi. Você poderia explicar porque que isso prejudica?

Você poderia, por favor, dar um exemplo de alguma funcionalidade que existia no SWING da JVM 1.2 e que deixou de existir ou não é compátivel em alguma das versões posteriores?[/quote]

Desde o JDK 1.2 existem vários métodos do framework swing que foram depreciados.

[quote=luizSC]

Tá mas o que há de ruim nisso? Os sistemas da empresa onde trabalho são utilizados em máquinas com Windows, Linux, Solaris e deve ter outros. Como que a tecnologia vai saber onde vai rodar se nem eu sei? E nem gosto de lembrar do tempo de C++, quando precisava saber…[/quote]

Meu ponto é que eles não funcionam bem em todos, ainda que vc saiba que a tecnologia utilizada será terminais desktop com teclado e mouse.

[quote=luizSC]

Considero bom o fato de saber que as JRE irão evoluir mantendo a compatibilidade com o que já escrevi. Você poderia explicar porque que isso prejudica?[/quote]

Não ter que reescrever código é muito bom quando ele estiver correto! Mas a visão inicial de que mobile seria um subset do J2SE se mostrou equivocada. A apple que não é comandada por comite, tratou de reescrever todo o código do seu framework desktop, correspondente ao Swing do Java, para dispositivos de toque. O resultado todos nós conhecemos (Já usou um LG Touch né?).

Engraçado vc falar das virtudes do JCP num tópico sobre o futuro das aplicações mobile. Área onde Java esta enterrado faz algum tempo.

Você poderia, por favor, dar um exemplo de alguma funcionalidade que existia no SWING da JVM 1.2 e que deixou de existir ou não é compátivel em alguma das versões posteriores?[/quote]

Desde o JDK 1.2 existem vários métodos do framework swing que foram depreciados.
[/quote]
Mochuara,

Já havia observado teu comportamento em debates com outros membros do forum. Mesmo assim tentei, mas esta é a última resposta.

Não dá prá debater contigo porque para “sempre fazer valer sua opinião”, você utiliza afirmações fora das premissas, na sequencia da argumentação. Olhe o trecho citado: Você diz que quem tem experiência em java, já precisou dar manutenção nas aplicações escritas em swing. Perguntei por um exemplo, e como você não o tem, citou os métodos depreciados.

Desde quando é necessário dar manutenção em códigos que utilizaram métodos que posteriormente foram depreciados?

Java quando identifica que algo pode ser feito melhor, o faz, mas mantem o que existe, ainda que depreciado (humildade para reconhecer que o foi feito pode ser feito melhor, mas com o compromisso de não deixar na roubada quem embarcou na idéia). Muitas outras tecnologias, simplesmente tiram a funcionalidade ruim e torcem para que todos esqueçam que um dia ela existiu.

Abraços

[quote=luizSC]
Desde quando é necessário dar manutenção em códigos que utilizaram métodos que posteriormente foram depreciados?[/quote]

Eu não disse que é necessário dar manutenção em codigo depreciado. E sim, que seu código não esta livre dos efeitos do tempo, e que na verdade, todo código precisa de manutenção (inclusive o proprio Java). Não é porque voce costuma trabalhar com aplicações swing que ficam na gaveta por anos que a possibilidade de não precisar alterar código é algo tão importante. Lembre-se que no mundo ideal, software é construído de forma iterativa, e reescrever código é parte importante do processo. Mas isso é pra aplicativo que não fica na gaveta!

[quote=luizSC]
Java quando identifica que algo pode ser feito melhor, o faz, mas mantem o que existe, ainda que depreciado (humildade para reconhecer que o foi feito pode ser feito melhor, mas com o compromisso de não deixar na roubada quem embarcou na idéia). Muitas outras tecnologias, simplesmente tiram a funcionalidade ruim e torcem para que todos esqueçam que um dia ela existiu.

Abraços[/quote]

Se isso é tão importante, porque Java não é uma tecnologia com historico de sucesso no mercado mobile / desktop? Ainda acredita que será no futuro?

Você poderia, por favor, dar um exemplo de alguma funcionalidade que existia no SWING da JVM 1.2 e que deixou de existir ou não é compátivel em alguma das versões posteriores?[/quote]

Desde o JDK 1.2 existem vários métodos do framework swing que foram depreciados.
[/quote]
Mochuara,

Já havia observado teu comportamento em debates com outros membros do forum. Mesmo assim tentei, mas esta é a última resposta.

Não dá prá debater contigo porque para “sempre fazer valer sua opinião”, você utiliza afirmações fora das premissas, na sequencia da argumentação. Olhe o trecho citado: Você diz que quem tem experiência em java, já precisou dar manutenção nas aplicações escritas em swing. Perguntei por um exemplo, e como você não o tem, citou os métodos depreciados.

Desde quando é necessário dar manutenção em códigos que utilizaram métodos que posteriormente foram depreciados?

Java quando identifica que algo pode ser feito melhor, o faz, mas mantem o que existe, ainda que depreciado (humildade para reconhecer que o foi feito pode ser feito melhor, mas com o compromisso de não deixar na roubada quem embarcou na idéia). Muitas outras tecnologias, simplesmente tiram a funcionalidade ruim e torcem para que todos esqueçam que um dia ela existiu.

Abraços[/quote]

Relaxa, fã é fã…

Dizer que Swing está longe de ser uma solução ideal me faz fã de que exatamente?