Los orígenes de JavaScript, DOM

Los orígenes de JavaScript

JavaScript fue desarrollado por Netscape, en colaboración con Sun Microsystems. Antes de JavaScript, piezas de los navegadores web son bastante básicos de software capaz de visualizar documentos de hipertexto. JavaScript más tarde se introdujo para añadir algo de sabor extra a las páginas web y hacerlos más interactivos. La primera versión, JavaScript 1.0, debutó en el Netscape Navigator 2 en 1995. En el momento de JavaScript 1.0 's liberación, Netscape Navigator dominaba el mercado de los navegadores. Microsoft estaba luchando por ponerse al día con su propio navegador, Internet Explorer, y se apresuró a seguir el ejemplo de Netscape por la liberación de su propio lenguaje VBScript, junto con una versión de JavaScript llamado JScript, con la entrega de Internet Explorer 3. Como respuesta a esto, Netscape y Sun se dedicó a la normalización de la lengua, junto con el Europea CNFORMÁTICA MANUFACTURERS Unsociación (ECMA).

El resultado fue ECMAScript, sin embargo, otro nombre para el mismo idioma. Aunque nunca el nombre realmente atascado, que realmente debería estar refiriéndose a JavaScript como ECMAScript. JavaScript, ECMAScript, JScript, lo que quieras llamarlo, fue ganando terreno en 1996. La versión 3 de los navegadores de Netscape y Microsoft apoyaron el 1,1 Javascript en diversos grados. Debo señalar que JavaScript no tiene nada que ver con Java, un lenguaje de programación desarrollado por Sun Microsystems. JavaScript fue originalmente iba a ser llamado LiveScript. "JavaScript" probablemente fue escogido para hacer el sonido nuevo idioma como lo fue en buena compañía. Por desgracia, la elección de este nombre en realidad sólo tuvo el efecto de confundir los dos idiomas en las mentes de las personas-una confusión que fue amplificado por el hecho de que los navegadores web también una forma de apoyo del lado del cliente Java. Sin embargo, mientras que la fuerza de Java se encuentra en el hecho de que, teóricamente, puede ser desplegado en prácticamente cualquier entorno, JavaScript fue siempre la intención de los confines del navegador web. JavaScript es un lenguaje de scripting.

Esto significa que a diferencia de un programa que hace todo por sí mismo, el lenguaje JavaScript, simplemente le dice al navegador web qué hacer. El navegador interpreta el guión y hace todo el trabajo, por lo que JavaScript es a menudo comparado desfavorablemente con compilado lenguajes de programación como Java y C + +. Sin embargo, la relativa simplicidad de JavaScript es también su fuerza. Debido a que tiene una barrera de entrada, no programadores que querían cortar y pegar secuencias de comandos en sus páginas web existentes adoptaron rápidamente el idioma. JavaScript también ofreció a los desarrolladores la oportunidad de manipular los aspectos del navegador web. Por ejemplo, el lenguaje puede ser utiliza para manipular las propiedades de una ventana del navegador, como su altura, anchura, y posición. Abordar propiedades del navegador de esta manera puede ser pensado como un modelo de objetos de navegador (BOM). Las primeras versiones de JavaScript también proporcionó una especie primitiva de Document Object Model.

  

¿Qué es un Modelo de Objetos del Documento?

En resumen, un Document Object Model (DOM) es una forma de conceptualizar el contenido de un documento. En el mundo real, todos comparten algo voy a llamar a un Modelo de Objetos del Mundo. Podemos referirnos a los objetos en nuestro medio ambiente, utilizando términos como "coche", "casa" y "árbol" y estar bastante seguro de que nuestros términos se entiende. Eso es porque hemos acordado mutuamente que los objetos de las palabras se refieren específicamente. Si digo "El coche está en el garaje", que es seguro asumir que usted no tendrá que significa "El pájaro está en el armario." Nuestro Mundo Modelo de objetos no se limita a objetos tangibles, aunque también se aplica a los conceptos.

