¿Flash es realmente superior a los applets de Java? [cerrado]

14

Todavía soy estudiante, sin mucha experiencia en la vida real en programación. Nunca he escrito algo más grande que ~ 5k líneas de código. He escrito código en Flash y Java, y no puedo entender por qué la gente escribe aplicaciones web como reproductores de video (YouTube, etc.) en Flash, y no como applets de Java. Así que quiero preguntarles, programadores con experiencia práctica, algunas palabras sabias sobre el tema.

No veo ningún beneficio real de Flash sobre los applets, mientras que, por otro lado, al menos para mí, parece estar lleno de errores. Entiendo que es más rápido hacer algo en Flash, y puedo ver por qué sería bueno para la creación rápida de prototipos, pero en general, ¿vale la pena? Cada vez que un YouTube se vuelve loco, maldigo a los desarrolladores por escribirlo en Flash. Y si está utilizando Linux con Opera, esto sucede todo el tiempo.

Entonces, básicamente, ¿por qué las personas usan flash y no applets?

Davor Ždralo
fuente
44
Applets de Java, ugh ...
Anto

Respuestas:

34

Flash proporciona una experiencia más fluida para el usuario. Los applets de Java son bastante lentos, ya que la VM de Java debe activarse antes de que puedan ejecutarse. Como visitante del sitio web, odio cuando las cosas se congelan por unos momentos mientras Java VM se da cuenta. Si no me equivoco, tampoco se descarga una vez que navego fuera del sitio web que lo usó, dejándolo dando vueltas cuando realmente no quería que se ejecutara.

Mi experiencia (ciertamente limitada) con Flash y el desarrollo de applets también me dice que desarrollar una animación en Flash es más fácil.

Y luego está la historia. Microsoft no hizo ningún favor a los applets de Java al desarrollar su propia JVM y hacer que se comportara de manera diferente a la de Sun. Como resultado, el mismo applet podría funcionar en un navegador y no en otro, lo que hizo que la creación de applets de Java fuera menos viable.

Java tiene herramientas gratuitas que se pueden usar en lugar de los editores Flash propietarios necesarios para hacer videos Flash, pero en última instancia, su enfoque de mano dura lo hace inferior.

Adam Lear
fuente
44
De acuerdo, el tiempo de calentamiento de JVM es probablemente la razón por la que Flash se comió el almuerzo Applet
1
Además, Flash se creó principalmente para crear excelentes experiencias interactivas con mucho contenido gráfico, sonido y animación. Java es un lenguaje de propósito general, no necesariamente la mejor opción para crear contenido web.
Martin Wickman
3
Sun luchó con éxito contra el intento de MS de hacer que los applets sean menos responsables en la corte. Ya no hay MS-Java, estaba prohibido.
Usuario desconocido
1
Se podría decir que el éxito legal de Sun causó el fracaso técnico en ese ámbito. Sin JVM por defecto en Windows (el sistema operativo de usuario final más ampliamente distribuido en el mercado), Flash tuvo la oportunidad de convertirse en el estándar de facto y aprovechó eso. Microsoft se encogió de hombros y creó .NET en respuesta a la decisión de JVM y luego Silverlight en respuesta a Flash. Ahora HTML 5 está listo para obsoleto la mayoría de esas soluciones del lado del cliente. El circulo de la vida.
Jesse C. Slicer
4

La reproducción de audio y video Flash es tan defectuosa como el infierno, pero Java no siempre es mejor. Tuve algunos problemas inmensamente frustrantes con los juegos de Java cuando Sun introdujo un error entre las versiones menores que arruinó el ciclo de vida del applet. Solo comenzaron a actuar junto con los applets hace aproximadamente un año, e incluso entonces no fue perfecto.

En cuanto a los juegos, las mayores ventajas de Flash fueron probablemente un entorno de desarrollo más especializado y un buen soporte de biblioteca para gráficos vectoriales. La mayor ventaja de Java fue probablemente la capacidad de hacer 3D verdadero con un applet firmado y JOGL / LWJGL.

