TOP

JavaScript


Generalizacion de JavaScript


JavaScript (abreviado com煤nmente JS) es un lenguaje de programaci贸n interpretado, dialecto del est谩ndar ECMAScript. Se define como orientado a objetos,​ basado en prototipos, imperativo, d茅bilmente tipado y din谩mico.

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


JavaScript se dise帽贸 con una sintaxis similar a C++ y Java,​ aunque adopta nombres y convenciones del lenguaje de programaci贸n Java. Sin embargo, Java y JavaScript tienen sem谩nticas y prop贸sitos diferentes. Su relaci贸n es puramente comercial, tras la compra del creador de Java (Sun Microsystems) de Nestcape Navigator (creador de LiveScript) y el cambio de nombre del lenguaje de programaci贸n.

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.

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]

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




JavaScript se ha convertido en uno de los lenguajes de programaci贸n m谩s populares en internet y m谩s usados. Al principio, sin embargo, muchos desarrolladores renegaban del lenguaje porque el p煤blico al que va dirigido lo formaban publicadores de art铆culos y dem谩s aficionados, entre otras razones. La llegada de Ajax devolvi贸 JavaScript a la fama y atrajo la atenci贸n de muchos otros programadores. Como resultado de esto hubo una proliferaci贸n de un conjunto de frameworks y bibliotecas de 谩mbito general, mejorando las pr谩cticas de programaci贸n con JavaScript, y aumentado el uso de JavaScript fuera de los navegadores web, como se ha visto con la proliferaci贸n de entornos JavaScript del lado del servidor. En enero de 2009, el proyecto CommonJS fue inaugurado con el objetivo de especificar una biblioteca para uso de tareas comunes principalmente para el desarrollo fuera del navegador web.​

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.

Dado que el c贸digo JavaScript puede ejecutarse localmente en el navegador del usuario (en lugar de en un servidor remoto), el navegador puede responder a las acciones del usuario con rapidez, haciendo una aplicaci贸n m谩s sensible. Por otra parte, el c贸digo JavaScript puede detectar acciones de los usuarios que HTML por s铆 sola no puede, como pulsaciones de teclado. Las aplicaciones como Gmail se aprovechan de esto: la mayor parte de la l贸gica de la interfaz de usuario est谩 escrita en JavaScript, enviando peticiones al servidor (por ejemplo, el contenido de un mensaje de correo electr贸nico). La tendencia cada vez mayor por el uso de la programaci贸n Ajax explota de manera similar esta t茅cnica.

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.



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.