tag style script bootstrap attribute javascript flex

javascript - script - style html



¿Por qué debería usar Flex? (11)

Algunas razones para considerar Flex:

  1. La biblioteca de control es mucho más rica en Flex que cualquier cosa que pueda hacer con JS / DHTML. Los controles de gráficos son determinantes para las aplicaciones de negocios y cosas como DataGrid / AdvancedDataGrid están muy por delante de cualquier cosa que puedas hacer con HTML.

  2. El marco Flex fue diseñado para crear aplicaciones. Se abstrae de los conceptos "basados ​​en cuadros" en Flash Player para realmente facilitar la creación de aplicaciones. Tiene una jerarquía de componentes bien diseñada que facilita la extensión de cualquiera de los controles estándar. También cuenta con un modelo de eventos bastante intuitivo para manejar las entradas de los usuarios y facilita que cualquiera de sus controles distribuya eventos personalizados que pueden convertirse en componentes principales o enrutarse a través de un despachador central de eventos. Si bien es posible hacer esto con JS / DHTML, no creo que sea tan fácil y ciertamente no fue diseñado para eso.

  3. Puede tomar una aplicación Flex e implementarla rápidamente en el escritorio con el tiempo de ejecución de AIR. AIR también ofrece API adicionales para cosas como el acceso al sistema local, SQLite DB incrustado, etc. Gears ofrece algo similar, pero requiere un navegador. De acuerdo, AIR requiere el tiempo de ejecución de AIR, pero al menos está destinado a la creación de aplicaciones de escritorio.

  4. Puedes construir una interfaz de usuario muy rica y muy sexy que derribará a tus usuarios. Como programadores, puede que no nos interese UX, pero nuestros usuarios sí. Parte de la razón por la que Apple está teniendo mucho éxito últimamente es porque realmente valoran el UX y los usuarios / consumidores están tomando nota de esto.

El mayor inconveniente, creo, es que si estás acostumbrado a Java o C #, el lenguaje ActionScript te parecerá un poco limitante. Si lo está comparando con JavaScript, está a la par o tal vez un poco mejor.

Mucha gente utilizará Flash Player (o AIR) porque no está "basado en estándares". Si solo estuviéramos dispuestos a usar sitios que fueran 100% compatibles con los estándares y sin complementos, hoy no tendríamos YouTube. O casi cualquier otro sitio que haga una visualización de datos interesante que no se puede hacer con HTML / JS (o al menos, no con un buen nivel de esfuerzo). Adobe ha sido bastante progresista en la apertura del framework Flex, Blaze DS (para el desarrollo de backend Java), publicando las especificaciones AMF e iniciando Open Screen Alliance para llevar Flash Player a dispositivos móviles. Flash Player, Flex, Flex Builder y Blaze DS tienen rastreadores de errores JIRA públicos. Diría que hay muchas posibilidades de que Flash Player sea de código abierto en los próximos 2-3 años. Creo que Adobe sigue avanzando para ser muy abierto y que las críticas de que la plataforma sea "cerrada" y "propietaria" son cada vez menos relevantes. Creo que si los desarrolladores se acercan a Flex / FP con la mente abierta, quedarán realmente impresionados con la forma en que todo encaja.

En una conversación reciente, mencioné que estaba usando JavaScript para una aplicación web. Ese comentario provocó una respuesta: "Debería usar Flex en su lugar. Reducirá el tiempo de desarrollo y el JavaScript es demasiado difícil de depurar y mantener. Debe usar la herramienta adecuada para el trabajo correcto". Ahora, no sé demasiado sobre Flex, pero personalmente no creo que JavaScript sea demasiado difícil de depurar o mantener, especialmente si usa un framework. JavaScript también es uno de los idiomas más utilizados en este momento, por lo que parece una mejor opción en ese sentido también. Sin embargo, su respuesta despertó mi interés. ¿Flex sería una buena opción para una aplicación web distribuible para la que los desarrolladores de terceros pudieran crear complementos? ¿Cuáles son las ventajas de usarlo en comparación con un marco de JavaScript? ¿Cuáles son algunas de las desventajas?


Aparte de lo que ya se ha mencionado aquí, otra gran diferencia es que JavaScript se tipea dinámicamente y ActionScript está tipado estáticamente. Si eso es bueno o malo dependerá de tu punto de vista :).


