Javascript

> Temas > Javascript
Editar

Todo lo relacionado con Javascript como manuales, aplicaciones prácticas, preguntas y respuestas y más. Aprende y profundiza en Javascript, el lenguaje más importante en la web, esencial para el desarrollo frontend.

Javascript es un lenguaje poderoso, capaz de aportar soluciones eficaces en la mayoría de los ámbitos de la tecnología.

Es especialmente importante porque es el único lenguaje de programación que entienden los navegadores, con el que se desarrolla la parte de la funcionalidad frontend en sitios web y aplicaciones web modernas. Pero también es fundamental en muchos otros tipos de desarrollos. Sus usos más importantes son los siguientes:

  • Desarrollo de sitios web del lado del cliente (frontend, en el navegador)
  • Desarrollo de todo tipo de aplicaciones gracias a la plataforma NodeJS
  • Desarrollo de aplicaciones para dispositivos móviles, híbridas o que compilan a nativo
  • Desarrollo de aplicaciones de escritorio para sistemas Windows, Linux y Mac, pudiendo escribir un código compatible con todas las plataformas.

Por tanto, podemos considerar a Javascript el lenguaje universal, pues es el que más tipos de aplicaciones y usos que puede abarcar en la actualidad. Es por ello que resulta un lenguaje muy recomendable para aprender, ya que nos ofrece capacidades para usarlo en todo tipo de proyectos, siendo que algunos de ellos son parcela exclusiva de Javascript.

Javascript es un lenguaje levemente tipado, que se presta bien para aprender a programar, ya que dar los primeros pasos es relativamente sencillo. Sin embargo, cuando el estudiante profundiza, sus características lo hacen diferente de otros lenguajes y requiere un estudio en profundidad para poder avanzar con garantías en cualquier aplicación avanzada.

Populares Librerías como jQuery o React, o frameworks como Angular, Vue o Ionic están basados en Javascript, sin olvidarnos de estándares ampliamente usados como Web Components y librerías basadas en ellos como Stencil o LitElement. Para abordar cualquiera de estas herramientas, y muchas otras, el aprendizaje sólido Javascript es un importante requisito.

Más información:

Historia de Javascript

Javascript es un lenguaje creado por Netscape, la compañía propietaria de un navegador con el mismo nombre hoy desaparecido, que fue precursor del actual Firefox. Su lanzamiento se produjo en 1995 en la versión de Netscape 2.0. Su autor, un programador llamado Brendan Eich, se dice que lo creó en el tiempo de una semana.

Originalmente Javascript tomó el nombre de Mocha, aunque antes de su lanzamiento fue renombrado a LiveScript. Sin embargo, ese nombre se cambiaría finalmente a Javascript como consecuencia de un acuerdo entre Netscape y Sun Microsystems, que por aquella época era la propietaria del lenguaje Java. En virtud de ese acuerdo Netscape agregó compatibilidad para Java en su navegador, a la vez que tomaba el nombre de Javascript para su lenguaje. Esta denominación, sin embargo, ha provocado históricamente toda una serie de confusiones entre la comunidad, puesto que Javascript no tiene nada que ver con Java.

Para entender el enfoque de Javascript nos tenemos que trasladar a los primeros años de la web, en los que las páginas eran principalmente contenido y enlaces, puesto que por aquel entonces solo existía HTML. Sin embargo, era necesario aportar algún grado de interacción con el usuario, que fuera capaz de cubrir las necesidades básicas de los desarrolladores en aquella época. Así que se creó un lenguaje capaz de ejecutar pequeños programas en el contexto de una página web, con un juego de instrucciones capaz de interaccionar con el usuario como respuesta a las acciones en la página. Pocos iban a suponer por entonces el futuro que le esperaba al lenguaje.

Entre tanto, la idea de un lenguaje liviano que se ejecutase en el navegador tuvo éxito y otros fabricantes la implementaron en sus clientes web. Es el caso de Microsoft, que bautizó a su lenguaje como JScript y fue presentado en 1996 con Internet Explorer 3. Javascript y JScript eran compatibles entre si en un alto grado, pero igual que ocurría por aquel entonces con el lenguaje HTML, cada navegador hacía la guerra por su cuenta y construía su lenguaje innovando de la manera que le parecía oportuno.

Con el tiempo, las pequeñas diferencias entre Javascript y JScript se fueron haciendo más patentes y acabó representando un problema para desarrolladores y usuarios, que había que atajar. Para ello en 1997 se produjo un movimiento para la estandarización del lenguaje, que acabó en la creación de ECMAScript, que no es más que el estándar del lenguaje Javascript.

