La novia del mundial

Dios es real

Dios es real, o no ser que se declare como Integer.

Avances de la tecnología

Jejeje, buenísimo chiste gráfico que he encontrado en una galería de flickr.

Lanzado Eclipse Helios

Ayer salió la última "release" de Eclipse, versión 3.6 y de sobrenombre Helios. Entre las novedades, una muy útil, como el Eclipse Marketplace. Es una especie de App Store, muy de moda ahora, desde donde buscar y descargar plugins. No es un repositorio de plugins, que sigue existiendo. Lo que permite es no tener que añadir update sites si el plugin que buscas está en el marketplace. Luego lo probaré en casa, porque aquí en el trabajo, no me conecta al marketplace por culpa del proxy. Pero supongo, que los plugins que suelo usar, estarán, pues son bastante conocidos, como Subclipse y m2eclipse.

Otra de las grandes novedades, es el soporte de Git, sistema de control de versiones que también está muy de moda.

Má información en eclipse.org

Vaya frikada, salvemos a los murlocs



Impresionante la “frikada” que se han inventado algunos jugadores del WoW. Han creado una plataforma para salvar a los murlocs de la exterminación. Han creado una web y todo, save the murlocs. Pero es que han creado un vídeo tipo drama televisivo, de esos de defensa del maltrato de animales. Por lo visto mas de 1,7 millones de murlocs, son asesinados cada dia. Pero por 10 monedas de cobre al día, podemos ayudar a salvar a una familia de 4 murlocs. Lo dicho, algunos creo que juegan demasiado al Wow. Eso sí, la web y el vídeo están muy currados.

Vía TodoWow.

¡ SON SON SON DE PRIMERA DIVISIÓN !


El 19 de junio del 2010, 1.300 herculanos, inferiores en número, lucharon en la batalla del campo del Gal. Lucharon como poetas guerreros, lucharon como Herculanos y lograron el ascenso.

Alternativas a Flash

Como prometí en el artículo anterior, voy a comentar alternativas a flash. Como Arquitecto JEE que soy, le voy a dar un enfoque de desarrollo de aplicaciones web.

Para aplicaciones web Adobe tiene una tecnología llamada Flex. Flex, es un framework para desarrollar aplicaciones que se ejecutan mediante el plugin de flash. Hace unos años, liberaron el SDK como opensource, unicamente su IDE, el Adobe Flash Builder, es comercial. Además, este IDE está basado en Eclipse, el más popular entorno de desarrollo java opensource. Se puede instalar como plugin de Eclipse u obtenerlo junto a este. Es muy buen framework de desarrollo, combina un lenguaje xml para crear las interfaces gráficas (llamado mxml) con el Action Script como lenguaje de desarrollo. También admite CSS, para aplicar estilos a los componentes gráficos. MXML es análogo a HTML mientras que Action Script sería análogo a JavaScript. Lo bueno del Flash Builder, es que dispones de un editor visual para diseñar la interfaz, sino, te toca hacerlo a mano escribiendo MXML. Está bastante bien la verdad, yo estuve casi un año desarrollando con Flex. Pero por muy opensource que sea, sigue funcionando en el plugin flash, no es estándar. ¿Hay alternativas que hagan lo mismo? por supuesto, y muchas. En este artículo citaré algunas de las que he utilizado en mi trabajo y otras con las que he trasteado, además, todas opensource.

Extjs

Framework JavaScript muy potente para crear aplicaciones web. La mismísima Adobe la utiliza para varios ejemplos de su tecnología Adobe AIR. Más de un año estuve usando este framework, y se puede hacer lo mismo que con Flex. En su web podéis ver bastantes ejemplos. Es opensource y recientemente sacarón un editor visual, eso sí, de pago.

Google Web Toolkit

Abreviado GWT. Muy buen framework para los que desarrollan con Java. Desarrollado por Google y utilizado para hacer sus propias aplicaciones, como GMail por ejemplo. GWT lo que te permite es programar en Java y obtener como salida HTML y JavaScript. Para ello dispone de un compilador que hace dicha conversión, comprimiendo y ofuscando el código. El programador no tiene que preocuparse del html ni del JavaScript, siempre programa en java, usando las librerías que pone GWT a su disposición.

