Generalizacion de JavaScript
Se utiliza principalmente del lado del cliente, implementado como parte de un navegador web permitiendo mejoras en la interfaz de usuario y p谩ginas web din谩micas y JavaScript del lado del servidor (Server-side JavaScript o SSJS). Su uso en aplicaciones externas a la web, por ejemplo en documentos PDF, aplicaciones de escritorio (mayoritariamente widgets) es tambi茅n significativo.
Desde 2012, todos los navegadores modernos soportan completamente ECMAScript 5.1, una versi贸n de JavaScript. Los navegadores m谩s antiguos soportan por lo menos ECMAScript 3. La sexta edici贸n se liber贸 en julio de 2015.
Inspiracion de JavaScript
Todos los navegadores modernos interpretan el c贸digo JavaScript integrado en las p谩ginas web. Para interactuar con una p谩gina web se provee al lenguaje JavaScript de una implementaci贸n del Document Object Model (DOM). Javascript es el 煤nico lenguaje de programaci贸n que entienden de forma nativa los navegadores.
Para que se utilizaba tradicionalmente JavaScript
Tradicionalmente se ven铆a utilizando en p谩ginas web HTML para realizar operaciones y 煤nicamente en el marco de la aplicaci贸n cliente, sin acceso a funciones del servidor. Actualmente es ampliamente utilizado para enviar y recibir informaci贸n del servidor junto con ayuda de otras tecnolog铆as como AJAX. JavaScript se interpreta en el agente de usuario al mismo tiempo que las sentencias van descarg谩ndose junto con el c贸digo HTML.
Desde el lanzamiento en junio de 1997 del est谩ndar ECMAScript 1, han existido las versiones 2, 3 y 5, que es la m谩s usada actualmente (la 4 se abandon贸). En junio de 2015 se cerr贸 y public贸 la versi贸n ECMAScript 6.
Nacimiento de JavaScript
JavaScript fue desarrollado originalmente por Brendan Eich de Netscape con el nombre de Mocha, el cual fue renombrado posteriormente a LiveScript, para finalmente quedar como JavaScript. El cambio de nombre coincidi贸 aproximadamente con el momento en que Netscape agreg贸 compatibilidad con la tecnolog铆a Java en su navegador web Netscape Navigator en la versi贸n 2002 en diciembre de 1995. La denominaci贸n produjo confusi贸n, dando la impresi贸n de que el lenguaje es una prolongaci贸n de Java, y fue considerada por muchos como una estrategia de mercadotecnia de Netscape para obtener prestigio e innovar en el 谩mbito de los nuevos lenguajes de programaci贸n web.
«JAVASCRIPT» es una marca registrada de Oracle Corporation.11 Es usada con licencia por los productos creados por Netscape Communications y entidades actuales como la Fundaci贸n Mozilla.
Microsoft dio como nombre a su dialecto de JavaScript «JScript», para evitar problemas relacionadas con la marca. JScript fue adoptado en la versi贸n 3.0 de Internet Explorer, liberado en agosto de 1996, e incluy贸 compatibilidad con el Efecto 2000 con las funciones de fecha, una diferencia de los que se
«JAVASCRIPT» es una marca registrada de Oracle Corporation.11 Es usada con licencia por los productos creados por Netscape Communications y entidades actuales como la Fundaci贸n Mozilla.
Porque microsoft le dio ese nombre
Microsoft dio como nombre a su dialecto de JavaScript «JScript», para evitar problemas relacionadas con la marca. JScript fue adoptado en la versi贸n 3.0 de Internet Explorer, liberado en agosto de 1996, e incluy贸 compatibilidad con el Efecto 2000 con las funciones de fecha, una diferencia de los que se
basaban en ese momento. Los dialectos pueden parecer tan similares que los t茅rminos «JavaScript» y «JScript» a menudo se utilizan indistintamente, pero la especificaci贸n de JScript es incompatible con la de ECMA en muchos aspectos.
Para evitar estas incompatibilidades, el World Wide Web Consortium dise帽贸 el est谩ndar Document Object Model (DOM, o Modelo de Objetos del Documento en espa帽ol), que incorporan Konqueror, las versiones 6 de Internet Explorer y Netscape Navigator, Opera la versi贸n 7, Mozilla Application Suite y Mozilla Firefox desde su primera versi贸n.[cita requerida]
Para evitar estas incompatibilidades, el World Wide Web Consortium dise帽贸 el est谩ndar Document Object Model (DOM, o Modelo de Objetos del Documento en espa帽ol), que incorporan Konqueror, las versiones 6 de Internet Explorer y Netscape Navigator, Opera la versi贸n 7, Mozilla Application Suite y Mozilla Firefox desde su primera versi贸n.[cita requerida]
De donde proviene el nombre
En 1997 los autores propusieron JavaScript para que fuera adoptado como est谩ndar de la European Computer Manufacturers 'Association ECMA, que a pesar de su nombre no es europeo sino internacional, con sede en Ginebra. En junio de 1997 fue adoptado como un est谩ndar ECMA, con el nombre de ECMAScript. Poco despu茅s tambi茅n como un est谩ndar ISO.
JavaScript en el lado servidor
Netscape introdujo una implementaci贸n de script del lado del servidor con Netscape Enterprise Server, lanzada en diciembre de 1994 (poco despu茅s del lanzamiento de JavaScript para navegadores web).A partir de mediados de la d茅cada de los 2000, ha habido una proliferaci贸n de implementaciones de JavaScript para el lado servidor. Node.js es uno de los notables ejemplos de JavaScript en el lado del servidor, siendo usado en proyectos importantes.
Desarrollos posteriores
En junio de 2015 se cerr贸 y public贸 el est谩ndar ECMAScript con un soporte irregular entre navegadores y que dota a JavaScript de caracter铆sticas avanzadas que se echaban de menos y que son de uso habitual en otros lenguajes como, por ejemplo, m贸dulos para organizaci贸n del c贸digo, verdaderas clases para programaci贸n orientada a objetos, expresiones de flecha, iteradores, generadores o promesas para programaci贸n as铆ncrona. La versi贸n 7 de ECMAScript se conoce como ECMAScript 2016, y es la 煤ltima versi贸n disponible, publicada en junio de 2016. Se trata de la primera versi贸n para la que se usa un nuevo procedimiento de publicaci贸n anual y un proceso de desarrollo abierto.
JavaScript en p谩ginas web
El uso m谩s com煤n de JavaScript es escribir funciones embebidas o incluidas en p谩ginas HTML y que interact煤an con el Document Object Model (DOM o Modelo de Objetos del Documento) de la p谩gina. Algunos ejemplos sencillos de este uso son:
Cargar nuevo contenido para la p谩gina o enviar datos al servidor a trav茅s de AJAX sin necesidad de recargar la p谩gina (por ejemplo, una red social puede permitir al usuario enviar actualizaciones de estado sin salir de la p谩gina).
- Animaci贸n de los elementos de p谩gina, hacerlos desaparecer, cambiar su tama帽o, moverlos, etc.
- Contenido interactivo, por ejemplo, juegos y reproducci贸n de audio y v铆deo.
- Validaci贸n de los valores de entrada de un formulario web para asegurarse de que son aceptables antes de ser enviado al servidor.
- Transmisi贸n de informaci贸n sobre los h谩bitos de lectura de los usuarios y las actividades de navegaci贸n a varios sitios web. Las p谩ginas Web con frecuencia lo hacen para hacer an谩lisis web, seguimiento de anuncios, la personalizaci贸n o para otros fines.
Un navegador web es, con mucho, el entorno de acogida m谩s com煤n para JavaScript. Los navegadores web suelen crear objetos no nativos, dependientes del entorno de ejecuci贸n, para representar el Document Object Model (DOM) en JavaScript. El servidor web es otro entorno com煤n de servicios. Un servidor web JavaScript suele exponer sus propios objetos para representar objetos de petici贸n y respuesta HTTP, que un programa JavaScript podr铆a entonces interrogar y manipular para generar din谩micamente p谩ginas web.
Debido a que JavaScript es el 煤nico lenguaje por el que los m谩s populares navegadores comparten su apoyo, se ha convertido en un lenguaje al que muchos frameworks en otros lenguajes compilan, a pesar de que JavaScript no fue dise帽ado para tales prop贸sitos. A pesar de las limitaciones de rendimiento inherentes a su naturaleza din谩mica, el aumento de la velocidad de los motores de JavaScript ha hecho de este lenguaje un entorno para la compilaci贸n sorprendentemente factible.
Debido a que JavaScript es el 煤nico lenguaje por el que los m谩s populares navegadores comparten su apoyo, se ha convertido en un lenguaje al que muchos frameworks en otros lenguajes compilan, a pesar de que JavaScript no fue dise帽ado para tales prop贸sitos. A pesar de las limitaciones de rendimiento inherentes a su naturaleza din谩mica, el aumento de la velocidad de los motores de JavaScript ha hecho de este lenguaje un entorno para la compilaci贸n sorprendentemente factible.
Motor JavaScript
Un motor de JavaScript (tambi茅n conocido como int茅rprete de JavaScript o implementaci贸n JavaScript) es un int茅rprete que interpreta el c贸digo fuente de JavaScript y ejecuta la secuencia de comandos en consecuencia. El primer motor de JavaScript fue creado por Brendan Eich en Netscape Communications Corporation, para el navegador web Netscape Navigator. El motor, denominado SpiderMonkey, est谩 implementado en C. Desde entonces, ha sido actualizado (en JavaScript 1.5) para cumplir con el ECMA-262 edici贸n 3. El motor Rhino, creado principalmente por Norris Boyd (antes de Netscape, ahora en Google) es una implementaci贸n de JavaScript en Java. Rhino, como SpiderMonkey, es compatible con el ECMA-262 edici贸n 3.