Hoy afortunadamente, el Javascript que entienden todos los navegadores es el mismo, marcado por el estándar de ECMASCript. Dicho estándar no pudo tomar el nombre de Javascript, ya que éste es una marca comercial, propiedad actual de Oracle.

Editar

ECMAScript, el estándar

ECMAScript es el estándar creado para homogeneizar lenguaje Javascript implementado en cada navegador. El trabajo de estandarización de Javascript comenzó en 1997 y continua evolucionando hasta la fecha.

ECMAScript realiza la especificación de Javascript, comenzando con la versión 1 hasta la versión 6, que es la más moderna en la implementación en navegadores. La versión ECMAScript 7, no obstante, ya se encuentra en proceso de especificación y algunas de sus funcionalidades ya están disponibles en algunos clientes web.

La organización que se encarga de esta estandarización es ECMA International, bajo pedido de Netscape. El nombre final del lenguaje fue acordado por los distintos fabricantes de navegadores, incluidos Netscape y Microsoft, junto con la propia ECMA.

Las versiones de ECMAScript se fueron sucediendo con rapidez los primeros años. ECMAScript 1 en 1997, ECMAScript 2 en el 98 y ECMAScript 3 en el 99. Sin embargo, luego hubo un parón importante, incluso una versión abandonada (ECMAScript 4) porque sus propuestas no acabaron siendo apoyadas por unanimidad. La siguiente versión ECMAScript 5 se presentó en 2009 y aún hoy es la única que soportan todos los navegadores existentes en la actualidad (si se incluye Internet Explorer).

ECMAScript 5 supuso un avance importante con respecto a versiones anteriores. Incluyó el soporte para JSON, los getters y setters, el modo estricto y otra serie de mejoras, a la vez que se aclaró cómo debía de ser implementado el modelo de objetos en los navegadores (DOM, Document Object Model). Sin embargo, el lenguaje todavía tenía mucho potencial de mejora y las necesidades de las aplicaciones web dejaron patente que era necesaria una remodelación más profunda.

La especificación del estándar más revolucionaria ha sido ECMAScript 6, también conocida como ES6 y cuyo nombre oficial es ECMAScript 2015, debido a su año de presentación. Esta versión mejoró de manera notable la orientación de objetos de Javascript, presentando clases y objetos en toda regla. También introdujo los módulos, toda una nueva gama de operadores, funciones lambda, iteradores, etc. ES6 está disponible hoy en todos los navegadores, aunque todavía algunos dispositivos u ordenadores viejos no lo puedan interpretar por disponer solamente de clientes web obsoletos.

A partir de ES6 se adquirió el compromiso de presentar nuevas especificaciones de ECMAScript cada año. Por lo que ES7 fue presentado en 2016, ES8 en 2017 y ES9 en 2018. Cada una de ella fue incorporando viersas novedades, aunque lo cierto es que los navegadores no las han ido implementando de manera generalizada.

Editar

Javascript, el lenguaje del lado del cliente

A Javascript se le denomina lenguaje "del lado del cliente" porque se ejecuta en contexto del navegador (cliente web), en contraposición a lenguajes como PHP, que se ejecutan del "lado del servidor". En el lado del cliente es el navegador el que soporta la carga de procesamiento y también es el que nos aporta los recursos con los que contamos para programar las aplicaciones.

Desde hace años, gracias a su compatibilidad con todos los navegadores existentes en el mercado, se ha convertido en un estándar para la programación del lado del cliente.

Con Javascript podemos crear efectos especiales en las páginas y definir interactividades con el usuario. El navegador del cliente es el encargado de interpretar las instrucciones Javascript y ejecutarlas para realizar estos efectos e interactividades, de modo que el mayor recurso, con que cuenta este lenguaje es el propio navegador y todos los elementos que hay dentro de una página (que no es poco).

De manera adicional, gracias a las API Javascript del HTML5, que están disponibles en los navegadores actuales de ordenadores y dispositivos, podemos acceder a todo tipo de recursos adicionales, como la cámara, espacio para almacenamiento de datos, creación de gráficos basados en vectores y mapas de bits, flujos de datos con servidores, etc. Con todo ello se han multiplicado las posibilidades del lenguaje.

Editar

Javascript como lenguaje integrador

Aunque Javascript surgió con el objetivo inicial de programar ciertos comportamientos sobre las páginas web, respondiendo a la interacción del usuario y la realización de automatismos sencillos, lo cierto es que hoy sus ámbitos de trabajo son mucho mayores. Ha dejado de ser un "lenguaje de scripting" del lado del cliente, para convertirse en un lenguaje integrador de múltiples ámbitos y prestaciones.