También permite añadir JavaScript dentro de las clases de Java mediante JSNI (JavaScript Native Interface), lo que hace a GWT bastante flexible.

Para más información, podéis visitar la página del proyecto.

Ext GWT

Ext GWT no es más que la implementación con GWT de Extjs. Es un plugin para GWT. Te permite crear las mismas aplicaciones que con Extjs pero usando GWT. Reúne las ventajas de ambos frameworks. Lo han creado los mismos que han desarrollado Extjs, es más, en la página principal de Extjs muestran ambos frameworks en portada.

Con esta tecnología he trabajado bastante, así es como conocí GWT. Al principio desarrollábamos con Extjs, pero cuando salió esta tecnología, empezamos a migrar la aplicación. El código java es bastante más legible y mantenible que JavaScript, por eso digo que reúne lo mejor de ambos frameworks, la potencia con la mantenibilidad del código.

Vaadin

Con este framework no he trabajado, pero lo he "trasteado". Está basado en GWT, pero es más bonito. Las aplicaciones tienen un aire a MacOS, así que a los amantes de la manzanita, les gustará. Aporta bastantes elementos visuales que no tiene GWT.

ZK

Hace tiempo que quiero trastear este framework, pero no he tenido tiempo aún. He oído hablar muy bien de él. Por lo poco que he podido ver, utiliza un lenguaje xml, que han llamado zul y cuyos ficheros fuente tienen esa misma extensión.Tienen un editor visual a modo de plugin del eclipse, que en este caso, es también opensource y completamente gratuito.

Dispone de un módulo de integración con Spring Framework, llamado ZK Spring.

Cappuccino

Este framework está orientado a desarrolladores de Mac. Las aplicaciones del Mac y del iPhone se desarrollan en Objective-C. Los "linuxeros" lo conoceréis, pues está integrado con el compilador gcc. Sino recuerdo mal, el paquete se llama gcc-objc, sino viene instalado, lo podéis instalar desde los repositorios de vuestra distribución. Los Mac ya llevan el compilador cuando instaláis las herramientas de desarrollo con el CD del sistema operativo. Los creadores de Cappuccino, han creado un lenguaje análogo a este que han llamado Objective-J (J de JavaScript).

Es algo análogo al funcionamiento de GWT, cambiando Java por Objective-J. Tu programas en Objective-J junto con las librerias que lleva el framework y te olvidas del HTML, Javascript y CSS.

Para un desarrollador de Mac es muy fácil ponerse a trabajar con Cappuccino. Además, si tienes un Mac, puedes diseñar la interfaz con Interfaz Builder y mediante una utilidad de linea de comandos usarla en tu aplicación web, para no tener que hacerlo por código.

Las demos que he visto son impresionantes, con un look&feel muy Mac. En su página podéis encontrar varias, destacando 280 Slides, una especie de Power Point online.

Hay muchos más frameworks opensource por la red, como YUI (de Yahoo), Sproutcore, Dojo, JQuery UI, Mootools, etc... Puede que en otra ocasión hable de alguno de ellos, pero con los que os he mostrado, tenéis para dias, que digo yo, meses, para investigar y trastear.

La polémica de Adobe Flash

Desde hace meses, en concreto, desde que se anunció el iPad de Apple, hay muchas discusiones en la red sobre la tecnología Flash de Adobe. La no inclusión por parte de Apple de dicha tecnología ha suscitado muchas críticas contra la compañía de la manzanita. Yo estoy bastante de acuerdo con Apple en este sentido, podré criticarles por lo cerrado que es su dispositivo, por su control sobre las aplicaciones, por muchas cosas, pero no por no incluir Flash. Parece que la ausencia de Flash en el iPhone / iPad es el inconveniente más grave de estos aparatos.

