Flash est-il vraiment supérieur aux applets Java? [fermé]

14

Je suis encore étudiant, sans grande expérience de la vie réelle en programmation. Je n'ai jamais rien écrit de plus de ~ 5k lignes de code. J'ai écrit du code à la fois en Flash et en Java, et je ne comprends tout simplement pas pourquoi les gens écrivent des applications Web comme des lecteurs vidéo (YouTube, etc.) en Flash, et non en tant qu'applets Java. Je veux donc vous demander, programmeurs ayant une expérience pratique, quelques mots sages sur le sujet.

Je ne vois aucun réel avantage de Flash sur les applets, alors que d'un autre côté, du moins pour moi, il semble bogué comme l'enfer. Je comprends qu'il est plus rapide de créer quelque chose en Flash, et je peux voir pourquoi ce serait une bonne chose pour un prototypage rapide, mais en général, cela en vaut-il la peine? Chaque fois qu'un YouTube devient fou, je maudis les développeurs de l'avoir écrit en Flash. Et si vous utilisez Linux avec Opera, cela se produit tout le temps.

Donc, fondamentalement, pourquoi les gens utilisent-ils le flash et non les applets?

Davor Ždralo
la source
4
Applets Java, ugh ...
Anto

Réponses:

34

Flash offre une expérience plus transparente à l'utilisateur. Les applets Java sont assez lentes, car la machine virtuelle Java doit être activée avant de pouvoir s'exécuter. En tant que visiteur de site Web, je déteste quand les choses se figent pendant quelques instants pendant que la machine virtuelle Java se comprend. Si je ne me trompe pas, il ne se décharge pas non plus une fois que j'ai quitté le site Web qui l'a utilisé, le laissant traîner quand je ne voulais pas vraiment qu'il fonctionne en premier lieu.

Mon expérience (certes limitée) avec Flash et le développement d'applets me dit également que développer une animation dans Flash est plus facile.

Et puis il y a l'histoire. Microsoft n'a pas rendu service aux applets Java en développant leur propre machine virtuelle Java et en la faisant se comporter différemment de celle de Sun. En conséquence, la même applet pourrait fonctionner dans un navigateur et pas dans un autre, ce qui rendait la création d'applets Java moins viable.

Java a des outils gratuits qui peuvent être utilisés contrairement aux éditeurs Flash propriétaires requis pour faire des vidéos Flash, mais en fin de compte, son approche maladroite la rend inférieure.

Adam Lear
la source
4
D'accord, le temps de préchauffage de la JVM est probablement la raison pour laquelle Flash a mangé le déjeuner Applet
1
En outre, Flash a été principalement conçu pour créer de grandes expériences interactives avec beaucoup de contenu graphique, de son et d'animation. Java est un langage à usage général qui n'est pas nécessairement le meilleur choix pour créer du contenu Web.
Martin Wickman
3
Sun s'est battu avec succès contre la tentative de MS de rendre les applets moins responsables devant les tribunaux. Il n'y a plus de MS-Java autour, c'était interdit.
utilisateur inconnu
1
On pourrait dire que le succès juridique de Sun a provoqué l'échec technique dans ce domaine. Sans JVM par défaut dans Windows (le système d'exploitation de l'utilisateur final le plus largement distribué sur le marché), Flash a eu l'opportunité de devenir la norme de facto et en a profité. Microsoft haussa les épaules et créa .NET en réponse à la décision de la JVM, puis Silverlight en réponse à Flash. Désormais, HTML 5 est sur le point de rendre obsolètes la plupart de ces solutions côté client. Le cercle de la vie.
Jesse C. Slicer
4

La lecture audio et vidéo Flash est aussi boguée que l'enfer, mais Java n'est pas toujours meilleur. J'ai eu des problèmes extrêmement frustrants avec les jeux Java lorsque Sun a introduit un bug entre les versions mineures qui a foiré le cycle de vie de l'applet. Ils ont vraiment commencé à se réunir avec des applets il y a environ un an, et même alors, ce n'était pas parfaitement fluide.

En ce qui concerne les jeux, les plus grands avantages de Flash étaient probablement un environnement de développement plus spécialisé et un bon support de bibliothèque pour les graphiques vectoriels. Le plus grand avantage de Java était probablement la possibilité de faire de la vraie 3D avec une applet signée et JOGL / LWJGL.

