Ir al contenido

WebKit

De Wikipedia, la enciclopedia libre
WebKit
Información general
Tipo de programa Motor de renderizado
Desarrollador Apple Inc., Google, RIM, Igalia , otros.[1]
Lanzamiento inicial 04 de noviembre de 1998
Licencia GNU LGPL 2 / BSD
Estado actual activo
Información técnica
Programado en C++ y Objective-C
Versiones
Última versión estable 76171 de noviembre de 2023
Enlaces

WebKit es una plataforma para aplicaciones que funciona como base para el navegador web Safari y Epiphany,[2]​ entre otros. También fue base de Dooble Web Browser, Midori,[3]Maxthon,[4]Opera y QupZilla.[5]​ Está basado originalmente en el motor de renderizado KHTML del navegador web del proyecto KDE, Konqueror. WebKit logra 100/100 en la prueba Acid3 desde el 26 de marzo de 2008.[6]​ Desde junio de 2005 es software libre bajo las licencias GNU GPL, GNU LGPL y BSD.

Características de la Aplicación

[editar]

La API de WebKit está desarrollada en Objective-C y posibilita interactuar con un servidor web para recuperar y renderizar páginas web, descargar archivos, y administrar plugins.

Webkit incluye dos frameworks de más bajo nivel: WebCore, un analizador sintáctico y motor de renderizado de HTML basado en KHTML, y JavaScriptCore, un intérprete de JavaScript basado en KJS.

Con los lanzamientos pre-alfa se está incluyendo un depurador de Javascript llamado Drosera.[7]

Historia

[editar]

El código que se convertiría en WebKit se inició en 1998 como parte de un proyecto KDE de renderizado HTML denominado KHTML y del motor JavaScript de KDE (KJS). El nombre del proyecto y 'WebKit' fueron creados en 2002, cuando Apple Inc. creó un «fork» (bifurcación) de KHTML y KJS. Los desarrolladores de Apple explicaron en un correo electrónico a los desarrolladores de KDE[8]​ que estos motores permiten un desarrollo más fácil que otras tecnologías por el hecho de ser pequeños (menos de 140.000 líneas de código), diseñados limpiamente y compatibles con las normas. KHTML y KJS fueron portados a Mac OS X con la ayuda de una biblioteca adaptada y renombrada como WebCore y JavaScriptCore. JavaScriptCore se anunció en un correo electrónico a una lista de correo de KDE en junio de 2002, junto con la primera versión de los cambios de Apple.[9]​ WebCore fue anunciado en la Macworld Expo en enero de 2003 por el CEO de Apple Steve Jobs con el lanzamiento del navegador web Safari. JavaScriptCore se incluyó por primera vez con el Mac OS X v10.2 como un framework privado, que Apple utilizaba en su aplicación Sherlock, mientras que WebCore debutó con la primera beta de Safari. Mac OS X v10.3 fue el primer lanzamiento de un sistema operativo de Apple que instalaba el paquete WebKit, a pesar de que ya se había compilado como una versión menor del OsX 10,2.

Software libre

[editar]

El 7 de junio de 2005, Dave Hyatt, desarrollador de Safari, anunció en su blog que Apple estaba liberando el código fuente de WebKit como software libre (anteriormente, solo eran libres WebCore y JavaScriptCore) y el acceso a la estructura de árbol de WebKit CVS además de la base de datos de errores. De esta manera se anunció en la WWDC (Conferencia Mundial de Desarrolladores de Apple) del 2005 por el vicepresidente Senior de Ingeniería de Apple Bertrand Serlet. A mediados de diciembre de 2005, se incluyó soporte para SVG (gráficos vectoriales escalables) y se incluyó en la distribución estándar y a principios de enero de 2006, el código fuente se migró desde el CVS a Subversion. JavaScriptCore WebKit y los componentes WebCore están disponibles bajo la GNU General Public License, mientras que el resto de WebKit está disponible bajo una licencia tipo BSD.

WebKit2

[editar]

WebKit2 se anunció el 8 de abril de 2010. WebKit2 está diseñado desde cero para generar un modelo de procesos divididos, donde el contenido de la web (Javascript, HTML, diseño, etc) se ejecuta cada uno en proceso separado. Este modelo es similar a lo que a día de hoy Google Chrome tiene implementado, la principal diferencia es que en WebKit2 ha construido el modelo de proceso de separación directamente en un framework, permitiendo que otros desarrolladores lo puedan utilizar. Actualmente WebKit2 está disponible para MacOS, GNU/Linux (con el proyecto WebkitGTK+) y Windows, cualquiera que desee portar el código a otro sistema puede hacerlo sin restricciones, ya que es software libre.

