Frameworks de JS

Bastian Castro

Duoc UC

016-06-2025

Resumen

Soy Bastian Castro y en este informe hablo sobre frameworks y bibliotecas de JavaScript utilizados para el desarrollo web. Se explicaron AngularJS, React, Vue.js, Ember.js, Node.js, Next.js y Backbone.js.

AngularJS

Objetivo

AngularJS es un framework estructural para aplicaciones web dinámicas, que permite crear aplicaciones de una sola página mediante la extensión de HTML para hacer el desarrollo más expresivo y sencillo.

Funcionalidad

  • Enlace bidireccional de datos que sincroniza automáticamente la vista y el modelo.
  • Uso de controladores para gestionar la lógica y comportamiento de la aplicación.
  • Directivas que permiten extender y transformar el HTML para crear componentes reutilizables.
  • Inyección de dependencias para modularizar y gestionar componentes fácilmente.

React

Objetivo

React es una biblioteca de JavaScript para construir interfaces de usuario. Su objetivo principal es facilitar la creación de aplicaciones web interactivas y dinámicas mediante la construcción de componentes reutilizables y eficientes.

Funcionalidad

  • Creación de interfaces de usuario basadas en componentes reutilizables.
  • Uso del DOM virtual para mejorar el rendimiento y actualizar solo los cambios necesarios.
  • Manejo del estado y propiedades para controlar la interacción y datos de la aplicación.
  • Renderizado declarativo que facilita la construcción y mantenimiento de la UI.

Vue.js

Objetivo

Vue.js es un framework progresivo de JavaScript para construir interfaces de usuario. Su objetivo es ser adaptable, fácil de integrar en proyectos existentes y capaz de manejar aplicaciones web complejas mediante una arquitectura basada en componentes.

Funcionalidad

  • Construcción de interfaces basadas en componentes reactivos y reutilizables.
  • Sistema de enlace de datos bidireccional para sincronizar vista y modelo fácilmente.
  • Utilización del DOM virtual para optimizar el rendimiento de la aplicación.
  • Integración sencilla con otras bibliotecas o proyectos existentes.

Ember.js

Objetivo

Ember.js es un framework de JavaScript de código abierto diseñado para construir aplicaciones web modernas y escalables. Su objetivo es proporcionar una estructura coherente y herramientas integradas que faciliten el desarrollo de aplicaciones de una sola página (SPA) con una experiencia de usuario rica y fluida.

Funcionamiento

  • Convención sobre configuración: Ember adopta un enfoque de "convención sobre configuración", proporcionando una estructura de proyecto predefinida que reduce la necesidad de decisiones repetitivas y acelera el desarrollo.
  • Ember CLI: Una herramienta de línea de comandos que automatiza tareas comunes como la creación de proyectos, generación de componentes y pruebas, mejorando la productividad del desarrollador.
  • Enrutamiento avanzado: Ember ofrece un motor de enrutamiento robusto que maneja rutas anidadas, carga de datos asíncrona y transiciones de URL, facilitando la creación de aplicaciones SPA complejas.
  • Ember Data: Una biblioteca integrada que simplifica la gestión de datos, permitiendo operaciones CRUD y manejo de relaciones entre modelos de manera coherente.
  • Pruebas integradas: Ember incluye herramientas para realizar pruebas unitarias, de integración y de aceptación, asegurando la calidad del código y la estabilidad de la aplicación.

Node.js

Objetivo

Node.js es un entorno de ejecución para JavaScript que permite ejecutar código fuera del navegador, orientado a crear aplicaciones de red escalables y rápidas, especialmente servidores y aplicaciones backend.

Funcionalidad

  • Ejecuta JavaScript en el servidor.
  • Modelo de entrada/salida sin bloqueo y basado en eventos para alto rendimiento.
  • Construcción de servidores web, APIs y aplicaciones en tiempo real.
  • Gestor de paquetes npm para manejar dependencias y módulos externos.

Next.js

Objetivo

Next.js es un framework sobre React diseñado para construir aplicaciones web full‑stack eficientes y optimizadas. Su objetivo es abstraer y automatizar herramientas como empaquetado, compilación, enrutamiento y renderizado para que el desarrollador se concentre en la lógica y funcionalidad de la aplicación sin configuración compleja. :contentReference[oaicite:1]{index=1}

Funcionalidad

  • Renderizado híbrido: Server‑Side Rendering (SSR), Static Site Generation (SSG) e Incremental Static Regeneration (ISR) :contentReference[oaicite:2]{index=2}.
  • Enrutamiento basado en archivos en la carpeta pages/, con soporte para rutas estáticas y dinámicas :contentReference[oaicite:3]{index=3}.
  • División automática de código y optimización de imágenes, fuentes y scripts para mejorar el rendimiento :contentReference[oaicite:4]{index=4}.
  • Soporte integrado para TypeScript, CSS/SCSS, CSS‑in‑JS, API Routes y recarga en caliente (Fast Refresh) :contentReference[oaicite:5]{index=5}.

Backbone.js

Objetivo

Backbone.js es una biblioteca de JavaScript diseñada para estructurar aplicaciones web mediante el uso de modelos, colecciones, vistas y enrutadores. Su objetivo es proporcionar una estructura mínima para desarrollar aplicaciones dinámicas y mantener el código organizado y fácil de escalar.

Funcionalidad

  • Define modelos con datos y lógica de negocio, y vistas que reaccionan a los cambios.
  • Proporciona un sistema de eventos que conecta los datos con la interfaz de usuario.
  • Incluye un enrutador para manejar navegación y URLs en aplicaciones de una sola página (SPA).
  • Permite integrar con otras bibliotecas o backends RESTful fácilmente.

Conclusión

Las librerías JavaScript analizadas ofrecen soluciones prácticas para distintos desafíos en el desarrollo web. Moment.js y Math.js simplifican el manejo de fechas y cálculos complejos. Anime.js y Hammer.js mejoran la interacción y animación en interfaces. Chart.js, D3.js y Glimmer.js facilitan la visualización de datos y la creación de componentes eficientes. Estas herramientas son clave para construir aplicaciones modernas y dinámicas.

Referencias