2008-09-09 13 views
6

Proporcionamos una aplicación web con una interfaz totalmente desarrollada en Adobe Flash. Cuando elegimos Flash hace 6 años, lo hicimos por su gran cantidad de funciones para la interacción del usuario, como arrastrar cosas, abrir y cerrar menús, elementos de navegación de árbol, cuadros de diálogo emergentes, etc.¿Cuáles son los pros y contras (técnicos) de Flash vs AJAX/JS?

Hoy es obvio que AJAX/JS ofrece aproximadamente las mismas posibilidades y debido a la cantidad de marcos que están fácilmente disponibles, es muy factible implementarlos.

¿Hay alguna razón técnica por la cual uno debe elegir una de las dos tecnologías? Por "técnico", me refiero a rendimiento, seguridad, portabilidad/compatibilidad y similares. No me refiero a aspectos como el desarrollo de modo muy no programador que se realiza en Flash o si tiene sentido cambiar una aplicación de una a otra.

Como acabo de explicar in another question, me parece que JS está muy adelantado en términos de cuota de mercado y me pregunto si nos falta algo importante si nos atenemos a Flash.

Respuesta

3
  • correctamente diseñado aplicaciones AJAX son más Googleable de flash
  • correctamente diseñados aplicaciones AJAX son más fácilmente profunda enlazable de flash
  • AJAX no requiere un plugin (Flash es bastante ubicua, así que no es realmente una gran cosa) *
  • AJAX no es controlado por una sola empresa la forma de flash es

Editado para añadir: * Excepto para el iPhone, como señala Abdu.

+0

Upchurch obtiene mi voto popular +! ... lo siento. – alex

2

JS y Flash tienen una gran presencia en la web con capacidades superpuestas. Un área que todavía le falta a JS es en la representación de video.

0

Creo que Flash debe limitarse a juegos en línea, videos y animaciones. De lo contrario, use html y Ajax. Es un estándar web y es compatible con casi todos los dispositivos. AFAIK, el iPhone no es compatible con Flash. Es un segmento de rápido crecimiento que ya está bloqueando. Mantenlo simple y eficiente.

0

Aunque el flash es bastante omnipresente en los navegadores de escritorio, la compatibilidad con dispositivos móviles es muy limitada (¿flash ligero? Sí, derecho). Me frustra mucho buscar un restaurante en mi teléfono solo para encontrar que todo el sitio está basado en flash y ¡ni siquiera puedo obtener un número de teléfono o una dirección!

4

Además de lo que otros han dicho, Flash está restringido en el "rectángulo" y no se puede agregar a una página html normal de una manera no intrusiva.

@Gulzar Creo que cuando más navegadores admitan la etiqueta de video como mozilla 3.1 veremos aún más adopción de ajax/js sobre flash.

+0

cierto. Me gustaría ir a Javascript cualquier día yo mismo. –

0

Uno de los beneficios de Flash es que tiene algunas funciones para ayudarlo a realizar operaciones de tipo de dominio cruzado de forma segura, lo que puede ser útil. Flash también tiene soporte (limitado) para algunos hardware, lo que no es posible con Javascript.

Personalmente, trataría de usar tanto Ajax como sea posible antes de pasar a algo así como Flash. Desde la perspectiva de la interfaz de usuario, es mejor porque los controles y la creación básica están un poco más desarrollados. El proyecto Sound Manager es un buen ejemplo del uso efectivo de una pequeña cantidad de Flash y el resto en Javascript.

4
  • Adobe Actionscript es un lenguaje estáticamente tipado, Javascript se tipea dinámicamente. Dependiendo de su punto de vista, esto puede ser algo bueno o malo.
  • Con Javascript/HTML/CSS te vas a dirigir hacia el infierno de la compatibilidad entre navegadores, especialmente si deseas admitir navegadores más antiguos. Esto puede ser mitigado por las bibliotecas que están disponibles, pero aún así es un gran dolor de cabeza. Con Flash, escribe el código una vez y simplemente funciona en todos los navegadores.
  • Incluso con las bibliotecas disponibles, los controles de usuario de Flash son simplemente más avanzados que cualquier cosa que pueda encontrar en el mundo de Javascript/HTML. En Javascript, no encontrará nada que se acerque a la simplicidad y la potencia de un control de usuario de datos que proporciona Flash.

No veo cómo Javascript tiene más de una "cuota de mercado" que Flash. Prácticamente cualquier persona con un navegador web tiene un complemento Flash instalado. Me gustaría saber cuántas personas desactivan Javascript pero tienen un complemento de Flash.

Además, tenga en cuenta que tendrá una gran curva de aprendizaje y mucho tiempo de desarrollo si decide cambiar su base de tecnología por lo que es mejor que tenga una buena razón comercial para hacerlo.

Esta decisión también tiene mucho que ver con lo que hace su aplicación y con su base de instalación.

Editar: Veo que las personas han mencionado que el iPhone no tiene soporte Flash. Esperaría que esto cambie con la base de instalación del iPhone: Adobe estaría loco si no lo admite.

+0

Eso depende de qué versión de Flash estés hablando. ActionScript2 es solo azúcar sintáctico sobre ActionScript1, que es esencialmente JavaScript (ambos son ECMAScript). Es un lenguaje muy dinámico. ActionScript3 es ambos. Puede declarar objetos dinámicos, aunque la mayoría no son dinámicos. – Herms

1

Flash, bien utilizado, permite una fácil localización e internacionalización.

Además, es mucho más fácil usar Flash de forma accesible; puede alimentar a los lectores de pantalla con el texto correcto, en lugar de tener que iterar sobre todos los posibles elementos de formulario.

0

Sospecho que una de las razones por las que javascript se está volviendo más popular es porque es más fácil de actualizar en una aplicación existente.

1

Como no puedo aceptar dos respuestas, voy a combinar Christ Upchurch's y 17 of 26's respuestas en mi propia publicación. Creo que estos dos juntos resumen bastante lo que quería saber. ¡Gracias chicos!

0

Si trabaja mucho con polígonos, Flash es aún más fácil de programar y depurar. Con AJAX hay muchas bibliotecas para manejar polígonos, pero cuantas más bibliotecas use su aplicación, más lenta será.

Cuestiones relacionadas