Tag Archives: html

El futuro de Adobe Flex en el proyecto Spoon

Las noticias por parte de Adobe no dejan de sorprender en los últimos días, tras el anuncio del que hable en mi post anterior no han pasado más de 24hs que una nueva noticia corría por la web con un mensaje bastante más cargado de sentido estratégico y que puede tener más repercusión al momento de observar el movimiento brusco de objetivos que ha tomado la compañía.

Una entrada en el blog oficial del equipo de Flex, escrito por la misma Deepa Subramaniam, hablaba acerca de la decisión por parte de Adobe de transferir el proyecto Flex Framework a una fundación open source, el Open Spoon Project.

Casualmente tuve la oportunidad de conocer en persona al equipo de Spoon durante su sesión en el Adobe MAX 2011, no fue casualidad que tanto a varios colegas como a mi, que estábamos presentes, nos llamó la atención la idea de este proyecto, que consiste en integrar a comunidades de desarrolladores para que puedan realizar sus aportes en conjunto con los equipos de desarrollo del propio framework. Así es como describen en su sitio la misión de este proyecto:

Spoon Project is the codename for a project started by the Adobe community to capture the collective experience of those individuals implementing solutions on the Flex framework and to apply that knowledge in a constructive manner through defect patching, feature contribution and addressing aspects of the framework that limit extensibility.

Lo que significa esta nueva apertura es la emancipación del proyecto Flex como un framework independiente, ya no bajo el paraguas absoluto de Adobe, sino gestionado por una comunidad dedicada continuar su progreso. El proyecto Spoon esta liderado por parte del equipo original de desarrolladores de Flex SDK (aquellos que no sean trasladados a proyectos avocados a herramientas para HTML de Adobe), así como desarrolladores destacados de la comunidad provenientes del ambito corporativo que brindarán sus aportes para seguir trabajando en la evolución del framework. No obstante Adobe asegura que continuará brindando apoyo de forma directa a la fundación, tal como lo hace actualmente con el proyecto PhoneGap a través de Nitobi luego de su adquisición, o el proyecto Zend. Por otro lado, el entorno de desarrollo Flash Builder continuará bajo el mando de Adobe, como una herramienta más de la Creative Suite.

El futuro

Sin dudas suena prometedor, ¿por qué? básicamente porque Flex desde su versión 2 fue open source, todos los códigos fuentes de sus componentes estaban expuestos y el desarrollador que necesita adaptar un componente para usos específicos, optimizarlos, extenderlos, o incluso crear nuevos elementos de interfaz de usuario, lo puede hacer desde hace muchos años. Este cambio en el modelo de administración permite a los desarrolladores involucrarse internamente en el proyecto, pudiendo aportar los conocimientos basados en la experiencia de uso real del framework, ayudando al mismo equipo a brindar correcciones y mejoras en menor tiempo de iteración. Aun así, el futuro decidirá si los aportes comunitarios son suficientes para mantener la evolución de un framework que todavía tiene mucho por mejorar para ser la elección principal en torno al desarrollo de aplicaciones mobile multiplataforma.

El hecho de ser una comunidad independiente abre las puertas a otras empresas dedicadas a aplicaciones corporativas, u orientadas a datos, a involucrarse a través de sus equipos de desarrollo y fortalecer el crecimiento del framework aportando nuevos cambios. Existen numerosas empresas que han creado un ecosistema de negocios basado en Flex, como lo ha hecho desde hace tiempo IBM con sus componentes ILog Elixir. No estoy diciendo que vayan a volcar todo dentro del framework, pero sin dudas podrían aprovechar esta apertura para aplicar ese potencial en mejoras y optimizaciones como parte de su apoyo.

Repercusiones