Por ejemplo, podría referirse a "la tercera casa de la izquierda," cuando te da direcciones. Para que la descripción de tener sentido, los conceptos de "tercero" y "izquierda" debe ser entendido. Si le doy a esa descripción a alguien que no puede contar, o que no pueden distinguir entre izquierda y derecha, a continuación, la descripción es esencialmente sin sentido, si las palabras se han entendido. En la realidad, porque las personas están de acuerdo en un modelo de mundo conceptual , descripciones muy breve puede estar llena de significado. Puedo estar bastante seguros de que otros comparten mis conceptos de "izquierda" y "tercero." Es la misma situación con las páginas web. Las primeras versiones de JavaScript que ofrece a los desarrolladores la capacidad de consultar y manipular algunos de los contenidos reales de los documentos de la Web, en su mayoría imágenes y formas. Debido a que los términos "imágenes" y "formas" han sido predefinidos, JavaScript podría utilizarse para hacer frente a "la tercera imagen en el documento" o "el formulario denominado" Detalles "," como se muestra:

 

document.images [2] document.forms [ 'detalles']

Este primer tipo provisional de Document Object Model se refiere a menudo como DOM Nivel 0. En los primeros, los días sin preocupaciones, el uso más común de DOM nivel 0 fue para los rollovers imagen y algunos clientes de validación de forma lateral. Pero cuando la cuarta generación de navegadores de Netscape y Microsoft apareció, el DOM realmente golpeó el ventilador.

La guerra de los navegadores

Netscape Navigator 4 (NN4) fue lanzado en junio de 1997, y en octubre de ese año, Internet Explorer 4 (IE4) también había sido puesto en libertad. Ambos navegadores prometido muchas mejoras en las versiones anteriores, junto con muchas adiciones a lo que podría lograrse con JavaScript, utilizando una gran expansión DOM. Los diseñadores Web se animó a probar la última palabra de moda: DHTML.

La palabra D: DHTML

DHTML es la abreviatura de HTML dinámico. No es una tecnología en sí misma, DHTML es un término abreviado para describir el matrimonio de HTML, CSS y JavaScript. La idea detrás de DHTML fue así: se puede usar HTML para marcar su página web en elementos. Se puede utilizar el CSS para el estilo y la posición de dichos elementos. Se puede usar JavaScript para manipular y cambiar los estilos sobre la marcha. DHTML se refirió a la combinación de las tres técnicas. Usando DHTML, los efectos de animación complejos de repente se convirtió en posible. Digamos que usted utiliza HTML para marcar un elemento de página como esta:

 

Esta es mi elemento

A continuación, podría utilizar el CSS para aplicar estilos de posición como esta:

 

# myElement (position: absolute; left: 50px; top: 100px;)

Luego, usando JavaScript, podría cambiar los estilos de la izquierda y parte superior de myElement para moverlo por toda la página. Bueno, eso era la teoría. Desgracia para los desarrolladores, tanto de los navegadores utilizan diferentes departamentos de ultramar incompatibles. Aunque los fabricantes de navegadores están promoviendo los mismos fines, cada uno de ellos abordó el tema de DOM en formas completamente diferentes.

La pelea de los navegadores de

El DOM Netscape hecho uso de elementos de propiedad llamado capas. Estas capas fueron dados identificadores únicos y luego se dirigió a través de JavaScript como esta:

 

document.layers [ 'myElement']

Mientras tanto, el DOM de Microsoft podría abordar el mismo elemento como este:

 

document.all [ 'myElement']

Las diferencias no terminan ahí. Digamos que usted quería saber la posición izquierda de myElement y asignarlo a la xpos variable. En Netscape Navigator 4, lo haría así:

 

var xpos = document.layers [ 'myElement']. izquierda;

He aquí cómo usted haría lo mismo en Internet Explorer 4:

 

var xpos = document.all [ 'myElement']. leftPos;

Esto era claramente una situación ridícula. Los desarrolladores tuvieron que tenedor su código para llevar a cabo cualquier tipo de scripting DOM. En efecto, muchos guiones fueron escritos dos veces, una para NN4 y una vez para IE4. Navegador contorneado oliendo a menudo obligados a servir a la secuencia de comandos correcta. DHTML prometió un mundo de posibilidades. Pero cualquiera que realmente trató de utilizar descubrió un mundo de dolor en su lugar. No pasó mucho tiempo antes de DHTML se convirtió en un sucio (Buzz) palabra. La tecnología rápidamente ganó una reputación de ser tanto más exagerada y demasiado difícil de aplicar.

Mejorar la calidad

 

var xpos = document.getElementById ( 'myElement'). style.left