Hagamos memoria. Cuando nació internet se creó la World Wide Web Consortium (w3c) para definir de manera neutral e independiente todos los estándares que regirían la red de redes. Este consorcio está formado por compañías tan importantes como Microsoft, Adobe y Apple entre muchas otras. La w3c se fundó con la intención de evitar monopolios y que las tecnologías empleadas no pertenezcan a ninguna compañía. Hoy en día, gracias a eso, podemos elegir qué punto de acceso wifi comprar, ya que todos son compatibles entre ellos, pues implementan el estándar 802.11 a/b/g/n. Imaginaos la situación en la que no hay definido un estándar de redes wifi, y cada fabricante implementa su propio protocolo. Sería caótico, pues cada dispositivo que quisiera conectarse a una de esas redes wifi, tendría que implementar ese protocolo propietario en concreto, y además, pagar a esa compañía por usarlo. He usado un ejemplo que podría extenderse a cualquiera de los estándares definidos dentro de los protocolos TCP/IP, como POP3 o IMAP que se usan en el correo electrónico, ftp, http, etc…

Dentro de la pila de protocolos TCP/IP, está la capa de presentación, que define los estándares en la capa “que se ve” por así decirlo. A esta capa pertenecen HTML, CSS y JavaScript. Un navegador de internet debe implementar estas tecnologías. No se debe confundir, opensource con estándares abiertos, pues he visto que mucha gente los confunde. Adobe alegaba que eran abiertos, que el sdk de flex es opensource y que lo único que es propietario es su entorno de desarrollo de flash. Bien, tienen razón, no están mintiendo, pero están engañando a mi entender. Ser opensource no implica implementar un estándar abierto. Incluso, puedes ser cerrado e implementar un estándar abierto. El navegador Opera es un ejemplo claro de esto. Puedes implementar un estándar abierto y ser opensource, como el Firefox o Chrome. Pero, para ejecutar un programa flash, sigues necesitando un subprograma ejecutado en el navegador y que no implementa los estándares abiertos definidos por la w3c. Siempre necesitaremos a Adobe para mejorar flash, que son los que desarrollan esa tecnología. O sea, consiguen lo que no se quería, depender de un tercero. ¿De verdad queréis esto? Yo no desde luego.

Se está machacando mucho a Apple en este sentido, cuando está incitando a que se usen los estándares y eso es muy bueno. Vale, de acuerdo a que Apple seguramente no lo haga por eso, sus motivos pueden ser tener ellos el control de las aplicaciones, pero eso me da igual, el resultado es lo que me importa.

Lo que más me hace gracia de todo, es que no se critique a Microsoft. Estos, lejos de usar los estándares, se reinventan el flash, es decir, sacan su propio flash al que han llamado Silverlight. Tienen un navegador que solo llega al 13% en el acid test (el acid test es una prueba que calcula que tanto por ciento de los estándares cumple un navegador, podéis probarlo vosotros mismos) y en vez de esforzarse porque cumpla el 100%, se reinventan una tecnología. . Ahora, no me extraña nada, ya en su día se inventaron su propio JavaScript que llamaron VBScript y que por supuesto, solo funcionaba en su navegador. Señores, hay que huir de estas cosas, sino tendremos monopolios en internet y eso sí que sería muy muy malo.

Flash en su día vino a cubrir ciertas carencias que tenía html: gráficos vectoriales, animaciones y vídeo. Hoy en día, se puede hacer lo mismo con los estándares. Eso sí, con navegadores que lo implementen, como Safari, Firefox, Opera o Chrome. Si Internet Explorer no pasaba el Acid Test antes, ahora menos, ya que aún no implementa nada de html5. Esperemos que con IE9 lo haga.

Comentar también el tema de comparativas de rendimiento de Flash VS HTML. He visto algunas y dan risa. No se pueden comparar. HTML, JavaScript y CSS son especificaciones que hay que implementar, así que solo es comparable con una implementación. Bien es sabido que Chrome es el navegador más rápido, no es lo mismo comparar flash VS Internet Explorer que Flash VS Chrome. Que no os engañen.

Conclusión: usemos los estándares. No convirtamos la web en HTML + Flash. Adobe lo que debería hacer es sacar una salida estándar al compilar, no digo que desaparezca el flash, sino que su formato sea estándar: html, css y javascript.

En la próxima entrada comentaré alternativas al uso de flash, muchas de ellas funcionando incluso con HTML4.