Cronología

[editar]

El 7 de junio de 2005, Dave Hyatt, uno de los desarrolladores de Safari, anunció que Apple Computer convertía a WebKit y sus dos componentes en un desarrollo de código abierto y permitiría el acceso al sistema CVS y a la herramienta Bugzilla dedicados al mismo.[10]

El 13 de junio de 2005, Nokia anunció que se encontraba desarrollando un navegador web basado en WebKit, que finalmente sería conocido como Web Browser for S60.[11]

El 15 de diciembre de 2005 se implementó el soporte para Gráficos Vectoriales Escalables.[12]

El 10 de enero de 2006 se oficializó el cambio del sistema de control de versiones CVS por Subversion.[13]

El 2 de junio de 2008, el intérprete de JavaScript pasó a ser SquirrelFish. Este proyecto pasó a ser SquirrelFish Extreme (SFX) en septiembre del 2008. SFX compila JavaScript en código máquina eliminando la necesidad de un intérprete y por lo tanto acelerando la velocidad de ejecución de JavaScript.[14]​ Hasta la fecha (28 de septiembre de 2008) la única arquitectura soportada es la x86.

El 13 de febrero de 2013, se anuncia que el navegador web Opera deja Presto, su propio motor de renderizado, para unirse a Webkit y contribuir con sus desarrollos a este motor y a Chromium, y anuncia que dará soporte a sus navegadores para Android y Apple iOS en los próximos meses.[15]

El 3 de abril de 2013, se anuncia que el navegador web Google Chrome abandona WebKit, para crear su propio motor de renderizado Blink.[16]Opera secunda la propuesta.

Aplicaciones que utilizan WebKit

[editar]
Navegador web Epiphany 2.27 con motor de renderizado Webkit, desplegando la prueba Acid3.
[editar]

Editores de texto

[editar]

Estos editores de texto utilizan WebKit para permitirle al usuario ver páginas web.

Agregadores

[editar]

Estos agregadores utilizan WebKit para mostrar canales web (y posiblemente también para permitir navegar por Internet).

Otras aplicaciones

[editar]

Referencias

[editar]
  1. «Reviewers and companies in the WebKit project». 1 de marzo de 2013. 
  2. «GNOME / Epiphany. README». GitLab (en inglés). Consultado el 31 de mayo de 2021. 
  3. «Midori Browser README». GitLab (en inglés). Archivado desde el original el 19 de mayo de 2022. Consultado el 22 de mayo de 2021. 
  4. «Maxthon 6 Cloud Browser». Maxthon (en inglés). Consultado el 31 de mayo de 2021. 
  5. QupZilla 2.0.0 released with QtWebEngine, 30 de marzo de 2016
  6. WebKit achieves Acid3 100/100 in public build
  7. WebKit.org Drosera Wiki
  8. KDE KFM-Devel mailing list "(fwd) Greetings from the Safari team at Apple Computer", January 7, 2003.
  9. Stachowiak, Maciej (13 de junio de 2002), «JavaScriptCore, Apple's JavaScript framework based on KJS», lista de correo kde-darwin, archivado del original el 10 de marzo de 2007, https://web.archive.org/web/20070310215550/http://www.opendarwin.org/pipermail/kde-darwin/2002-June/000034.html, consultado el 10 de agosto de 2019. 
  10. Hyatt, Dave (2005). «Say Hello to WebKit!». Surfin' Safari. Archivado desde el original el 20 de noviembre de 2011. Consultado el 2006. 
  11. Nokia (2005). «Nokia develops a new browser for Series 60 by using open source software». Nokia Press Releases. Archivado desde el original el 6 de agosto de 2014. Consultado el 2006. 
  12. *Hyatt, Dave (2005). «SVG Has Landed». Surfin’ Safari. Consultado el 2006. 
  13. *maciej (2006). «WebKit is now in Subversion». Surfin’ Safari. Consultado el 2006. 
  14. Introducing SquirrelFish Extreme
  15. *Opera Software, Oficina de Prensa (2013). «Opera gears up at 300 million users (en inglés)». Oficina de Prensa de Opera Software. Archivado desde el original el 23 de febrero de 2013. Consultado el 13 de febrero de 2013. 
  16. *«Google going its own way, forking WebKit rendering engine (en inglés)». 2013. Consultado el 3 de abril de 2013. 

Enlaces externos

[editar]