Silverlight vs Flash vs HTML 5

Expondré varios puntos al respecto, los cuales espero ayuden a aclarar todo el panorama en Internet con respecto a tecnologías para crear RIA (Rich Internet Applications).

Primero quiero aclarar que son tecnologías similares, con capacidades  similares (muy similares) pero cada una tiene un nicho o escenario de implementación diferente.

HTML 5

Decidí empezar con HTML 5 para sacarlo del escenario temporalmente (dado que no es una tecnología con especificaciones finales y no es un plug-in como Silverlight y Flash), hasta el momento tenemos algunos browsers que pueden implementar algunas de las características que propone el nuevo estandar. Es cierto que es sumanmente poderoso y que no hará falta ningún plug-in en las PCs de los usuarios para usar la tecnología en los sitios web, además que el rendimiento será bastante bueno, tal y como lo es ahora con las actuales especificaciones de HTML 4.

Se espera que HTML 5 esté listo para el 2022 lo cual es muchísimo tiempo. El problema con el tiempo es que las empresas privadas en este caso Microsoft y Adobe tienen un ciclo de innovación y actualización mucho más rápido del que puede tener la W3C con HTML 5, lo cual en su momento marcará una gran diferencia de características entre las tecnologías presentes cuando HTML 5 alcance su lanzamiento final en el 2022. Hasta ese momento veremos especificaciones previas las cuales ayudarán a los sitios de Internet a ambientarse con la tecnología.

Pueden ver el estado actual de las especificaciones de HTML 5 al 3 de Septiembre del 2010 aquí.

Silverlight vs Flashflashsilverlight

¿Cúal es más liviano? (Consumo CPU, tiempo de carga, ejecución de tareas, etc)

Ambos dan muy buen rendimiento, podemos abarcar muchísimos aspectos, podemos realizar pruebas de BubbleMark para ver el comportamiento de performance y FPS sin embargo los escenarios varian. En tiempo de carga Silverlight es unos microsegundos más lento, sin embargo en consumo de CPU Silverlight y Flash están empatados. Si nuestro sitio tendrá muchísimas visitas y deseamos hacerle las cosas más fáciles al usuario es recomendable utilizar Flash ya que la mayoría tienen el plug-in instalado, sin embargo si ejecutan varios videos al mismo tiempo en un solo navegador puede que les de problemas de rendimiento y consumo de recursos, por naturaleza Flash tiende a ser más pesado.

¿Cúal tiene mejores capacidades? (API-s, librerías, frameworks)

Todo depende de lo que trates de hacer. Por un lado Silverlight cuenta con el apoyo del .Net Framework, con un subset de clases bastante bueno el cual le da poder empresarial y capacidad de mejorar las aplicaciones web sobradamente. Del lado de Flash tenemos una comunidad gigantesca, madura y con bastante tiempo en el mercado, por lo cual se pueden encontrar librerías de ActionScript para casi todo. Si tratamos de comparar ActionScript con lenguajes como C#, VB y IronPhyton encontraremos que es más fácil de aprender los anteriores y son más amigables y entendibles.

¿Con cúal desarrollo más rápido?

Con Silverlight tenemos a .NET, C# y VB hay muchísimos desarrolladores que ya conocen las herramientas: Visual Studio, Expression, los Toolkits y además los proyectos de soporte en Codeplex. Con Flash podemos programar utilizando Flash CS4 o Flex Builder, todo depende la perspectiva de diseñador o desarrollador que tengas.

Ambas tecnologías utilizan lenguajes para definir la UI de forma similar, Silverlight por su lado utiliza XAML y Flash con MXML.

En este caso Microsoft gana con las herramientas de desarrollo pero Adobe gana en la integración con herramientas de diseño gráfico.

¿Manejo de Audio-Video-Imagenes?

La mayoría de los sitios en Internet de streaming y contenido de video es Flash. Sin embargo Silverlight pone una excelente competencia en escenarios de video en Alta Definición y Streaming de video con bits variables, utilizando Silverlight Smooth Streaming.

Otros

Como vemos ambas tienen sus pros y sus contras. Flash tiene una comunidad muy grande, pero Silverlight no se queda atrás. Desde el lado de aplicaciones de negocios Silverlight posee más peso y mejores características gracias a la dupla con el .Net Framework. Silverlight es multi browser y corre en Windows y Mac OS, puede correr en Linux con Moonlight. Flash es multi browser y hay plug-in oficial para Linux.

Con Silverlight podemos programar para Web, Desktop (utilizando la característica Out-Of-Browser) y Windows Phone 7.

¿Qué debo utilizar? Silverlight o Flash

No hay un definitivo, pero preguntese lo siguiente:

  1. ¿Ya sabe programar en C#, VB y utiliza herramientas de Microsoft?
  2. ¿Cúan importante es la cantidad de usuarios base que recibirá mi sitio web?
  3. ¿Está interesado en que sus sitios puedan verse en Linux?
  4. ¿Prefiero las ventajas de una tecnología pionera o las ventajas de una tecnología más vieja?
  5. ¿Quiere desarrollar aplicaciones de negocio?
  6. ¿Quieres tener aplicaciones consistentes para Web, Desktop y Móviles?

