Google Chrome y la vida después de Windows

Google Chrome y la vida después de Windows

Una de las promesas de Google al lanzar su navegador Chrome era estar disponible en Windows, Linux y MacOS X.  Hasta ahora sólo existe la versión para Windows y hace pocos días se vieron las primeras capturas de Chrome para MacOS X. Ahora comienzan a aparecer las primeras noticias sobre Chrome para Linux.

La gran dificultad de contar con versiones para otros sistemas operativos que no sean de Microsoft es que el código original de Chrome estaba demasiado amarrado a Windows, se puede interpretar que la prioridad de Google no era sacar un producto diseñado con miras a futuro, sino que ser el primero en incorporar cambios radicales para competir de igual a igual frente a los dominantes Internet Explorer y Firefox en la plataforma que cuenta con la mayor cantidad de usuarios, el resto se podía atacar más tarde.

Esta actitud puede ser bastante criticada por los talibanes de la Ingeniería de Software, pero la historia demuestra que los diseños perfectos se pueden transformar en proyectos infinitos, en donde un release final puede tardar años, es cosa de recordar lo que costó llegar a la versión 1.0 de Mozilla (antes de Firefox).

Una de las decisiones a tomar por parte del equipo de Chrome era usar o no la misma versión de Windows para las otras plataformas por medio de Wine como ya lo habían hecho antes con Picasa.  El equipo de Chrome considera que su versión para Windows es suficientemente rápida incluso corriendo sobre Wine, ya había evidencia de que la versión actual se puede ejecutar sobre Linux en forma relativamente exitosa, y hasta existe CrossOver Chromium para los que le temen a la linea de comandos.

Pero la ruta más corta, no es necesariamente la mejor.

El uso de Wine quedó descartado debido a que el resto de los usuarios merece tener la mejor experiencia que Chrome le pueda entregar.  Otra alternativa que surgió, fue usar un toolkit que permitiera tener una sola versión multiplataforma, en este caso el candidato claro era QT que está disponible para las tres plataformas.  Sin embargo a la hora de entrar en detalles, el uso de un toolkit genérico hace que se tengan que sacrificar las características únicas de cada plataforma y que sólo se use un denominador común entre ellas, similar a lo que sucede con las aplicaciones construidas con Java Swing. Es también una ruta corta, a costa de sacrificar la integración de Chrome con cada sistema operativo. Como dicen Google, al final se termina hablando con el mismo lenguaje, pero con acento extranjero.

En el caso de Linux, QT puede ser bastante cercano a algo nativo cuando se usa el escritorio KDE, pero en el caso de MacOS X, los usuarios apuntan a una serie de inconsistencias entre una aplicación QT y una aplicación nativa en Cocoa.

El equipo de Chrome quiere que el navegador siga siendo un ciudadano distinguido entre los navegadores y al mismo tiempo que no sea mirado con malos ojos por los usuarios de cada plataforma.  En el caso de MacOS X  declaran explícitamente que la API es demasiado buena como para no aprovecharla.

Un clon la versión de Windows definitivamente no sería aceptable en MacOS X. Donde las APIs para el desarrollo de interfaces de usuario son altamente evolucionadas y tienen muchas características impresionantes.

En Linux el escenario no era tan claro ya que no existe un toolkit nativo que sea usado por la totalidad de los usuarios.  A ojos de Google existen al menos dos grande líderes : QT y GTK+, y entre ellos dos el que está más de acuerdo a sus objetivos es GTK+, lo que provocó una airada reacción de los que consideran que QT es técnicamente superior.

En palabras del lider del área de interfaz de usuario de Google, Ben Goodger:

Mi pensamiento inicial era que un clon de la versión de Windows sería aceptable en Linux dado que el rendimiento de la aplicación por si sola es impresionante, y también debido a  la resistencia de algunos miembros del equipo que trabaja para la versión de Linux respecto a la interfaz del usuario.  Pero se pusieron de pie y hicieron su esfuerzo hacia una interfaz GTK+, si leen las otras discusiones en esta lista, verán que ese es el camino que hemos decidido.

Dado que Chrome es de código abierto, siempre está la posibilidad de que se haga un desarrollo independiente con QT, en donde las voces críticas tendrán su oportunidad de demostrar la defendida superioridad de este toolkit.

Se espera que las versiones oficiales para MacOS X y Linux estén disponibles al público en Junio.

Links:

Linux : the views situation (Chromium-dev)
Linux version of Chrome to use GTK+ (OS News)
Chrome gets Mac deadline (CNET)