JavaScript es uno de los tres grandes del alojamiento web: Además HTML (estructura de la página) y CSS (presentación), el lenguaje de programación orientado a objetos ofrece la dinamización del contenido. Pero JavaScript no sólo es aplicable en el contexto del diseño de páginas. Las aplicaciones del lado del servidor también se pueden controlar con JavaScript.
Orígenes de JavaScript
A pesar del nombre, JavaScript tiene poco que ver con Java. Originalmente, el lenguaje de scripting iba a llamarse LiveScript y fue desarrollado por Netscape para la interacción del Netscape Navigator con los applets Java (aplicaciones cliente Java). Al tratarse de software propietario, JavaScript representaba un factor de competitividad para empresas como Microsoft Dar. Estos respondieron al desarrollo de JavaScript con sus propias soluciones como el lenguaje de script JScript. Con el tiempo, sin embargo, JavaScript se convirtió en el principal lenguaje de programación para el lado del cliente y (además de php) dinamización del lado del servidor.
Dinamización del lado del cliente
Probablemente la función más utilizada de JavaScript es la posibilidad de dinamización del lado del cliente. El cliente es el navegador web. La dinamización del lado del cliente significa que los contenidos mostrados en el cliente son manipulados. El HTML es la descripción estática de la estructura de una presencia en la Web, el llamado Modelo de Objeto de Documento (DOM). Mientras que para el diseño separado de este "esqueleto" se utiliza CSS (Cascading Style Sheets), JavaScript ofrece la posibilidad de mover, eliminar o añadir elementos HTML.
Esta manipulación de DOM (DOM scripting) puede ser utilizada de muchas maneras. A través de los llamados manejadores de eventos, las funciones se vinculan primero a ciertos eventos. Pueden ser clics del usuario, puntos en el tiempo o la carga del sitio web. Utilizando los ID asignados a los elementos en HTML, los cambios basados en los eventos pueden ser activados. Esto puede incluir todo, desde la programación de formas simples y dinámicas o filtros de mesa hasta la incorporación de reproductores de vídeo o gráficos complejos y dinámicos.
JQuery: El JavaScript más sencillo
JavaScript es un ejemplo de lenguaje de programación orientado a objetos. Por lo tanto, el umbral de entrada para los diseñadores de páginas web sin experiencia es relativamente alto. Sin restringir (en gran medida) la funcionalidad de JavaScript, la biblioteca de JavaScript JQuery ofrece una sintaxis simplificada que permite crear los casos de uso más comunes de forma rápida y sencilla. Mientras que JavaScript ofrece una complejidad y una variabilidad similares a las de Java o Python al definir prototipos (en lugar de clases), instancias (objetos concretos) y métodos (funciones ligadas a objetos), JQuery limita el vocabulario y las estructuras. Los comandos tienen una estructura anidable para que la estructura pueda ser comprendida rápidamente. Por lo tanto, a menos que se trate de aplicaciones complejas e inusuales, lo más probable es que haya una solución simple en JQuery.
Dinamización del lado del servidor: AJAX y Node.js
Además de la manipulación de DOM, también se utiliza JavaScript para la comunicación con los servidores, como las consultas a las bases de datos. Desde 2009 existe node.js, un marco de trabajo para la dinamización del lado del servidor con JavaScript. Esto ya era posible antes de 2009, pero node.js permite una integración más fácil. Esto es una ventaja para los programadores de JavaScript, porque así ya no tienen que usar otros lenguajes como el php. Además, node.js también permite la paralelización de procesos. Esto es una ventaja, porque demasiados de estos llamados hilos pueden llevar a un estancamiento. Con node.js, las solicitudes se ejecutan a través de un solo hilo, lo que puede aumentar considerablemente el rendimiento.
Node.js es un ejemplo de las posibilidades del AJAX. El acrónimo significa un procedimiento llamado Asynchronous JavaScript and XML. Este principio permite recuperar el contenido de los servidores sin tener que recargar toda la página. Para muchos sitios web como YouTube, una recarga completa después de las solicitudes de vídeo o la carga de comentarios sería una gran desventaja. AJAX también es una solución al problema de la acumulación de solicitudes gracias al procesamiento asincrónico como se explicó anteriormente para Node.js.
Integración de JavaScript
La integración básica de JavaScript en las ofertas web funciona exactamente de la misma manera que la conexión con los archivos CSS. Así que hay dos posibilidades para esto: Por un lado, se puede usar JavaScript en la cabeza o en el cuerpo del documento HTML.