Pueden leer un buen benchmarking (realizado por un colega) entre Silverlight 3 y Flex aquí. Pueden descargar el documento con los resultados aquí.

{Happy Coding}

6 comentarios:

Alberto Cole dijo...

Grave error dejar de lado HTML5, el hecho de que la especificacion este lista hasta el 2022 no significa que los browsers (bueno mas bien los motores de los browsers como Webkit, Gecko, etc) no estén trabajando en los nuevos features, inclusive wikipedia está probando con los tags de video y audio, que hay una especie de "codecs war"? pues si la hay, pero es cuestion de ver cual formato queda vigente y listo, además, no es HTML5 por sí solo, también es CSS3 y los frameworks de javascript como jQuery (que inclusive cuando se hace un nuevo proyecto ASP.NET MVC, jQuery se incluye por defecto). Creo que la comunidad HTML5+CSS3+JS es mucho mas grande que la de Flash, y de momento hay muchas cosas que se pueden hacer con estas tecnologias que antes solo estaban reservadas para Flash, por otro lado, creo que HTML5+CSS3+JS no debería ser considerado como "versus", sino mas bien complementaria, por ejemplo dejarla para partes mas lightweight donde no sea realmente necesario Flash/Silverlight (textos, popups, etc) para hacer el sitio menos pesado.

Unknown dijo...

Una de las cosas que hay que tener en cuenta es que Silverlight nunca se ha promocionado como un sustituto de nada. Ni de Flash, Flex, Air, JavaFX, ni HTML 4.0... A HTML5 le queda mucho. Es como cada una de las especificaciones que se han sacado. El sector al que """"ataca"""" Silverlight es el sector empresarial. Tal y como lo hacen toooooooodos los productos de Microsoft. Silverlight está pensado para la actividad empresarial y sinceramente está más preparado que el mundo "Flash" ( dícese de todo el conjunto de tecnologías que he mencionado antes ). Lo más bueno de Silverlight es que no se necesitan multitud de cosas sino 2. Visual Studio 2010 y Expression Blend 4. Y, si estamos trabajando con equipos de desarrollo en grandes proyectos pues complementarlo Team Foundation Server aplicando Agile o Scrum o lo que plazca. Silverlight tiene mucha potencia arquitectónica ( PRISM, MVVM, Async Pattern's, IoC's, DI's, ORM's, SOA's, Protocolos variados de servicios con WCF... ). Básicamente tiene dicha potencia porque se ha trasladado directamente todo el potencial de .Net a un framework Multibrowser y Multiplataforma ( que ya era hora! ) pero pretende ser una plataforma de desarrollo para muchas más cosas como por ejemplo Windows Phone 7, Microsoft Lync, SharePoint... Es por ello que no se le puede encasillar en el mundo única y exclusivamente web /disseño contra HTML5...

Anónimo dijo...

No se porque la gente en general se ponen tan contentos con HTML5. Si claro, es algo muy bueno.

Pero se les olvida que esto solo pasa el poder a los navegadores y como quien dice la cosa no cambia mucho. Es decir, antes dependíamos de un plugin y ahora dependemos de un navegador.

Para finalizar: Me gusta Flash y Silverlight por su personalización y me gusta aun mas HTML5 como su plataforma. Creo todo en conjunto es lo mejor.

Anónimo dijo...

Hablan de silver light como si fuera una maravilla y dicen Flash bla bla bla bla

si quiera conocen los desarrollos en Flex.!

Acabo de terminar una aplicacion en la cual el usuario crea su propia estructura de menu y submenu en un TreeView y ademas sube documentos para consulta asignandolos a cada una de esa opciones y asignandolas a una area, asi ke cada usuario solo podra ver lo ke le corresponde. tambien genera reportes en PDF y lo diseñe modular, de tal manera ke la pantalla principal ( login, principal de consulta, y opciones de administracion, asi como algunas ventanas de informacion ) esta en un solo archivo ke pesa 700KB.! y todas las ventanas de administracion, digase crear menus, submenus, usuarios, areas "miden" tan solo 60KB...!! y los ke suben archivos miden 100 KB por la complejidad del codigo.! el desplegado en la WEB es impresionante rapido, porque lo hice modular.! flex al compilar optimiza tus modulos para tu aplicacion, si el modulo yo lo dejara independente para cualquier aplicacion ocuparia mucho mas.! esta desarrollado en Flex 3 + PHP + MySQL

tambien probe SilverLight.! pero no me gusto la forma en que se trabaja y se diseña, ademas de que su codigo es muy rebuscado para hacer las cosas.

CLARO DEPENDE DE CADA QUIEN LO QUE QUIERA HACER.! Y EL GUSTO SE ROMPE EN GENEROS

Anónimo dijo...

ERROR. dejar de lado le futuro, y que futuro es mas el presente HTML5

Unknown dijo...

silvert light y vb son mas amigables y la ventaja que ya se tieenn las bases para tambien seguir en windows phone...

Publicar un comentario