Peter Taylor
la source
2

Le temps d'exécution pour les applets Java (dans Windows au moins) est beaucoup plus lourd et plus lent que celui de Flash (selon mon expérience), et je pense que le langage Actionscript est de niveau supérieur à celui de Java, ce qui rend les choses comme les animations et la gestion des ressources (comme la musique / vidéos) plus facile à développer.

James Love
la source
3
ActionScript est juste JavaScript avec un nom différent. Je suis sûr que les personnes qui le souhaitent pourraient avoir un long débat sur la question de savoir si c'est un niveau supérieur à Java, mais au niveau du langage, la plus grande différence IMO est le typage dynamique vs statique.
Peter Taylor
2
De nos jours, "Actionscript" signifie généralement AS3, qui ressemble plus à Java qu'à JavaScript, et fonctionne de façon plus similaire à Java car les VM JITs (contrairement à la VM AS2, qui interprète uniquement).
fenomas
2

Java n'a jamais eu d'interface utilisateur très attrayante. Il leur a même fallu des années pour avoir l'anti-aliasing, ce qui rend le texte difficilement lisible. Le rendu / interaction multithread n'est afaik jamais implémenté dans les principales bibliothèques d'interface utilisateur Java. Cela ajoute au sentiment déjà lent de ces bibliothèques d'interface utilisateur.

Comme java est conçu pour des projets de grande envergure, il présente un avantage significatif en utilisant le code existant dans le navigateur.

Les capacités HTML ont été considérablement augmentées ces dernières années. Les compatibilités entre navigateurs ont été supprimées et certaines fonctionnalités ont été ajoutées, telles que le stockage côté client et le canevas.

GWT propose une assez jolie API pour créer une interface utilisateur avec des classes et des interfaces de haut niveau pour les panneaux et les widgets. Il le traduit en javascript, ce qui en fait un féroce comeptitor pour les applets java et flash.

Ruudjah
la source
2
L'anti-aliasing est en Java depuis la version 1.2. Je pense que c'est plutôt un cas où les gens n'ont pas pris le temps d'apprendre à l'allumer.
Peter Taylor
Et Java 1.2 date de 1998. Quelle est cette absurdité à propos du rendu / interaction multithread? Java est le langage généralement utilisé pour enseigner les threads. C'est-à-dire qu'il a le modèle de filetage le plus pratique et le plus évolué de toutes les langues, aujourd'hui. (Cependant, ce n'est certainement pas le modèle de filetage le plus pratique possible ...) Quelle "sensation de lenteur"? Il est lent de charger une applet, mais une fois chargé, il a la sensation la plus réactive que vous puissiez obtenir dans un navigateur.
Evgeni Sergeev
2

Les développeurs Flash sont moins chers que les développeurs Java dans leur ensemble. Et vous pouvez trouver des graphistes capables de travailler dans ou avec le flash. Ainsi, vous pouvez obtenir un produit plus joli moins cher.

Wyatt Barnett
la source
2
Personne ne vaut son sel. Un bon développeur demande de bons prix pour les développeurs.
MaxSan
1

la réponse simple est .. le flash est pour les concepteurs. et java est pour les programmeurs cela ne devient pas plus facile que cela .. pas un meilleur que l'autre .. ce sont juste des outils différents pour différents travaux .. donc supposer que flash ou java sont supérieurs les uns aux autres .. est juste un parti pris .. ce sont juste des outils différents à la fois faire le travail dans des contextes différents .. comme pour le downvote .. je ne vois pas votre point .. il est pertinent de dire de telles choses .. et de ne pas laisser le biais entrer le chemin..

vous avez laissé un downvote? que diriez-vous de nous expliquer pourquoi de manière constructive? :)

marc-andre benoit
la source
+1 parce que vous avez raison: le flash est destiné aux concepteurs Web qui évoluent en programmeurs Web. Java est destiné aux programmeurs qui évoluent vers la création de sites Web.
Kris Van Bael
que diriez-vous de voter pour ma réponse si vous pensez qu'elle mérite un +1 :) hehe
marc-andre benoit
1
Je l'ai fait, naturellement.
Kris Van Bael