KHTML
KHTML es un motor de navegador discontinuado que fue desarrollado por el proyecto KDE. Se originó como el motor del navegador Konqueror a fines de la década de 1990, pero el desarrollo activo cesó en 2016. Se suspendió oficialmente en 2023.
Construido en el marco de trabajo de KParts y escrito en C++, KHTML tuvo un soporte relativamente bueno para los estándares web durante su mejor momento. Los motores bifurcados de KHTML son utilizados por algunos de los navegadores más utilizados del mundo, entre ellos Google Chrome, Safari, Opera, Vivaldi y Microsoft Edge.
Historia
Orígenes
KHTML fue precedido por un motor anterior llamado khtmlw o el widget HTML de KDE, desarrollado por Torben Weis y Martin Jones, que implementó soporte para HTML 3.2, HTTP 1.0, y marcos HTML, pero no el W3C DOM, CSS o JavaScript.
KHTML nació el 4 de noviembre de 1998 como una bifurcación de la biblioteca khtmlw, con una pequeña refactorización y la adición de compatibilidad con Unicode y cambios para respaldar el cambio a Qt 2. Waldo Bastian fue uno de los que hicieron la trabajo de crear esa primera versión de KHTML.
Reescritura y mejora
El trabajo real en KHTML en realidad comenzó entre mayo y octubre de 1999, cuando se dio cuenta de que la elección que enfrentaba el proyecto era "hacer un esfuerzo significativo para avanzar con KHTML o usar Mozilla" y con la adición de soporte para JavaScript como la máxima prioridad. Entonces, en mayo de 1999, Lars Knoll comenzó a investigar con miras a implementar la especificación W3C DOM, y finalmente anunció el 16 de agosto de 1999 que había verificado lo que equivalía a una reescritura completa de la biblioteca KHTML: cambiar KHTML para usar el W3C estándar DOM como su representación de documentos internos. Eso, a su vez, permitió que se agregaran los inicios de la compatibilidad con JavaScript en octubre de 1999, con la integración de KJS de Harri Porten poco después.
En los últimos meses de 1999 y los primeros meses de 2000, Knoll siguió trabajando con Antti Koivisto y Dirk Mueller para agregar compatibilidad con CSS y para refinar y estabilizar la arquitectura KHTML, y la mayor parte de ese trabajo se completó en marzo de 2000. Entre otras cosas, esos cambios permitieron que KHTML se convirtiera en el segundo navegador después de Internet Explorer en admitir correctamente el hebreo y el árabe y los idiomas escritos de derecha a izquierda, antes de que Mozilla tuviera dicho soporte.
KDE 2.0 fue la primera versión de KDE (el 23 de octubre de 2000) en incluir KHTML (como el motor de renderizado del nuevo archivo y navegador web de Konqueror, que reemplazó al monolítico KDE File Manager).
Otros módulos
KSVG fue desarrollado por primera vez en 2001 por Nikolas Zimmermann y Rob Buis; sin embargo, en 2003, se decidió bifurcar la implementación KSVG actual en dos nuevos proyectos: KDOM/KSVG2 (para mejorar el estado de la representación DOM en KHTML debajo de un estado de representación SVG 1.0 más formidable) y Kcanvas (para abstraer cualquier representación hecho dentro de khtml/ksvg2 en una sola biblioteca compartida, con múltiples backends, por ejemplo, Cairo/Qt, etc.).
KSVG2 también forma parte de WebKit.
Puesta de sol
KHTML estaba programado para eliminarse en KDE Frameworks 6. El desarrollo activo finalizó en 2016, solo el mantenimiento necesario para trabajar con las actualizaciones de Frameworks 5. Se suspendió oficialmente en 2023.
Cumplimiento de estándares
Los siguientes estándares son compatibles con el motor KHTML:
- HTML 4.01
- Soporte HTML 5
- CSS 1
- CSS 2.1 (medios de pantalla y de página)
- CSS 3 Selectors (fully as of KDE 3.5.6)
- CSS 3 Otros (contextos múltiples, tamaño de cajas y sombra de texto)
- PNG, MNG, JPEG, formatos gráficos GIF
- DOM 1, 2 y parcialmente 3
- ECMA-262/JavaScript 1.5
- Soporte de gráficos vectoriales escalables parciales
Descendientes
Apple adoptó KHTML y KJS en 2002 para su uso en el navegador web Safari. Apple publica el código fuente de su bifurcación del motor KHTML, llamado WebKit. En 2013, Google comenzó a desarrollar una bifurcación de WebKit, llamada Blink.
Contenido relacionado
EEPROM
Carretón
Explosivo plástico