O Flash é realmente superior aos miniaplicativos Java? [fechadas]

14

Ainda sou estudante, sem muita experiência na vida real em programação. Eu nunca escrevi nada maior que ~ 5k linhas de código. Escrevi código em Flash e Java e simplesmente não consigo entender por que as pessoas estão escrevendo aplicativos da Web como players de vídeo (YouTube etc.) no Flash, e não como applets Java. Então, quero perguntar a você, programadores com experiência prática, por algumas palavras sábias sobre o assunto.

Não vejo nenhum benefício real do Flash sobre os applets, enquanto, por outro lado, pelo menos para mim, parece bugs como o inferno. Entendo que é mais rápido criar algo no Flash, e posso ver por que isso seria bom para a prototipagem rápida, mas, em geral, vale a pena? Toda vez que um YouTube fica louco, eu xingo os desenvolvedores por escrevê-lo no Flash. E se você estiver usando Linux com Opera, isso acontece o tempo todo.

Então, basicamente, por que as pessoas estão usando flash e não applets?

Davor Ždralo
fonte
4
Applets Java, ugh ...
Anto

Respostas:

34

O Flash oferece uma experiência mais perfeita para o usuário. Os applets Java são muito lentos, pois a Java VM precisa ser ativada antes de poder executar. Como visitante do site, eu odeio quando as coisas congelam por alguns momentos, enquanto a Java VM descobre a si mesma. Se não me engano, ele também não é descarregado depois que eu navego para fora do site que o usou, deixando-o por aí quando eu realmente não queria que ele fosse executado.

Minha experiência (reconhecidamente limitada) com o desenvolvimento de aplicativos e Flash também me diz que é mais fácil desenvolver uma animação no Flash.

E depois há história. A Microsoft não fez nenhum favor aos applets Java, desenvolvendo sua própria JVM e fazendo com que ela se comportasse de maneira diferente da Sun. Como resultado, o mesmo miniaplicativo poderia funcionar em um navegador e não em outro, o que tornava a criação de miniaplicativos Java menos viável.

O Java possui ferramentas gratuitas que podem ser usadas em oposição aos editores proprietários do Flash, necessários para criar vídeos em Flash, mas, em última análise, sua abordagem pesada o torna inferior.

Adam Lear
fonte
4
Acordado, o JVM warmup tempo é provavelmente a razão que o Flash comeu o Applet-almoço
1
Além disso, o Flash foi desenvolvido principalmente para criar ótimas experiências interativas com muito conteúdo gráfico, som e animação. Java é uma linguagem de propósito geral, não necessariamente a melhor opção para criar conteúdo da web.
Martin Wickman
3
A Sun lutou com sucesso contra a tentativa do MS de tornar os applets menos responsáveis ​​na corte. Não há mais MS-Java por aí, foi proibido.
usuário desconhecido
1
Pode-se dizer que o sucesso legal da Sun causou uma falha técnica nessa arena. Sem JVM padrão no Windows (o sistema operacional do usuário final mais amplamente distribuído no mercado), o Flash teve a oportunidade de se tornar o padrão de fato e aproveitar isso. A Microsoft encolheu os ombros e criou o .NET em resposta à decisão da JVM e, em seguida, o Silverlight em resposta ao Flash. Agora, o HTML 5 está pronto para obsoletar a maioria dessas soluções do lado do cliente. O circulo da vida.
Jesse C. Slicer #
4

A reprodução de áudio e vídeo em Flash é tão ruim quanto o inferno, mas Java nem sempre é melhor. Eu tive alguns problemas imensamente frustrantes com os jogos Java quando a Sun introduziu um bug entre versões menores que danificaram o ciclo de vida do applet. Eles realmente começaram a se reunir com os applets cerca de um ano atrás, e mesmo assim não foi perfeitamente tranquilo.