Aquí está mi experiencia: realmente necesitas considerar dos cosas por separado: el desarrollo y la experiencia del usuario final. Flex brilla en la primera área:

  • ActionScript es una buena combinación de Java y JavaScript, por lo que obtienes un lenguaje familiar con un fuerte respaldo para OOP
  • la depuración es mucho más fácil que lo que puede lograr en JavaScript
  • El marco Flex está orientado a los componentes y orientado a los eventos, lo que ayuda a crear interfaces de usuario enriquecidas (el HTML no se creó realmente para admitir escenarios de interfaz de usuario de la aplicación)

Por otro lado, la experiencia del usuario final es peor cuando se ejecuta una aplicación Flex en comparación con una aplicación AJAX. En primer lugar, debe tener instalado Flash Player, pero probablemente esto ya no sea un problema para la mayoría de las computadoras. Los problemas más grandes son con facilidad de uso: Flash Player maneja todas las interacciones de UI (en lugar de un navegador) para que el administrador de contraseñas no funcione, los campos de texto no recuerden las entradas anteriores, Ctrl + T y medio no funciona, búsqueda de texto no funciona, etc. etc.

Mi consejo sería: si está desarrollando una aplicación (interfaz de usuario rica, relativamente separada del resto de la web), opte por Flex, ya que le ahorrará tiempo y dinero y hará más felices a sus usuarios al proporcionar una funcionalidad más rica y periodos más cortos entre nuevas versiones. Por otro lado, si su aplicación necesita estar estrechamente integrada con la web y desea que sus usuarios puedan usar las características de sus navegadores, vaya con AJAX.

Buen ejemplo es Google Docs vs Buzzword. La palabra de moda es mucho más rica en características (por ejemplo, el texto puede fluir alrededor de una imagen desde ambos lados, algo que nunca se podría lograr en DHTML), pero Google aún decidió buscar una versión de AJAX porque son la "compañía web". No es correcto o incorrecto hacerlo de una u otra forma, es simplemente diferente y es importante considerar quiénes son sus usuarios finales.


Deberías probar Google Gears en su lugar. Cree su aplicación, agregue algunos Gears a ella, y puede aumentar en gran medida la velocidad (y confiabilidad) de su aplicación.

http://gears.google.com/

Básicamente, Google gears le da acceso a dos cosas útiles para cualquier aplicación: almacenamiento de datos fuera de línea y control de threading nativo (permitiendo que las actualizaciones / cálculos se ejecuten en segundo plano y no ralentice la computadora de los usuarios).

Lo realmente bueno es que puede usar cualquier Marco que desee para su aplicación, siempre que el almacenamiento / recuperación de datos y la comunicación del lado del servidor se manejen con JavaScript.

También le permite almacenar en caché los archivos del lado del cliente que desee, lo que es especialmente útil cuando quiere evitar el aspecto "parpadeante" del navegador mientras el navegador descarga alguna imagen necesaria.


En la mayoría de los casos, lo impulsaría hacia las tecnologías de desarrollo web estándar. Javascript ya no es un gran desafío para depurar o mantener con buenas bibliotecas como jQuery / Prototype para eliminar algunas de las incoherencias y herramientas del navegador como Firebug y el depurador de scripts MS para ayudar con la depuración.

Hay casos en que Flash es una mejor opción, pero solo en casos en los que se realizan animaciones complejas. Y, si está dispuesto a invertir el esfuerzo, la mayoría de las animaciones se pueden lograr sin recurrir al flash. Un par de ejemplos ...

El contenido Flash no es tan accesible como otro contenido.
Esto no solo afectará a las personas sin flash, sino también a las arañas de los motores de búsqueda. Puede haber algunos hacks para ayudar a evitar esto ahora, pero creo que la mayoría del contenido flash nunca será indexado por google.

Flash rompe la interfaz de usuario web.
Por ejemplo:

  • Si hago clic en la rueda de mi mouse en un enlace, ese enlace se abre en una pestaña de fondo. En una aplicación flash no hay forma de simular este comportamiento.
  • Si selecciono texto en mi navegador y hago clic con el botón secundario, obtengo opciones proporcionadas por el navegador que incluyen cosas como "Buscar en Google este texto". En una aplicación flash esas opciones ya no están allí.
  • Si hago clic derecho en un enlace o una imagen, obtengo un conjunto diferente de opciones que no están disponibles en una aplicación flash. Esto puede ser muy frustrante para un usuario que no es "experto en Flash".