A primera vista, que tal vez no parece ser una mejora con respecto a la no-estándar, departamentos franceses de ultramar de propiedad. Sin embargo, el DOM estándar es mucho más ambicioso en su alcance. Mientras que los fabricantes del navegador simplemente quería de alguna manera para manipular páginas web con JavaScript, el W3C propuso un modelo que podría ser utilizado por alguno lenguaje de programación para manipular alguno documento escrito en alguno lenguaje de marcas.

Pensar fuera del explorador

El DOM es lo que se conoce como Application Programming Interface (API). API son esencialmente los convenios que se han acordado de mutuo acuerdo. Equivalentes en el mundo real sería cosas como:

  1. Código Morse
  2. Zonas horarias Internacional
  3. La tabla periódica de los elementos de

Todas estas cosas son las normas, y que hacen más fácil para las personas comunicarse y cooperar. En situaciones en que una sola convención no ha sido acordado, el resultado suele ser desastroso. Recuerde, la competencia entre las medidas métricas e imperiales se ha traducido en al menos una misión a Marte no. En el mundo de la programación, hay muchos idiomas diferentes, pero hay muchas tareas similares. Es por eso que las API son tan útiles. Una vez que sepas la norma, se puede aplicar en muchos entornos diferentes. La sintaxis puede cambiar en función del idioma que estás usando, pero el convenio sigue siendo el mismo.

Así que, mientras se centran específicamente en el uso del DOM con JavaScript en este artículo, su nuevo conocimiento de la DOM también será muy útil si alguna vez tiene que analizar un documento XML utilizando un lenguaje de programación como PHP o Python. El W3C define el DOM como "una plataforma y lenguaje de interfaz neutral que permitirán que los programas y scripts para acceder y actualizar dinámicamente el contenido, estructura y estilo de los documentos." La independencia de los objetos DOM estándar, junto con su ámbito de aplicación de gran alcance, la pone de cabeza y hombros por encima de los departamentos de ultramar de propiedad creados por los fabricantes de disputas navegador.

El fin de la guerra de los navegadoresMicrosoft ha ganado la batalla por la supremacía del mercado de los navegadores de acciones. Irónicamente, el choque de departamentos de ultramar y la competencia de marcas de propiedad ha tenido poco efecto en el resultado final. Internet Explorer estaba destinado a ganar simplemente por el hecho de que venía preinstalado en todos los PC con sistema operativo Windows. Las personas que fueron los más afectados por la guerra de los navegadores se diseñadores web. Cruz-el desarrollo del navegador se ha convertido en una pesadilla. Así como las discrepancias en las implementaciones de JavaScript que he mencionado antes, los dos navegadores también tienen niveles muy diferentes de apoyo a la CSS. Creación de hojas de estilo y scripts que trabajaban en los dos navegadores se convirtió en una especie de arte negro. Un contragolpe inició en contra de la postura de propiedad de los fabricantes de navegadores.