Peter Taylor
fuente
2

La sobrecarga de tiempo de ejecución para Applets Java (al menos en Windows) es mucho más lenta y lenta que la de Flash (en mi experiencia), y creo que el lenguaje Actionscript es de mayor nivel que el de Java, por lo tanto, esto hace que cosas como animaciones y manejo de recursos (como música / videos) más fácil de desarrollar.

James Love
fuente
3
ActionScript es solo JavaScript con un nombre diferente. Estoy seguro de que las personas que querían podrían tener un largo debate sobre si es más alto que Java, pero a nivel de lenguaje, la mayor diferencia de IMO es la escritura dinámica frente a la estática.
Peter Taylor
2
En la actualidad, "Actionscript" generalmente significa AS3, que se parece más a Java que JavaScript, y funciona de manera más similar a Java debido a los JIT de VM (a diferencia de la VM de AS2, que solo interpreta).
fenomas
2

Java nunca ha tenido una interfaz de usuario muy atractiva. Les tomó años incluso tener suavizado, haciendo que el texto sea poco legible. La representación / interacción multiproceso es afaik nunca implementada en las principales bibliotecas de Java UI. Eso se suma a la sensación ya lenta que tienen esas bibliotecas de interfaz de usuario.

Como Java está diseñado para grandes proyectos, tiene una ventaja significativa al usar el código existente en el navegador.

Las capacidades de HTML se han incrementado significativamente en los últimos años. Se han eliminado las compatibilidades entre navegadores y se han agregado algunas características, como el almacenamiento y el lienzo del cliente.

GWT ofrece una API bastante buena para crear UI con clases e interfaces de alto nivel para paneles y widgets. Lo traduce a javascript, lo que lo convierte en un feroz comeptitor para los applets y flash de java.

Ruudjah
fuente
2
El suavizado ha estado en Java desde 1.2. Creo que es más un caso que las personas no se tomaron el tiempo para aprender cómo encenderlo.
Peter Taylor
Y Java 1.2 data de 1998. ¿Qué es esa tontería sobre la representación / interacción multiproceso? Java es el lenguaje que generalmente se usa para enseñar hilos. Es decir, hoy tiene el modelo de subprocesamiento más conveniente y evolucionado de todos los idiomas. (Sin embargo, casi seguro que no es el modelo de enhebrado más conveniente posible ...) ¿Qué "sensación lenta"? Cargar un applet es lento, pero una vez cargado, tiene la sensación más receptiva que puede obtener en un navegador.
Evgeni Sergeev
2

Los desarrolladores de Flash son más baratos que los desarrolladores de Java en general. Y puede encontrar diseñadores gráficos capaces de trabajar en o con flash. Para que pueda obtener un producto más bonito más barato.

Wyatt Barnett
fuente
2
Nadie vale su sal. Un buen desarrollador cobra buenos precios de desarrollador.
MaxSan
1

La respuesta simple es ... Flash es para diseñadores. y java es para programadores, no hay nada más fácil que esto ... ni uno mejor que el otro ... son solo herramientas diferentes para diferentes trabajos ... así que asumir que flash o java son superiores entre sí ... es solo un sesgo ... son solo herramientas diferentes, ambos hacen el trabajo en diferentes contextos ... en cuanto al voto negativo ... no entiendo tu punto ... es relevante decir esas cosas ... y no dejar que el sesgo entre la manera..

dejaste un voto negativo? ¿qué tal decirnos a todos por qué de manera constructiva? :)

marc-andre benoit
fuente
+1 porque tienes razón: flash es para diseñadores web que evolucionan a programadores web. Java es para programadores que evolucionan para crear sitios web.
Kris Van Bael
¿qué tal si vota mi respuesta si crees que merece un +1 :) jeje
marc-andre benoit
1
Lo hice, naturalmente.
Kris Van Bael