Encontramos Javascript, ya no solo en la Web, también es nativo en sistemas operativos como Windows. También es capaz de hacer programas de consola, bajo la plataforma NodeJS, así como programas de escritorio multiplataforma (Windows, Linux y Mac). Paralelamente, se puede usar Javascript para el desarrollo de aplicaciones para dispositivos (apps híbridas) y aplicaciones que compilan a nativo.

En fin, aquella visión de Javascript "utilizado para crear pequeños programitas encargados de realizar acciones dentro del ámbito de una página web" se ha quedado muy pequeña. Hoy las aplicaciones web más complejas están desarrolladas con altas dosis de Javascript. Aplicaciones tales como Gmail, Netflix, Facebook, Twitter, Outlook... Editores de código como Atom o VScode también están desarrollados con Javascript. Aplicaciones de mensajería como Slack o terminal como Hyper. Sin olvidarnos de un número enorme de Apps para móviles, o juegos tan exitosos como Candy Crush.

Editar

Javascript

Manuales

Manual de JavaScript
Este manual te adentra en el lenguaje Javascript. Aprenderás Javascript desde cero, variables, tipos, estructuras de control, funciones, etc. Además aprenderás cómo usar Javascript en el ámbito de una página web.
Manual de Angular
Este es un manual de Angular que te introduce en los conceptos más básicos y te lleva paso a paso en el desarrollo avanzado de componentes, uso de directivas, servicios y mucho más.
Manual de jQuery
Este es un completo manual de jQuery, la librería Javascript para manipulación del DOM. Aquí encontrarás explicaciones y ejemplos de todos los asuntos relacionados con jQuery, básicos y avanzados.
Manual de NodeJS
Manual de NodeJS, que te enseñará a desarrollar usando Javascript y la plataforma Node, programas de consola. Es un manual para desarrolladores Javascript que desean aprender las particularidades del desarrollo con Node.JS.
Taller de Javascript
Manual práctico de Javascript en el que podemos encontrar diversos scripts de variada utilidad comentados y listos para utilizar en...
Manual de React
Este es el manual de la librería React, una popular bibliotecta Javascript para el desarrollo de interfaces de usuario, con la que también podemos crear aplicaciones frontend modernas.
Manual de Progressive Web Apps
En el Manual de Progressive Web Apps vamos a abordar una de las novedades más destacadas para la realización de...
Manual de Web Components
En este manual vamos a conocer el nuevo estándar de los Web Components, una nueva tecnología implementada en navegadores modernos...
Formularios y Javascript
Manual que explica todos los aspectos relacionados con el control de elementos de formulario, del lado del cliente, con Javascript.
Videotutorial de Javascript
Un videotutorial de Javascript, para que cualquier persona con un mínimo de interés pueda aprender a programar páginas web del...
Control de ventanas secundarias, popups, con Javascript
Aprendemos todos los entresijos de Javascript para controlar las ventanas secundarias, también llamadas popups. Aprendemos a abrirlas, cerrarlas, pasar datos...
Taller de Programación DOM Javascript
Una serie de artículos prácticos con temas acerca de la programación Javascript, focalizada en el DOM (Document Object Model) o...
Taller de jQuery
Ejercicios prácticos para aprender jQuery y la programación aplicaciones web enriquecidas del lado del cliente. Básicamente se trata de una...
Librería php.js: las funciones PHP en Javascript
Manual que presenta la librería php.js, que ofrece cientos de funciones nativas de PHP en la plataforma Javascript. Ejemplos de...
Manual de Webpack
Este es el manual de Webpack, la herramienta más importante para el desarrollo frontend moderno. Webpack es originalmente un empaquetador...
Control de frames con Javascript
Tratamos los mecanismos que nos ayudan a controlar con Javascript lo que ocurre en páginas web realizadas con frames. Accesos...
Manual de ES6
En este manual vamos a abordar el aprendizaje de ECMAScript 2015, la versión 6 del estándar de Javascript conocida como...
Manual de jQueryUI
Manual que explica cómo utilizar jQueryUI, una librería Javascript para la creación de interfaces de usuario enriquecias del lado del...
Manual de Modernizr
Manual de Modernizr, librería Javascript para la detección de capacidades de los navegadores, que tiene como objetivo el desarrollo de...
Videotutorial de jQuery
Videotutorial de jQuery para aprender a hacer páginas dinámicas del lado del cliente. Una colección de vídeos para aprender paso...
Manual de Handlebars
Manual de Handlebars, un sencillo sistema de plantillas Javascript basado en Mustache Templates. Handlebars sirve para generar HTML a partir...
Manual de PhoneGap
Aprende a desarrollar aplicaciones para móviles, afronta la gran variedad de plataformas móviles a través de Phonegap.
Bindows, un framework AJAX
Presentación y explicaciones para majenar Bindows, una herramienta para programadores que permite crear aplicaciones web con una interfaz de usuario...
Manual de jQuery Mobile
Manual de jQuery Mobile, el framework para el desarrollo compatible de sitios web orientados a dispositivos móviles, basado en el...
Desarrollo en Javascript del lado del cliente
En este Manual de Javascript explicamos todos los recursos con los que cuenta un programador para manipulación de una página...
Manual de Mootools
Manual con el que podreis aprender a utilizar Mootools, un framework Javascript, que sirve para crear fácilmente código Javascript independiente...