Se formó un grupo que se autodenomina WEB SORMAS Pde proye ctos, o la WaSP de corto plazo (http://webstandards.org/). La primera tarea que la avispa se comprometió a alentar a los responsables del navegador para adoptar las recomendaciones de las recomendaciones del W3C-mismo que los fabricantes del navegador había ayudado a redactar. Si se debió a la presión de la avispa o el resultado de decisiones internas de la empresa, no fue mucho mayor apoyo a los estándares web en la siguiente generación de navegadores web.

Un nuevo comienzo

Internet Explorer 5 incluye con el soporte incorporado para WC3 DOM estándar, al tiempo que mantener el apoyo a la antigua, propiedad de Microsoft DOM. Netscape decidió hacer borrón y lanzó un navegador que había casi nada en común con NN4. Netscape Navigator 6, incluso dio un número de versión, y se utilizó un motor de renderizado completamente diferente, con un apoyo mucho, CSS mucho mayor. También apoya el DOM estándar, pero sin compatibilidad hacia atrás para el DOM antiguo Netscape. Comunicados posteriores de Netscape y Microsoft mejorado en encarnaciones anteriores con un mayor apoyo de estándares web. Lamentablemente, el desarrollo de Internet Explorer se ha estancado en la versión 6. Es una lástima, ya que siguen existiendo algunos problemas con la aplicación del navegador de CSS. Apoyo a DOM Nivel 1, sin embargo, es de roca sólida. Mientras tanto, otros navegadores han aparecido en la escena. Cuando Apple debutó en su navegador Safari en 2003, no había duda de que seguiría las normas DOM.

Firefox, Mozilla, y Camino, todos basados en el mismo motor de código abierto de representación como Netscape 6 y 7, tienen un excelente soporte para el DOM. Opera y Konqueror también ofrecen soporte de DOM grande. Más del 95% de los navegadores en uso hoy en día tienen soporte integrado para el DOM. La guerra de los navegadores de finales de los noventa parecen estar realmente detrás de nosotros. Aunque no hay ningún navegador solo ha ejecutado el W3C DOM perfectamente, todos los navegadores modernos cubren alrededor del 95% de las especificaciones. Esto significa que hay una cantidad enorme de que podemos realizar sin tener que preocuparse por la ramificación de código. El estancamiento del desarrollo de Internet Explorer a pesar de la vida ha mejorado en gran medida para diseñadores web. En lugar de escribir secuencias de comandos con código de horquilla servidos con el navegador complicado aspirados, ahora estamos en condiciones de escribir algo una vez y publicar en todas partes. Mientras seguimos las normas DOM, podemos estar seguros de que nuestros scripts trabajar casi universalmente.

¿Qué sigue?

Una cosa que definitivamente deberían aprender de la lección JavaScript breve historia es que los diferentes navegadores utilizados para realizar las mismas tareas de diferentes maneras. Este hecho ineludible no sólo dominó la escritura de secuencias de comandos JavaScript, también dictó cómo se escribieron artículos sobre Javascript. JavaScript Cualquier artículos destinados a demostrar la forma de aprender el idioma por ejemplo, a menudo tenían que mostrar los mismos scripts escritos en diferentes formas para diferentes navegadores. Al igual que el código que se encuentra en la mayoría de los sitios web, los ejemplos en la mayoría de los artículos estaban llenos de JavaScript del navegador y el código de inhalación de ramificación. Del mismo modo, los artículos de referencia técnica de JavaScript simplemente no pudo contener las listas de funciones y métodos. También tuvieron que documento en el que las funciones y métodos que fueron apoyadas por los navegadores. La situación ha cambiado ahora.

Gracias a la estandarización de los DOM, diferentes navegadores hacer las mismas cosas de la misma manera. Esto significa que cuando estoy mostrando cómo hacer algo de JavaScript y Document Object Model, no se desvíe por las incoherencias del navegador. Voy a tratar de evitar mencionar ninguna navegadores específicos en este artículo. También me no va a utilizar el término DHTML más. El término siempre funcionó mejor como una palabra de moda de marketing que como una descripción técnica. Por un lado, suena como la de crear confusión con otro sabor de HTML o XHTML. Además, el término viene con un montón de equipaje. Si usted menciona DHTML a cualquier persona que trató de usar en los noventa, tendrá un momento difícil convencerlos de que se trata de una sencilla, la tecnología estandarizada ahora. DHTML se suponía que se refieren a la combinación de (X) HTML, CSS, y JavaScript, pero en realidad, lo que une a estas cosas juntas es el DOM. Si tenemos un término para describir este proceso, vamos a usar algo más precisa. Si bien el término DHTML podría ser utilizado para referirse al navegador de codificación específica, no parece adecuado para tratar de aplicar el mismo término para basados en estándares de codificación.

DOM Scripting es una manera más exacta para describir la manipulación de documentos y hojas de estilo del W3C usando Document Object Model. DHTML Considerando que se refiere únicamente a los documentos web, DOM de secuencias de comandos se puede utilizar en combinación con cualquier marca-up documento usando cualquier lenguaje que soporte la API DOM . En el caso de documentos web, la ubicuidad de JavaScript lo convierte en la mejor opción para DOM Scripting.

un artículo presentado por Jacques Goudreau


Descargo de responsabilidad:Nuestro sitio web no es responsable por el contenido de este artículo. Webarticles es un recurso de información gratuito.
Importante: Este artículo "Los orígenes de JavaScript, DOM" fue traducida por un software automático. Sentimos pena por los errores de ortografía que pueda haber ocurrido. Gracias por su comprensión.


Online: 341 users browsing the articles directory