Quanto aos jogos, as maiores vantagens do Flash foram provavelmente um ambiente de desenvolvimento mais especializado e um bom suporte de biblioteca para gráficos vetoriais. A maior vantagem do Java provavelmente foi a capacidade de realizar 3D verdadeiro com um applet assinado e o JOGL / LWJGL.

Peter Taylor
fonte
2

A sobrecarga de tempo de execução dos Java Applets (pelo menos no Windows) é muito mais lenta e mais lenta que a do Flash (na minha experiência), e acredito que a linguagem Actionscript seja de nível mais alto que a do Java, portanto, isso cria animações e manipulação de recursos (como músicas / vídeos) mais fáceis de desenvolver.

James Love
fonte
3
O ActionScript é apenas JavaScript com um nome diferente. Tenho certeza de que as pessoas que desejavam poderiam ter um longo debate sobre se é um nível superior ao Java, mas no nível da linguagem, a maior diferença da IMO é a digitação dinâmica versus estática.
Peter Taylor
2
Atualmente, "Actionscript" geralmente significa AS3, que é mais parecido com Java do que JavaScript, e tem um desempenho mais semelhante ao Java devido aos JITs da VM (diferente da VM do AS2, que apenas interpreta).
Fenomas 07/07
2

Java nunca teve uma interface de usuário muito atraente. Eles levaram anos para ter anti-aliasing, tornando o texto dificilmente legível. A renderização / interação multithread nunca é implementada nas principais bibliotecas da interface do usuário java. Isso aumenta a sensação já lenta das bibliotecas de interface do usuário.

Como o java é projetado para grandes projetos, ele tem uma vantagem significativa ao usar o código existente no navegador.

Os recursos de html aumentaram significativamente nos últimos anos. As compatibilidade entre navegadores foram superadas e alguns recursos foram adicionados, como armazenamento e tela do lado do cliente.

O GWT oferece uma API bastante agradável para criar interface do usuário com classes e interfaces de alto nível para painéis e widgets. Ele o converte em javascript, tornando-se um feroz navegador para applets e flash java.

Ruudjah
fonte
2
O anti-aliasing está em Java desde a versão 1.2. Acho que é mais um caso de as pessoas não terem tempo para aprender como ativá-lo.
Peter Taylor
E o Java 1.2 data de 1998. O que é esse absurdo sobre renderização / interação multithread? Java é a linguagem normalmente usada para ensinar threads. Ou seja, ele possui o modelo de encadeamento mais conveniente e evoluído de todos os idiomas atualmente. (No entanto, quase certamente não é o modelo de rosqueamento mais conveniente possível ...) Que "sensação lenta"? É lento carregar um applet, mas, uma vez carregado, ele tem a sensação mais responsiva que você pode acessar em um navegador.
Evgeni Sergeev
2

Os desenvolvedores de Flash são mais baratos que os desenvolvedores de Java em geral. E você pode encontrar designers gráficos capazes de trabalhar com ou com flash. Assim, você pode obter um produto mais bonito mais barato.

Wyatt Barnett
fonte
2
Ninguém vale o seu sal. Um bom desenvolvedor cobra bons preços para o desenvolvedor.
MaxSan
1

resposta simples é .. flash é para designers. e java é para programadores que não fica mais fácil que isso .. não um melhor que o outro .. eles são apenas ferramentas diferentes para trabalhos diferentes .. então supor que flash ou java sejam superiores um ao outro .. é apenas um viés .. são apenas ferramentas diferentes, ambos fazem o trabalho em contextos diferentes .. quanto ao voto negativo .. não entendo o seu ponto .. é relevante dizer essas coisas .. e não deixar o viés entrar o caminho..

você deixou um voto negativo? Que tal contar a todos por que de maneira construtiva? :)

marc-andre benoit
fonte
+1 porque você está certo: o flash é para web designers que evoluem para programadores da web. Java é para programadores que evoluem para criar sites.
Kris Van Bael
como sobre upvoting a minha resposta se você acha que merece um +1 :) hehe
Marc-Andre Benoit
1
Eu fiz, naturalmente.
Kris Van Bael #