Flex tiene mucha sobrecarga extra:

  • Nuevo idioma
  • Los clientes deben tener flash instalado (es posible que necesiten instalarlo, es posible que no puedan hacerlo)
  • Los clientes deben descargar el marco flexible (unos cientos de kilobytes)
  • El contenido flexible no está indexado por los motores de búsqueda (al contrario de lo que Google podría afirmar)

Flex tiene una ventaja principal: - Mejor en la construcción de interfaces ricas (ver Picnik.com, etc.)

Por ejemplo, en Flex, es fácil crear un cuadro de diálogo con un estilo personalizado, completo con sombras paralelas, resplandores internos, abierto animado, lo que sea que desee.

En resumen, use Flex si necesita la riqueza extra.


GWT le permite hacer las mismas cosas que Flex en su mayor parte, y maneja todos los problemas de compatibilidad del navegador, Y le permite codificar / depurar en Java con su IDE favorito.

Todo sin tener que aprender un nuevo idioma (o pagar Adobe $$$ por el IDE flexible, necesitará hacer algo real).

Flex tiene algunos widgets de UI más bonitos que los que GWT tiene instalados, pero hay muchos widgets de terceros (como GWT-EXT-JS) que puedes usar, o puedes usar tus widgets JS favoritos con GWT.

Compruébalo si no lo has hecho: http://code.google.com/webtoolkit/


No puedo estar seguro de si fui yo o alguien más quien hizo esa declaración, pero definitivamente sería uno que diría ''usa la herramienta adecuada para el trabajo''.

Flex tiene una gran comunidad detrás y está muy publicitada por el equipo de evangelismo de la plataforma de Adobe. Ahora, en cuanto a reemplazar JavaScript, parece un punto de discusión de amplio espectro. Flex no es un reemplazo de JavaScript. Lo que hace, lo hace bien, sin embargo. Es decir, 3D, dibujo y representación de datos, ya sea en forma de gráfico o tabla. Flex también tiene el poder de ActionScript 3 que le permite hacer mucho de lo que Flash hace en cooperación con los componentes frontales MXML sin tocar la línea de tiempo o fotogramas clave.

En cierto modo, Flex es el desarrollo de .NET of Flash y Rich Internet Application. Utiliza los mismos conceptos de fuente de datos y estructuras de diseño basadas en componentes que hacen que sea más fácil y rápido desarrollarse.

La verdadera pregunta es, ¿qué estás tratando de lograr? ¿Cuál es el objetivo final?

En cuanto al punto de depuración, Flex tiene un verdadero depurador y generador de perfiles dentro del Flex Builder IDE. JavaScript, desafortunadamente, tiene una sintaxis y ejecución diferentes entre los navegadores debido a la naturaleza de los motores de JavaScript en los navegadores modernos. Flex, porque es esencialmente Flash, utiliza el mismo motor de representación en todos los navegadores debido al uso del complemento de Flash.

Espero que aclare algunas cosas. :)


Recientemente comencé a desarrollar aplicaciones Flex, y personalmente considero que es un marco refrescante para la web.

Obtiene una aplicación stateful que se ejecuta completamente del lado del cliente. No tiene que preocuparse por la portabilidad de navegador cruzado que hace con JavaScript, y obtiene cosas realmente interesantes como efectos, gráficos y componentes de interfaz de usuario enriquecido.

Flex también facilita la comunicación a los servicios web y el análisis XML a través de ECMA es terriblemente poderoso y simple.

Me alegro de haber hecho el cambio. En cuanto a lo popular que es ... no estoy muy seguro, pero estoy bastante seguro de que la base de desarrolladores se está expandiendo rápidamente.

La única desventaja real que puedo pensar es un requisito de Flash Player, pero diría que es bastante seguro suponer que la mayoría de los reproductores de flash compatibles con el navegador; incluso konquerer en Linux es compatible; mucho más, entonces un tiempo de ejecución Silverlight (que NUNCA planeo instalar)


Si desea que su aplicación web parezca que no es una aplicación web, Flex es bastante buena. También puedes soslayar todo el desorden de hacer que HTML + JS parezca una aplicación real. Para algo que es esencialmente un sitio web, Flex podría no ser la mejor opción, pero si realmente desea escribir una aplicación a la que se accede mediante el navegador, es rápida de desarrollar y ofrece excelentes resultados.