Estas noticias no han demorado en hacer vibrar el piso a las comunidades, desde el anuncio anterior que afectaba a Flash este no hace más que confirmar que el futuro de Adobe esta siendo apuntado con toda la fuerza a HTML, pero ahí es donde (a nivel personal) surgen algunas incógnitas difíciles de resolver en el ambito de aplicaciones corporativas:

  • ¿Deben las corporaciones pensar en migrar sus aplicaciones de datos actualmente en desarrolladas con Flex a una versión HTML/JS?
  • ¿Qué herramientas existen actualmente para amortizar el impacto de un movimiento así?
  • ¿Las provee Adobe?
  • ¿Se encuentra HTML/JS en el punto de maduración necesaria para que una corporación le confíe una aplicación de datos sofisticada?

No soy el único que se hace este planteamiento, si prestaron atención a los comentarios que han plasmado en el post del anuncio oficial verán a muchos desarrolladores y lideres de aplicaciones corporativas planteando puntos similares.

Personalmente creo que este movimiento es meramente comercial, desde el momento en que Flex pasó a ser open source no creo que haya representado ingresos económicos directos para la compañía, sino más bien era un integrador de tecnologías como LiveCycle, ColdFusion, o incluso Flash Media Server, donde sí puede representar ventas netas.

Flex fue concebido inicialmente para el ámbito corporativo y aplicaciones orientadas a datos, realmente cumple muy bien con su objetivo cuando se trata de la web o el escritorio, mientras que en móviles aun tiene algunas tuercas que ajustar pero he comprobado personalmente que puede ser muy eficiente para aplicaciones utilitarias y de productividad. Flex 4 marcó un gran cambio evolutivo para el framework, mientras escribía mi libro debo reconocer que me sorprendí al descubrir ciertos aspectos que antes no conocía, aunque aún así todavía tiene muchas cosas por mejorar, el rendimiento en dispositivos móviles todavía no alcanza el óptimo para aplicaciones de gran escala, pero es notable como ha mejorado versión tras versión, desde la primera 4.5 hasta la 4.6 que estará disponible públicamente el próximo 29 de Noviembre.

Alternativas

Entre las diferentes alternativas que he leído como propuestas a un posible reemplazo de Flex me ha llamado la atención la de crear un exportador de Flex a HTML, algo que puede resultar interesante si tenemos en cuenta que Flex no es más que un framework que abstrae la creación de interfaces de usuario partiendo de un lenguaje de marcado (el MXML) basándose en componentes predefinidos o personalizados. Por otro lado, no tardaron en salir a la luz proyectos como Jangaroo, que permiten de alguna forma extraña compilar ActionScript 3 a JavaScript para la creación de contenidos que corran en el navegador web. En mi opinión este tipo de cross-compiling llevado al extremo ya no es de mi interés, puesto que son cosas forzadas, siempre representará más trabajo adaptar algo que no fue concebido para esa función que aprender un nuevo lenguaje. ActionScript es el lenguaje de Flash Player, si vamos a trabajar con HTML su lenguaje es JavaScript, y realmente para los que conocen a ActionScript, dar el salto a JS es muy sencillo ya que son muy similares en su sintaxis.

Conclusión

Creo que esta noticia nos ha tomado por sorpresa sobre sorpresa, no solo por el tipo de noticia sino también por la forma en que Adobe ha manejado su difusión, la información con poca claridad provoca confusión en el público que esta estrechamente relacionado con sus tecnologías, a tal punto que hemos tenido una reunión con varios colegas de las comunidades Adobe hispanas para poder debatir las ideas en torno al impacto a futuro que estas noticias pueden representar para Flex y la Plataforma Flash. Debemos tener en claro que este nuevo modelo puede tener dos caminos posibles: Que la integración de factores externos y el aporte de la comunidad provoquen un salto cualitativo y marquen una evolución sostenida basada en el conocimiento de quienes realmente están involucrados con el entorno; o que la falta de aporte e interés de los desarrolladores lo lleven a la decisión de dar conclusión al ambicioso proyecto de un framework más para ActionScript.

