DOM es una sigla para Document Object Model o modelo de documento por objetos, en español. Aunque se trata de un asunto complejo, este ya viene dentro de los navegadores; lo cual significa que la parte en la que los programadores tienen acceso es mucho más simple y fácil de manipular. Se trata de una […]
DOM es una sigla para Document Object Model o modelo de documento por objetos, en español. Aunque se trata de un asunto complejo, este ya viene dentro de los navegadores; lo cual significa que la parte en la que los programadores tienen acceso es mucho más simple y fácil de manipular.
Se trata de una interfaz estándar, la cual permite que los navegadores y scripts puedan manipular el contenido de una página web sin la necesidad de realizar automatizaciones o upgrades. Esta interfaz también le da orden a la navegación web para que el contenido esté accesible para todos.
Este es un asunto que seguramente es de interés para quien desea o trabaja con:
- Front-End;
- JavaScript;
- CSS;
- HTML;
- PWA;
- Web App;
Frameworks modernos, como Vue.js, Angular y React.
Si este es tu caso, ¡continúa con la lectura y conoce más sobre DOM!
¿Qué es DOM?
DOM es utilizado por el navegador para representar tu página web. Es este que entrega una representación estructurada del documento como si fuera una especie de árbol con ramas, definiendo métodos para que se puedan estructurar el estilo y el contenido del archivo.
El sistema DOM se usa principalmente cuando se desea actualizar un sitio web o construir una interfaz de usuario avanzada. Con este, es posible mover los ítems en una página o crear efectos CSS – sin siquiera tener que cargar el sitio.
Pero, ¿quién define la forma en la que DOM debe funcionar en los navegadores y motores web? Se trata del W3C o World Wide Web Consortium, que además maneja otros sistemas.
El W3C es una entidad internacional, creada en 1994 por Tim Berners-Lee, el padre de la Internet; que desarrolla padrones abiertos, asegurando el crecimiento de la web.
Dentro de la entidad existe un grupo llamado Web Platform Working Group, responsable por DOM. La W3C es responsable por diversos otros padrones, protocolos y lenguajes, como:
- CSS;
- HTML;
- XML;
- SVJ.
¿Cuál es el origen de DOM?
La historia de DOM se mezcla con la de Internet. La W3C necesitaba convencer a Netscape y Microsoft, entre otras compañías, para desarrollar un lenguaje de script padronizado.
Fue a partir de ahí que surgió el ECMAScript, conocido popularmente como JavaScript y publicado en 1997. Con esa compatibilidad entre los navegadores, fue posible que la W3C pudiera trabajar en un DOM estándar, conocido como DOM Nivel 1 en el início de 1998.
Claro que esta versión inicial dejó unas brechas, haciendo necesario su perfeccionamiento con el tiempo. Internet Explorer 5.0, por ejemplo, que era el navegador utilizado en aquella época, tenía soporte; pero era bastante limitado.
Con esto, las aplicaciones web se veían afectadas por los códigos y soluciones temporales; pues las funcionalidades eran restrictas. Era necesario verificar todo el tiempo cuál era el navegador y la versión utilizada para que DOM pudiera funciona.
Muchas personas, incluso, utilizaban un pequeño banner en el pie de la página informando en cual navegador y resolución se recomendaba navegar en su sitio web. De esta forma, el usuario podría optar por alterar el navegador para obtener más velocidad y calidad.
Desde el lanzamiento de DOM fueron creadas muchas versiones, donde fueron agregando distintas funcionalidades que utilizamos hoy, como:
- GetElementByid;
- Manipulación de eventos;
- Serialization.
Desde 2014, el DOM Nível 4 viene siendo desarrollado.
¿Cuáles son la ventajas de esta interfaz?
Con DOM, el programador tiene infinitas posibilidades. Este permite crear aplicaciones que alteren los datos de la página, sin la necesidad de hacer una actualización, por ejemplo.
Es posible también crear aplicaciones personalizables por el usuario y cambiar el layout de la página; esta actividad tampoco requiere de actualización. DOM permite arrastrar, mover y excluir elementos fácilmente, exigiendo del profesional apenas creatividad para innovar.
¿Es posible utilizar DOM en el desarrollo de sitios web?
A pesar de toda la especificación de W3C, DOM por sí solo no resuelve todos los problemas de la programación web. Este sistema tiene algunas brechas, siendo disponibilizado para los programadores con la posibilidad de cometer errores.
Por esta razón, se utilizan Libraries y Frameworks Front-End como una capa extra para que el trabajo sea siempre mejor del punto de vista de la performance.
JQuery, por ejemplo, realizó un excelente trabajo en ese sentido; así como Vanilla JS, que es una especie de JavaScript puro.
La ECMA International, asociación que surgió en 1961 y que se dedica a la padronización de los sistemas de comunicación e información, es responsable por el ECMA Script, más conocido como JavaScript, y por cualquier otro lenguaje que esté autorizado para usarse en los navegadores.
Incluso, el lenguaje Dart, creado por Google, fue padronizado por ECMA en 2014. Es decir, sería posible utilizar Dart en los navegadores nativamente. Además de este, el C-Sharp también está en la lista.