Fabio Baccaglioni



Crear un "fork" en programación es tomar el código de algo y separarlo, crear un nuevo software a partir de allí pero ya con otro criterio y dejar a los creadores del anterior con su propio código.

Google hace esto con WebKit, el engine del Chrome y de tantos otros navegadores, hay muchas razones para hacerlo y la obvia es seguir su propia agenda y ritmo de desarrollo sin preocuparse por la comunidad que venía desarrollando WebKit antes de que ellos aparezcan.

No es una movida inusual en el software libre, más bien bastante común, pero ¿Qué es lo que busca Google con esto? entremos un poco en los detalles de Blink...



WebKit es el motor por detrás de varios browsers como Safari, Chrome y hasta Opera actualmente (pasaron a WebKit hace poco) que nace de el KHTML del proyecto KDE, el camino recorrido ha sido muy largo, y Google ha sido la empresa que más código aportó durante los últimos dos años.

El hecho de utilizarlo en el Chrome los ha visto involucrarse completamente en el engine, el tema es que cada cambio, cada modificación, también afecta a sus rivales directos, puede que los beneficie como que no, pero cada "commit" debe ser discutido y ni hablar un cambio radical en su base.

Separando las aguas Google puede modificar lo que quiera en Blink sin preocuparse por esperar la aprobación de nadie, es como hacer un fork de Linux, ya no deberías pedirle permiso para nada a Linus Torvalds (igualmente, yo no me animaría a forkear el kernel de linux, jejeje).

En un comienzo obviamente Blink no va a significar ningún cambio importante para los usuarios ni para Chrome pero una vez estabilizada la base empieza el trabajo duro.

Por ejemplo, hay 7 sistemas de armado que se pueden borrar, 7000 archivos que juntos son 4.5 millones de líneas de código que Chrome no necesita, limpiar el código sacando todo ese sobrante, algo que sucede mucho en proyectos grandes, que está ahí para cumplir funciones que Chrome no requiere pero que por ahí otro de los proyectos que usan WebKit sí.

No hace falta explicar lo que significa borrar 4.5 millones de líneas de código, hasta el browser sería más pequeño, más liviano y ocuparía menos memoria (aunque igualmente Chrome es peor que Firefox en el uso de memoria con muchas tabs abiertas).

Muchas de las necesidades de Blink se refieren al uso de múltiples procesos para los html parser, style engine, javascript parser, más uso de APIs y cómo el navegador utiliza otros plugins o por ejemplo el ejecutar contenido de una página en otro proceso separado y un sandbox separado. Piensen en un IFRAME que se abra en otro proceso, todo dentro de una misma página en lo visual, pero en lo procedural pasando por una instancia independiente.

El tema del sandbox parece ser crucial, tratando de sacar todo del WebCore y moverlo a la API de Sanbox, remover incompatibilidades con DOM y recursos que estaban para emparchar comportamientos, quieren arreglar los memory leaks aprovechando que ahora habrá un sólo motor javascript y así una larga lista de cambios que se apartan mucho de WebKit y principalmente de Safari.

Opera ya anunció que se pasará a Blink, los otros dos que seguirán compitiendo con WebKit y Blink son Mozilla y Microsoft que tienen sus propios engines, por suerte y a mi gusto, hay variedad, los más conservadores y retrógados siempre promueven la existencia de uno solo, pero la realidad siempre les demuestra su error, no hay una única solución para todas las necesidades y problemas, este fork lo demuestra.

Hace un tiempo leía a varios "diseñadores" reclamando que todos usen WebKit y listo, que no entendían por qué el Firefox tenía su propio Gecko o IE insistía con sus propios engines, una opinión ridícula típica del que pide que exista un sólo sistema operativo o un sólo teléfono. Ni Google puede con eso!

La web ya cayó en una "monocultura" en la época de IE 6.0 , por suerte no volverá a caer otra vez en ese dominio de los conservadores aburridos sin evolución, 4 engines, requiere evolucionar, estancarse nunca sirvió.

Más detalles técnicos en Blink

Comentarios

Ultimo momento, aparentemente para usar Blink hay que tener cuenta en G+, cada linea de codigo puede ser compartida en los circulos y andemas podes darle \"+1\" a las paginas que visitas gracias al super mega boton dedicado esclusivamente para eso


SARCASMO MODE OFF
------------------------------
Sorprendio un poco la noticia, google el \"promotor\" de webkit, el que dijo, usaremos este motor y seremos los mas rapidos. lo abandona por sus propios intereses lo de opera con blink es confirmado? me gustaria que se quedara directamente con su propio fork de webkit, como para variar un poco... ademas apostaria que google va a poner google + hasta en la sopa xD

  • Citar »

Leandro Rotela dijo:
Ultimo momento, aparentemente para usar Blink hay que tener cuenta en G+, cada linea de codigo puede ser compartida en los circulos y andemas podes darle \"+1\" a las paginas que visitas gracias al super mega boton dedicado esclusivamente para eso


SARCASMO MODE OFF
------------------------------
Sorprendio un poco la noticia, google el \"promotor\" de webkit, el que dijo, usaremos este motor y seremos los mas rapidos. lo abandona por sus propios intereses lo de opera con blink es confirmado? me gustaria que se quedara directamente con su propio fork de webkit, como para variar un poco... ademas apostaria que google va a poner google + hasta en la sopa xD


ja, no, no creo que a ningún programador se le ocurra meter en un engine una capa social, no tiene pies ni cabeza y nada que ver, pero sí que van a hacer lo propio.

lo de Opera es simple, se quitan de encima un trabajo enorme que es mantener un engine propio y pueden dedicarse a la capa de usuario para tratar de venderlo de alguna forma

  • Citar »

Deje su comentario:

(comentarios ofensivos o que no hagan al enriquecimiento del post serán borrados/editados por el administrador sin previo aviso)

Security Image

Negrita Cursiva Imagen Enlace