Saltar para conteúdo


Foto
- - - - -

Java Foi Boa Ou Má Opção ?


  • Por favor inicie sessão para responder
8 respostas a este tópico

#1 bruara

bruara

    Membro

  • Membros
  • PipPip
  • 37 mensagens

Mensagem publicada 20 May 2012 - 10:15

Bom dia,
Começo aqui este tópico porque acho que é algo que todos gostariamos de discutir. Espero que este tópico não seja duplicado.
Acham que a opção da google pelo Java foi boa ou má ? Pela minha experiência, já que programo para as 3 principais plataformas móveis existentes, foi má. E passo a explicar: Quando se fala em estabilidade de SO tenho que falar do grande iOS, posso não concordar com os preços nem com as políticas mas na minha opinião é de longe o melhor SO em estabilidade. Para programar, o emulador do Android é de longe o pior, extremamente lento ... desesperante até. Em android, o simulador de GPS crash a cada 3 "geo fix", em média. Em emuladores gosto muito do da Microsoft, é muito rápido e até hoje o que menos tive problemas relacionados exclusivamente com o emulador.
Estes problemas que falei vêm de ser feito em Java, o que ganhamos em abstracção de hardware perdemos na rapidez porque o nosso programa vai ser convertido e corrido numa VM e só depois no hardware. É fácil assim adivinhar que estamos a perder em relação ao Objective-C e C# que são muito mais baixo nível que o Java.
Não vou entrar em discussões sobre as 3 linguagens porque isso cada um tem a sua preferência, eu tenho a minha e concerteza cada um de vocês prefere uma em relação à outra.
Por último e para esclarecer, o meu telemóvel pessoal é Android e o meu "income" mensal vem em grande parte desta plataforma, por isso não sou Apple FanBoy nem MS FanBoy.
O que acham disto ?
Abraço
Bruno
  • Duarte777 e filipe123 gosta disto

#2 Hugo Tender

Hugo Tender

    Mestre de Android

  • Administradores
  • 3492 mensagens
  • LocalizaçãoPortugal
  • Motorola Nexus 6 - Midnight Blue - 32GB - 5.1 e Samsung Galaxy Tab S 8.4 (T700) - 16GB - 4.4.2

Mensagem publicada 20 May 2012 - 14:33

Boas.
Apesar de não estar dentro assunto, quero agradecer pelo teu feedback. ;-)
Cumps, Tender

Sent from my Boston using Tapatalk 2

Motorola Nexus 6 - Midnight Blue - 32GB - 5.1 Lollipop

Samsung Galaxy Tab S 8.4 (T700) - 16GB - 4.4.2

Antes de iniciares a tua atividade no androidPT, lê as regras com atenção: REGRAS

Chat Gmail do fórum, para ajuda e dúvidas: [email protected]

8AycV.gif


#3 lordnins

lordnins

    Membro

  • Membros
  • PipPip
  • 11 mensagens

Mensagem publicada 20 May 2012 - 22:05

Concordo com alguns pontos que referes, o emulador Android é muito lento e mesmo assim agora já está melhor que versões anteriores.
iOS é estável, ora pois, tu controlando o software e o hardware se fosse o contrário não vendia o que vende, e não esquecer que Objective-C é um superset do C uma linguagem de mais baixo nível que o Java e C#.
Eu posso estar equívocado, mas mesmo no windows phone o C# também corre numa maquina virtual, agora que será mais rápida isso provávelmente também se deve à maneira como o próprio C# foi contruído, logo o C# não é assim tão baixo nível como referes.
O Java foi bom na perspectiva de que sendo a linguagem mais utilizada no mundo, mais rápidamente tens a possibilidade de ter várias apps no mercado, no entanto na minha perspectiva a Google poderia facilitar o uso de linguagens como o C ou C++ como medidas para o aumento do desempenho das aplicações. Sim eu sei que é possível programar em C e C++ mas a documentação é má comparada com a que existe para Java.
Eu sou programador Android e neste momento ando a dar uma vista de olhos em Objective-C e a linguagem ao início estranha-se depois entranha-se estou a gostar, refira-se que C foi linguagem que mais gostei de aprender, também gosto da "filha" (C++) e "netas" (C#, Java) mas já não me deram o mesmo gosto.
Acho, no fim de isto tudo dito, que o Android não perde directamente por causa do uso de Java mas sim pela abertura da plataforma e por não manter um controlo como a Apple ou a Microsoft fazem sobre as respectivas plataformas. Ora, veja-se o exemplo do windows phone, pega-se num Nokia e por exemplo num HTC e a experiencia de utilização é a mesma, a interface é a mesma, agora no caso do Android, pegas num HTC e é diferente de um Samsung e na minha opinião é mais importante isto do que a escolha do Java.
E outra coisa grave no Android é a fragmentação já se fala que no próximo semestre vai ser lançada a versão 5 e ainda estão a sair para o mercado dispositivos novos com a versão 2.3 e de certeza que sabes tão bem como eu que existem diferenças grandes entre as API's e manter aplicação para as diferentes versões da API torna-se custoso.
  • Duarte777 e sousa921 gosta disto

#4 bruara

bruara

    Membro

  • Membros
  • PipPip
  • 37 mensagens

Mensagem publicada 21 May 2012 - 21:07

Antes de mais, obrigado por adicionares "sumo" à discussão.
Referes que o WP7 corre numa máquina virtual, penso que te estás a referir ao emulador. Se sim, realmente corre numa VM ( até porque foi desenvolvido pela equipa da Microsoft responsável pela virtualização ) e consegue mesmo assim ser bem mais rápido que o do Android. Eu referia-me à linguagem em si, já que Java é mais alto nível que C#. De longe.
Aqui há uns tempos saiu uma notícia de que a própria Google estaria a por a hipótese de abandonar o Java para Android ( também por causa dos problemas com a Oracle na questão da licença ), a ser verdade seria sinal daquilo que digo ... a escolha foi errada. O que dizes é muito certo, Java é uma linguagem muito propagada e é mais fácil encher o market com aplicações. Mas será isso bom ? Tem o lado bom e mau, a Apple é mais restrictiva e selectiva, mas o que eu mais gosto no Android é mesmo a sua liberdade e customização, daí os dois lados da moeda. Mas também me chateia as aplicações que me enchem a barra de notificações com publicidade. E são cada vez mais.
Eu continuo a achar que a instabilidade do sistema vem em grande parte de ser corrido sobre uma VM. A fragmentação também é um problema grave, mas isso é culpa da Google ! Sairam alguns versões do Android más e com alguns problemas graves que deviam ter sido evitadas. Umas versões LTS de Android não ficava nada mau. Díria que uma nova versão de 3 em 3 anos era razoável.

#5 pedronveloso

pedronveloso

    Veloso

  • Administradores
  • 1578 mensagens
  • S8

Mensagem publicada 21 May 2012 - 22:57

Deixei a minha opiniao sobre este assunto ha algum tempo no pplware : http://pplware.sapo....ado-em-net-e-c/

Escuso de transpor para aqui a mesma, uma vez que se mantem ;)

