Resumen : Los sitios web y aplicaciones web modernos tienden a depender de JavaScript extenso en el lado del cliente para proporcionar una rica interactividad. Específicamente, devolver datos u obtener una respuesta de un script del lado del servidor (o sistema de datos) a través de una solicitud asincrónica sin actualizar la página. En este artículo, aprenderá cómo los marcos de JavaScript hacen que sea más rápido y más fácil crear sitios web y aplicaciones web interactivos y responsivos.
Introducción : JavaScript es un lenguaje de secuencias de comandos orientado a objetos que se ha utilizado durante mucho tiempo como la interfaz de secuencias de comandos del lado del cliente preferida para las aplicaciones de navegador web. JavaScript permite a los desarrolladores web trabajar mediante programación con objetos en páginas web, proporcionando una plataforma para manipular estos objetos de la nada. Cuando se introdujo JavaScript por primera vez, se usaba a menudo para proporcionar funciones triviales, como relojes y texto desplazable en la barra de estado del navegador. Otra característica común es el "enlace de desplazamiento", que cambia el color del texto o la imagen de fondo cuando el usuario pasa el mouse sobre el objeto. Sin embargo, en los últimos años, Ajax ha aportado nuevas interacciones a la programación de redes y JavaScript ha evolucionado y se ha vuelto más útil. Antes de Ajax, cualquier procesamiento del lado del servidor o acceso a la base de datos requería que se "actualizara" toda la página o que el navegador representara una nueva página. Esto no sólo es lento y frustrante para los usuarios, sino que también desperdicia ancho de banda y recursos.
Ajax es JavaScript y XML asincrónicos. Aunque hacer referencia a XML ya no es válido, Ajax puede responder a datos en varios otros formatos además de XML, como JSON (notación de objetos JavaScript). El principio de funcionamiento de Ajax es enviar una solicitud HTTP al servidor web de forma asincrónica, sin actualizar ni representar toda la página, solo el contenido de la respuesta. En cambio, los desarrolladores suelen utilizar operaciones DOM (modelo de objetos de documento) para modificar partes de una página web, y los datos devueltos por la respuesta HTTP reflejarán estos cambios.
¿Qué es un marco de JavaScript?
JavaScript en sí es un lenguaje muy poderoso y no necesita ningún marco adicional para crear aplicaciones enriquecidas de Internet (RIA) impulsadas por él. Sin embargo, trabajar con JavaScript no es una tarea fácil, principalmente debido a diversas complicaciones que surgen al intentar brindar soporte para múltiples navegadores. Al igual que HTML y CSS, diferentes navegadores ejecutan JavaScript de manera diferente, por lo que asegurarse de que su código JavaScript sea compatible con todos los navegadores puede ser una pesadilla.
Un marco o biblioteca de JavaScript es en realidad un conjunto de herramientas y funciones que facilitan la producción de código JavaScript compatible con varios navegadores. Cada biblioteca ha sido probada rigurosamente en las últimas versiones de muchos navegadores web populares. Por lo tanto, puede estar seguro de que al utilizar cualquiera de estos marcos, su RIA basado en JavaScript será generalmente coherente en todos los navegadores y plataformas.
Dejando a un lado los problemas de compatibilidad del navegador, los marcos de JavaScript facilitan la escritura de código para obtener, atravesar y manipular elementos DOM. No solo proporcionan una función rápida para obtener una referencia a un elemento DOM, sino que también permiten la conexión en cadena de funciones transversales DOM para encontrar elementos principales, secundarios o hermanos en cualquier profundidad. Finalmente, el framework proporciona una serie de funciones que facilitan la manipulación de estos objetos, permitiendo cambiar, agregar, eliminar su contenido o manipular el estilo de la clase para afectar la apariencia del elemento.
Otra característica importante del marco JavaScript es su mejor soporte para el manejo de eventos. Debido a las diferentes implementaciones entre navegadores, el manejo de eventos entre navegadores puede ser una pesadilla. Por lo tanto, los marcos de JavaScript a menudo envuelven eventos del navegador y proporcionan una serie de funciones útiles entre navegadores para manejarlos. Algunos marcos también proporcionan eventos estandarizados que representan series de códigos de teclas del teclado (como la tecla Esc, la tecla Enter, el cursor, etc.).
Todas estas características son muy útiles y los marcos de JavaScript han jugado un papel importante en sus populares aplicaciones Ajax recientes. Al igual que con otros aspectos de JavaScript, cada navegador web tiende a admitir Ajax de una manera diferente, y hacer que Ajax sea compatible con todos los navegadores sería mucho trabajo. Casi todos los marcos de JavaScript incluyen algún tipo de biblioteca Ajax, que generalmente proporciona objetos de solicitud y respuesta de Ajax, actualiza elementos DOM después de evaluar las respuestas y realiza encuestas para una solicitud específica.
Características típicas de un marco de JavaScript
Ahora veamos algunas de las características que tienen la mayoría de los marcos de JavaScript. Estas características incluyen:
Para explicar mejor estas características, daré un ejemplo de uno o más de los siguientes marcos de JavaScript: Prototype, jQuery, YUI, ExtJS y MooTools. Si bien la implementación y la sintaxis de cada marco son diferentes, los conceptos son, en términos generales, los mismos. Cada marco tiene una referencia API detallada a la que puede consultar al decidir cómo utilizar las funciones de esas bibliotecas específicas.