Pregunta

Ajax, Flex y Silverlight hay algunas maneras de hacer más aplicaciones web interactivas.¿Qué tipos de factores que tomaría en cuenta a la hora de decidir el uso de una nueva aplicación web?

¿Alguno de ellos ofrecen mejor de la cruz-plataforma de compatibilidad, rendimiento, herramientas de desarrollo o de apoyo a la comunidad?

¿Fue útil?

Solución

He aquí un rápido resumen de cada área (con un montón de enlaces útiles):

Cruz-plataforma de compatibilidad

Ajax obras en cualquier navegador moderno que se pueden ejecutar JavaScript.Flex requiere Flash o cualquier otra cosa que se puede manejar SWFs pero, una vez que se instala, es un total de freeride tan lejos como la compatibilidad.Silverlight es difícil e incomprendido así que considerar cuidadosamente sus userbase antes de ir con este MS incursión en el rico aplicaciones web de la carrera de armamentos.También hay que tener en cuenta que Silverlight aún está en Beta, así que puede ser más ampliamente utilizado y se instaló en el futuro a medida que se desarrolla.

Rendimiento

Estoy temeroso de hacer demasiadas declaraciones sobre el rendimiento porque realmente depende de cuánto usted está dispuesto a optimizar y la naturaleza exacta de su aplicación.También, algunos de la tecnología de pilas son simplemente nunca va a ser muy rápido. A algunas personas no han hecho comparaciones, pero de nuevo, depende de un gran número de factores (incluso la versión del navegador que se esté probando!).Es probablemente la mejor manera de elegir en base a otros factores y optimizar una vez que usted ha comenzado a desarrollar.

Herramientas de desarrollo

Hay el "estándar de oro" dev tools para cada uno de los tres:

  • Ajax tiene básicamente ilimitado de opciones, dependiendo del resto de su tecnología y arquitectura de decisiones.La gran pregunta que estamos realmente ante las cuales son las bibliotecas que dependen, y Google ha expresado muy bien el adoptado responder con cosas como Web Toolkit.Cuando llegues abajo a la derecha, es solo XML y JavaScript, ¿verdad?

  • Flex es de Adobe y, al igual que con el desarrollo de Flash, es mejor que pegarse con sus herramientas de cosecha propia porque, bueno, están haciendo que las normas sobre la marcha.

  • Microsoft ha posicionado a Microsoft Expression Blend versiones 2.0 y 2.5 para el diseño de la interfaz de usuario de Silverlight 1.0 y 2 aplicaciones respectivamente.Visual Studio 2008 puede ser utilizado para desarrollar y depurar las aplicaciones Silverlight (de Wikipedia).

El apoyo de la comunidad

Hay tanto oficiales como no oficiales de la comunidad, empresariales y de la abrir-fuente de apoyo para las tres opciones.Sea cual sea la que ya están integradas con el y que te hace sentir más en casa son muy individuales cosas, pero voy a ofrecer este consejo:stick con lo que usted sabe.Si usted es un desarrollador MS y han MSDN como tu página de inicio, usted está probablemente va a pensar en la Silverlight documentación y los foros son realmente útiles.Flex tiene una historia similar;los foros son bastante buenos y si eres un Flash persona ya, vas a estar en casa con sus documentación y comunidad de usuarios.

Por otro lado, el Ajax es, básicamente, todo el lugar porque se puede aplicar tantas maneras diferentes y usar tantos ampliamente variadas bibliotecas.Cada biblioteca puede tener sus propios foros para visitar y listas de correo para estar al acecho en busca de respuestas.

Una vez más, los tres tienen los gigantes corporativos tratando de fomentar sus comunidades y para obtener el mejor apoyo posible a los desarrolladores que les dará una mayor cuota de mercado en el futuro.

Otros consejos

La elección debería, en mi opinión se basa principalmente en la naturaleza de la aplicación, usted será la construcción (por ejemplo, si usted necesita para manipular gráficos vectoriales, Ajax es bastante fuera), pero aquí hay algunas pautas generales:

Ubicuidad

  1. Ajax, Apoyada por todos los navegadores modernos a través de plataformas
  2. Flex -- tiempo de ejecución (Flash Player) tiene una muy amplia base instalada para Windows, Mac OS, Linux.La versión de Linux era un poco buggy la última vez que revisé, aunque
  3. Silverlight -- tiempo de ejecución tiene una muy baja base instalada (y no el soporte de Linux) en el momento

La elección del lenguaje de programación

(Unordeded debido a la subjetividad, pero tenga en cuenta que Silverlight ofrece la mayor selección.También tenga en cuenta que el lenguaje de la experiencia de los desarrolladores en su equipo debe ser tomado en cuenta.)

  • Silverlight:Cualquier .NET lenguaje C#, Visual Basic, IronPython(?), IronRuby(?)) (y XAML para la interfaz de usuario definición)
  • Ajax:JavaScript y XHTML para la interfaz de usuario definición)
  • Flex:ActionScript 3 (y MXML para la interfaz de usuario definición)