#6 bruara

bruara

    Membro

  • Membros
  • PipPip
  • 37 mensagens

Mensagem publicada 22 May 2012 - 11:19

Porque dizes que não haveria diferença na substituição de Java por C# ? Obviamente que toda a estrutura teria que ser repensada ...

#7 lordnins

lordnins

    Membro

  • Membros
  • PipPip
  • 11 mensagens

Mensagem publicada 22 May 2012 - 14:25

Referes que o WP7 corre numa máquina virtual, penso que te estás a referir ao emulador.


Não me estava a referir ao emulador, estava a referir-me mesmo à maquina virtual que na arquitectura .Net, a CLR(Common Language Runtime) é a máquina virtual .Net tal como a Dalvik é para o Android ou a JVM para Java.

Eu referia-me à linguagem em si, já que Java é mais alto nível que C#

Na minha opinião acho que aqui estás enganado, ambas as linguagens estão ao mesmo nível. Ambas são compiladas para bytecode e depois interpretadas não vejo a diferença.

O que dizes é muito certo, Java é uma linguagem muito propagada e é mais fácil encher o market com aplicações. Mas será isso bom ? Tem o lado bom e mau, a Apple é mais restrictiva e selectiva, mas o que eu mais gosto no Android é mesmo a sua liberdade e customização, daí os dois lados da moeda. Mas também me chateia as aplicações que me enchem a barra de notificações com publicidade. E são cada vez mais.


Também concordo contigo, ambas as perspectivas têm prós e contras.

Eu continuo a achar que a instabilidade do sistema vem em grande parte de ser corrido sobre uma VM.

Não acho que seja por aí o maior problema, aqui é um pouco como as guerras Windows vs Mac OS, o Windows corre em todo o lado e mais algum o Mac OS é para correr em hardware restrito, tal como o Android feito para correr em todo o lado, e tanto o Windows Phone como iOS para correr em hardware mais específico.

A fragmentação também é um problema grave, mas isso é culpa da Google ! Sairam alguns versões do Android más e com alguns problemas graves que deviam ter sido evitadas. Umas versões LTS de Android não ficava nada mau. Díria que uma nova versão de 3 em 3 anos era razoável.


De 3 em 3 anos, não mas entre 1 ano e meio e 2 anos.

#8 r3pek

r3pek

    Guru de Android

  • Former Staff
  • PipPipPipPipPip
  • 1560 mensagens
  • LocalizaçãoBA4 - Terceira - Açores
  • Nexus One + Motorola XOOM

Mensagem publicada 22 May 2012 - 18:48

Eu sinceramente não percebo a "instabilidade do sistema". Não me lembro de ter uma aplicação a crashar só pk lhe dá na real gana (estabilidade portanto). Normalmente são erros que acontecem devido à má programação, mas isso não tem nada a ver com estabilidade.

#9 lordnins

lordnins

    Membro

  • Membros
  • PipPip
  • 11 mensagens

Mensagem publicada 22 May 2012 - 21:41

Eu sinceramente não percebo a "instabilidade do sistema". Não me lembro de ter uma aplicação a crashar só pk lhe dá na real gana (estabilidade portanto). Normalmente são erros que acontecem devido à má programação, mas isso não tem nada a ver com estabilidade.

De facto, na realidade não acho que sofra de instabilidade, mas sim provavelmente de alguma falta de fluidez em certas situações, e isso sim é um problema que pode derivar do facto de correr num maquina virtual..