Este anuncio no determina la muerte de Flex Framework, pero de aquí en adelante el aporte de las comunidades y las decisiones de los líderes del proyecto Spoon serán quienes determinen el futuro exitoso o fracasado de uno de los pilares de la Plataforma Flash. El tiempo lo dirá.

 

 

 

Insertar video de Windows Media en HTML

Hoy me sorprendí al ver que las estadísticas de mi sitio muestran un promedio de 10 visitas diarias siendo que desde el mes de Abril (hace unos 6 meses) no escribo ningun Post. Es por eso, que hago un esfuercito y aquí voy a publicar algunas cosas utiles para quienes buscan referencia de programación. Y dada la alegria que me causa saber que estoy teniendo publico, mi ego dice que tengo que hacer esfuerzo y actualizarlo más seguido para mantener e incrementar esas visitas.

El tip de este post es un simple script para insertar una pelicula (video) en formato WMV (Windows Media Video) en un archivo HTML. Este script genera un reproductor de windows media en la página en donde tendremos los controles de reproducción necesarios para ver el video.

El codigo es el siguiente:
<script language=”JavaScript”>
<!–
if (detectWindowsMedia()==false) {window.location.href= “http://www.microsoft.com/windows/windowsmedia/player/9series/default.aspx”}; //ver si va a error o lo manda a Ubbi a bajarse el winmedia
//–>

</script>
<object id=”MediaPlayer” width=”426″ height=”320″ classid=”CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95″ codebase=”http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715″ standby=”Cargando componentes Microsoft Windows Media Player…” type=”application/x-oleobject” viewastext>

<param name=”FileName” value=”VIDEO“>
<param name=”AnimationatStart” value=”false”>
<param name=”TransparentatStart” value=”false”>
<param name=”AutoStart” value=”true”>
<param name=”ShowControls” value=”true”>
<param name=”Autosize” value=”true”>
<param name=”ShowStatusBar” value=”true”>
<embed type=”application/x-mplayer2″
pluginspage=”http://www.microsoft.com/isapi/redir.dll?prd=windows&
sbp=mediaplayer&ar=Media&sba=Plugin&”
src=”VIDEO
showcontrols=1
autostart=1
autosize=1
showstatusbar=1
width=”426″
height=”320″>
</embed>
</object>

He aquí la explicación para entender esto:

1- COMPROBACION DE EXISTENCIA DE WINDOWS MEDIA: Entre los tags <script /> que estan al principio, una función de JavaScript detecta si existe el reproductor de Windows Media en el equipo a ejecutarse, caso de que no lo tenga nos llevara a la página de descarga del reproductor. Aquí tambien podría lanzarse un alerta diciendo que no esta el reproductor o bien tomar alguna acción propia para avisar que no esta el mismo.

2- OBJECT y EMBED: Son las dos etiquetas encargadas de mostrar el reproductor y activar el ActiveX necesario para ejecutar el video. Si analizan un poco, la etiqueta OBJECT va acompañada de otras etiquetas llamadas PARAM que indicaran las propiedades del reproductor, como ser:
Filename: Nombre del archivo a abrir, con su ruta respectiva, relativa al documento.
AnimationatStart: Si tiene animación al inicio.
TransparentatStart: Si es transparente hasta que se inicie la reproducción.
Autostart: Si el video se pone en play automaticamente.
ShowControls: Quizas la más importante en conjunto con FileName, indica si se muestran los controles de reproducción.
ShowStatusbar: Muestra el estado de la descarga del contenido multimedia a reproducir.

De la misma manera, la etiqueta EMBED asigna estos parametros como propiedades en la etiqueta, no como etiquetas adicionales, pero la funcionalidad es la misma.
Ambas etiquetas deben estar para que sea reconocido por todos los navegadores (IE, FireFox, Opera, etc.)

Y por si no se dieron cuenta, les marque con VIDEO el lugar donde debe indicarse la ruta al video o sonido a cargar.

Espero que les sea útil y próximamente mostrare como publicar otros contenidos.