Más manuales

Tenemos 20 manuales más sobre Javascript

Páginas dinámicas
Introducción al concepto de desarrollo de aplicaciones y sitios web con páginas dinámicas. Qué son los lenguajes de programación del lado cliente y servidor, cuáles son las principales tecnologías que disponemos.
Curso gratuito 5 días de HTML5
Grabaciones de las clases del Curso Gratuito de HTML5 impartidas por EscuelaIT en marzo de 2014. En este curso se...
Tratamiento de imágenes en Javascript
Te enseña a trabajar con imágenes en páginas web utilizando javascript para hacer efectos interesantes como rollovers.
Manual de Ionic
Este es el manual de Ionic 2 en el que explicaremos cómo crear apps híbridas para móviles. Con Javascript y...
Manual de Canvas del HTML 5
Manual del elemento Canvas del HTML 5 en el que aprenderemos a dibujar sobre los lienzos, utilizando Javascript y el...
Manual de Firebase
En este manual vamos a conocer Firebase, servicio de Google que nos proporciona un backend ya listo para el desarrollo...
Manual de Polymer 3
Este es el Manual de Polymer 3, ideal para aprender a usar esta librería para crear componentes personalizados y aplicaciones usando el estándar Javascript de Web Components.
Taller de HTML5
Artículos prácticos sobre la creación de páginas web con el estándar HTML5. Aplicación práctica de las diversas tecnologías relacionadas con...
Manual de Firebug para debug en Javascript
Manual de la extensión de Firefox Firebug, que sirve para hacer debug en Javascript. Enseñamos las funcionalidades de Firebug que...
Manual de Processing.js
Manual de Processing.js, un framework Javascript para dibujo y animación en el elemento Canvas del HTML5. Explicaciones y ejemplos para...
Manual de AngularJS
Este es un manual que nos introduce en el framework Javascript AngularJS, un conjunto de librerías de código abierto que...
Manual de BackboneJS
Manual para entender el framework Javascript BackboneJS y aprender a usarlo para el desarrollo de proyectos basados en patrones de...
Manual de Polymer 2
El manual de Polymer 2 te sirve para aprender a desarrollar componentes y aplicaciones bajo la librería de Google para el desarrollo frontend con el estándar de los Web Components.
Manual del API de Web Resizer
En este Manual explicamos con detalle el API de Web Resizer, un sistema con el que puedes proveer en tu...
Manual de Polymer
Manual de Polymer 1, una librería para el desarrollo sencillo y rápido de sitios y aplicaciones web frontend basadas en el estándar Web Components.
Introducción a YUI
Manual que pretende ofrecer una serie de artículos teóricos y prácticos de las librerías YUI, un framework Javascript y CSS...
Plugin Calendario jQuery
Creación de un plugin jQuery para implementar un calendario dinámico, o datepicker, que permita seleccionar fechas, con programación Javascript.
Manual de IE Developer Tools
Manual de las herramientas para desarrolladores de Internet Explorer, Developer Tools, con las que podemos inspeccionar los elementos de la...
Nawte editor de texto WYSIWYM con Mootools
Manual en el que veremos qué es Nawte, el componente Mootools, y cómo podremos utilizarlo para crear un editor de...
Taller de Mootools
Compilación de artículos prácticos con el framework Javascript Mootools. Diversos scripts comentados y listos para usar en tus páginas web...

Canales de eventos y clases en directo

Temas relacionados

Preguntas y respuestas

Se han recibido 138 faqs en Javascript

Hacer una pregunta