La Estabilidad y la compatibilidad de la API

  1. Flex -- tiempo de ejecución es el mismo en todas las plataformas y navegadores, más maduro y estable en el momento de Silverlight
  2. Silverlight -- tiempo de ejecución es el mismo en todas las plataformas y navegadores, menos madura que la Flex/Flash v2.0 está todavía en versión beta
  3. Ajax -- problemas de Compatibilidad entre los navegadores (puede ser mitigado a través de Ajax bibliotecas, a pesar de que)

Web/Navegador De Integración

  1. Ajax-el Contenido es nativo dentro del navegador, basado en las normas:de búsqueda del navegador y rastreadores de motores de búsqueda, sujeto a cualquier interfaz de usuario estándar de las prácticas el navegador y sistema operativo han establecido
  2. Flex y Silverlight-el Contenido no se origina en el navegador (es decir,se ejecuta en su propia "caja de arena/rectángulo"):no necesariamente objeto de interfaz de usuario de prácticas para la plataforma

Herramientas De Desarrollo

  1. Ajax -- Tu editor de código favorito, el navegador y la depuración kit de herramientas para el navegador
  2. Flex -- SDK de Flex está disponible para Windows, Mac OS y Linux de forma gratuita y puede ser utilizada con tu editor de código favorito.Un depurador de línea de Comandos está incluido, pero el Adobe proporciona el analizador sólo está disponible en el comercial de Flex Builder IDE
  3. Silverlight -- AFAIK, El SDK está disponible para Windows gratis y se puede utilizar con su favorito .NET herramientas de desarrollo

La web de tiempos de ejecución, como Flex y Silverlight toda la oferta tentadora de las cosas, pero vienen con dos grandes costos:

  • Que sólo se ejecuten dentro de un rectángulo en la página, y no interactúan con la normal de la web widgets
  • Sólo están disponibles para personas que tienen el plug-in instalado

Incluso el casi omnipresente Flash no está instalado en todos los navegadores web, por lo que al seleccionar el uso de un plug-in de tiempo de ejecución se está excluyendo parte de su audiencia.

En contraste, JavaScript o Ajax) está disponible en prácticamente todos los navegadores, y se relaciona mejor con las páginas web normales, pero es una más primitiva y la restricción de idioma.Usando para las animaciones complejas puede ser complicado, y usted tendrá que probar sus aplicaciones en más versiones en más plataformas para asegurarse de que funciona.

Cruz-plataforma de compatibilidad no es el problema de lo que solía ser, así que el tema es este: Va a ganar más en las características de una biblioteca de plug-ins que vas a perder en la audiencia de excluir?

Mi respuesta ha sido siempre JavaScript/Ajax, pero me gustaría volver a evaluar que en cualquier nuevo proyecto.

¿Cuál es tu audiencia:comunicación pública del sitio web o una intranet de negocio de la aplicación?Las tasas de adopción no son relevantes si se tiene controlado el público que va a instalar lo que se necesita para ejecutar su aplicación.Sin embargo, si usted necesita a la mayor audiencia posible para que su web de inicio de un éxito, a continuación, se puede ser crítico.

¿Cuál es su objetivo?La construcción de algo por el menor costo?El aprendizaje de la nueva tecnología?

Se pueden aprovechar sus habilidades existentes?Si usted ya sabe .NET, a continuación, Silverlight recibe un impulso.Aprendizaje Flex puede ser interesante y útil, pero es el más útil para usted que más experiencia .NET tecnologías?Recuerde tener en cuenta el coste de oportunidad de aprender algo totalmente nuevo.

Yo no veo clara de la tecnología ganador en este punto, y es probable que no habrá uno para un largo tiempo, así que la elección vendrá abajo justa a los factores subjetivos.

Aparte de lo que ya se ha mencionado aquí, otro gran cosa a considerar es cuál es su interfaz de usuario va a ser.

Si vas a utilizar una gran cantidad de avanzada de controles de interfaz de usuario como los árboles, las listas, los controles de la ficha, etc, a continuación, considere lo siguiente:

  • JavaScript/HTML No tiene soporte nativo para cualquier cosa más allá de las cosas básicas de cuadros desplegables, botones y campos de texto.Si quieres algo parecido a un control de árbol o en la ficha de control, entonces usted tendrá que rodar sus propios o encontrar una biblioteca de terceros.

  • Adobe ActionScript - soporte Nativo para una amplia gama de controles de interfaz de usuario avanzada

  • Silverlight 1.0 tenía muy limitados controles de interfaz de usuario, pero la 2.0 va a añadir muchos más, y estoy seguro de que vamos a seguir para ver los controles añadidos en futuras versiones.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top