Estudio de Librerías JavaScript

Catálogo de las 66 librerías de JavaScript más populares (datos de junio 2023), extraído del artículo de Web Reactiva. Cada librería se agrupa por categoría (UI, visualización, backend, animaciones, testing, bundling, juegos…), con su categoría, stars de GitHub y caso de uso principal para elegir la herramienta correcta para tu proyecto. Incluye scripts minimalistas por categoría y el flujo animado de cómo elegir una librería.

Resumen con para qué y cómo, listo para pegar en tu OKF/Obsidian.

Agrupadas por categoría (36). La # es su puesto por popularidad (stars de GitHub). ⭐ = stars aproximadas (junio 2023).

🖥️ UI (11)

#LibreríaStarsPara qué / casos de uso
1React.js⭐209kInterfaces de usuario. Componentes reutilizables, Virtual DOM. SPA, React Native.
2Vue.js⭐204kUIs por componentes, reactividad eficiente. SPA, prototipado rápido.
7Ant Design⭐86kSistema de diseño React. UIs ricas y consistentes.
10Svelte.js⭐69kCompila a código que actualiza el DOM directo (sin Virtual DOM). Alto rendimiento.
15Angular⭐59kFramework completo (Google). Inyección de dependencias, plantillas. Apps de gran escala.
39Quasar⭐23kVue.js para SPA + móvil + escritorio (Cordova, Electron).
42Ember.js⭐22kConvenciones predefinidas, MVC, enrutado. Apps ambiciosas.
44Polymer.js⭐21kWeb Components (Shadow DOM, Custom Elements).
58Knockout.js⭐10kEnlace de datos declarativo, dependencias automáticas.
62Marionette.js⭐7kSimplifica Backbone (vistas y controladores). Apps de gran escala.
65Dojo Toolkit⭐560Modular, widgets, i18n y accesibilidad.

🖥️ UI / Renderizado del Lado del Servidor (3)

#LibreríaStarsPara qué / casos de uso
3Next.js⭐108kReact con SSR y SSG, optimización automática. SEO.
23Nuxt.js⭐46kVue con SSR/SSG. Convención sobre configuración.
55AMP.js⭐14kPáginas rápidas para móvil. Anuncios y análisis.

📊 Visualización de Datos (4)

#LibreríaStarsPara qué / casos de uso
4D3.js⭐105kVincula datos al DOM. Gráficos complejos y personalizados.
13Chart.js⭐60k8 tipos de gráficos, todos los navegadores. Dashboards.
57Highcharts⭐11kAmplia variedad de gráficos interactivos.
66Chartist.js⭐44Gráficos SVG responsivos, control total.

🧊 Gráficos 3D (2) · 2D (1) · Arte y Animación (3)

#LibreríaCategoríaStarsPara qué / casos de uso
6Three.js3D⭐92kEscenas 3D con WebGL. Juegos, VR/AR.
47Babylon.js3D⭐20k3D en navegador, animaciones y físicas.
28Pixi.js2D⭐40kGráficos 2D interactivos con WebGL y canvas.
49P5.jsArte⭐19kArte generativo y diseño digital (processing).
56Paper.jsArte⭐13kGráficos vectoriales sobre canvas.
61EaselJSArte⭐8kCanvas fácil (CreateJS). Juegos, multimedia.

🎬 Animaciones (3)

#LibreríaStarsPara qué / casos de uso
24Anime.js⭐45kAnima CSS, SVG y objetos JS. Líneas de tiempo.
50Framer Motion⭐19kAnimaciones y gestos para React. Física, arrastre.
54GSAP⭐16kAnimaciones de alto rendimiento. CSS, SVG.

🔌 HTTP (1) · Tiempo Real (1) · DOM (1) · Estado (1)

#LibreríaCategoríaStarsPara qué / casos de uso
5AxiosHTTP⭐100kSolicitudes HTTP con promesas, intercepción, JSON automático.
16Socket.IOTiempo real⭐58kComunicación bidireccional (WebSockets). Chats, juegos.
18jQueryDOM⭐57kSimplifica DOM, eventos, animaciones y AJAX.
14ReduxEstado⭐59kEstado global con acciones y reductores (React/Angular).

⚙️ Backend (4) · CMS (2) · Full Stack (1)

#LibreríaCategoríaStarsPara qué / casos de uso
12Express.jsBackend⭐61kFramework minimalista Node. API REST, WebSockets.
17Nest.jsBackend⭐57kServidor en TypeScript, modular y escalable. REST/GraphQL.
31Koa.jsBackend⭐34kMiddleware en cascada, async/await.
63PolkaBackend⭐5kMicro servidor HTTP, interfaz Express-like.
21StrapiCMS⭐54kAPI REST/GraphQL auto-generada + panel admin.
60Keystone.jsCMS⭐8kBackend + CMS autohospedado.
25Meteor.jsFull Stack⭐43kFullstack JS con tiempo real y MongoDB.

🧰 Utilidades (2) · Funcional (1) · Datos (1)

#LibreríaCategoríaStarsPara qué / casos de uso
19LodashUtilidades⭐56kFunciones de utilidad funcionales (arrays, objetos).
37Underscore.jsUtilidades⭐26k100+ funciones de utilidad. Debounce, throttle.
41RamdaFuncional⭐23kProgramación funcional: tuberías, composición.
32Immutable.jsDatos⭐32kEstructuras de datos inmutables persistentes.

📦 Bundling (3) · SSG (1)

#LibreríaCategoríaStarsPara qué / casos de uso
11WebpackBundling⭐63kEmpaquetador de módulos, plugins, HMR, code splitting.
26ParcelBundling⭐42kEmpaquetador rápido, cero configuración.
40Rollup.jsBundling⭐23kEmpaquetador de bibliotecas, tree-shaking.
20Gatsby.jsSSG⭐54kSitios estáticos con React. GraphQL, plugins.

🧪 Testing (4)

#LibreríaStarsPara qué / casos de uso
27Jest⭐42kPruebas con cobertura, mocking y snapshots.
43Mocha.js⭐22kMarco de pruebas flexible, soporte async.
59Sinon.js⭐9kSpies, stubs y mocks independientes.
64QUnit⭐4kPruebas unitarias simples y concisas.

🕷️ Scraping (2) · Herramientas (1)

#LibreríaCategoríaStarsPara qué / casos de uso
8PuppeteerScraping⭐83kControla Chrome/Chromium. PDFs, screenshots, pruebas e2e.
38Cheerio.jsParsing⭐26kAnaliza y manipula HTML en servidor (API tipo jQuery).
9StorybookDev⭐79kDesarrolla componentes de UI en aislamiento. Guías de estilo.

🗺️ Mapas (1) · 🎮 Juegos (1) · 🔊 Audio (1) · 🔐 Auth (1)

#LibreríaCategoríaStarsPara qué / casos de uso
29Leaflet.jsMapas⭐37kMapas interactivos ligeros y extensibles.
30Phaser.jsJuegos⭐34kJuegos HTML5 2D/3D con WebGL y físicas.
45Howler.jsAudio⭐21kAudio moderno (Web Audio API, HTML5 Audio).
46Passport.jsAuth⭐21kAutenticación Node con 500+ estrategias. OAuth.

🔷 GraphQL (2) · 🗄️ Bases de Datos (2) · 🏗️ MVC (1) · 🤖 ML (1) · 📄 Plantillas (1) · 📅 Fechas (1)

#LibreríaCategoríaStarsPara qué / casos de uso
48GraphQL.jsGraphQL⭐19kImplementación de referencia de GraphQL en JS.
51Apollo ClientGraphQL⭐18kCliente GraphQL con caché normalizado.
33TypeORMORM⭐31kORM para Node/TS. Active Record y Data Mapper.
35Sequelize.jsSQL⭐28kORM multi-SQL, transacciones y migraciones.
36Backbone.jsMVC⭐28kEstructura MVC con modelos y binding.
52TensorFlow.jsML⭐17kEntrena e implementa modelos ML en navegador/Node.
53Handlebars.jsPlantillas⭐17kPlantillas semánticas, precompilables.
22Moment.jsFechas⭐47kManipular, validar y formatear fechas. Zonas horarias.

2 · Scripts minimalistas por categoría

El ejemplo más corto para probar una librería "a la primera" por categoría. npm i <paquete> + snippet.

🖥️ UI — React

# npm i react react-dom
import React from 'react';
import { createRoot } from 'react-dom/client';
createRoot(document.getElementById('root'))
  .render(<h1>Hola React</h1>);

📊 Visualización — Chart.js

# npm i chart.js
import Chart from 'chart.js/auto';
new Chart(document.getElementById('g'), {
  type: 'bar',
  data: { labels: ['A','B'],
          datasets: [{ data: [10, 20] }] },
});

🎬 Animaciones — Anime.js

<script src="https://cdn.jsdelivr.net/npm/animejs@3/lib/anime.min.js"></script>
anime({ targets: '.caja', translateX: 250,
       duration: 800, easing: 'easeInOutQuad' });

🔌 HTTP — Axios

# npm i axios
import axios from 'axios';
const { data } = await axios.get('https://api.example.com/x');
console.log(data);

⚙️ Backend — Express

# npm i express
import express from 'express';
const app = express();
app.get('/', (req,res) => res.send('Hola'));
app.listen(3000);

🧪 Testing — Jest

# npm i -D jest
test('suma', () => { expect(1+2).toBe(3); });

📦 Bundling — Parcel (cero config)

# npm i -D parcel
# npx parcel index.html   → empaqueta sin configurar

🎮 Juegos — Phaser

<script src="https://cdn.jsdelivr.net/npm/phaser@3/dist/phaser.min.js"></script>
new Phaser.Game({ type: Phaser.AUTO, width: 400, height: 300,
  scene: { create() { this.add.text(20,20,'Hola'); } } });

🗺️ Mapas — Leaflet

L.map('mapa').setView([6.244, -75.581], 13);
L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(map);

📅 Fechas — Day.js (moderna)

# npm i dayjs
import dayjs from 'dayjs';
console.log(dayjs().format('YYYY-MM-DD'));

3 · Cómo elegir una librería de JavaScript

Factores clave del artículo de Web Reactiva para decidir bien.

🎯 Factores a considerar

  1. Tamaño y complejidad del proyecto: React/Vue para grandes; otras para pequeños.
  2. Rendimiento: velocidad y uso de memoria.
  3. Curva de aprendizaje: ¿ya conoces los paradigmas?
  4. Documentación: ¿explica bien las acciones y opciones?
  5. "Funciona a la primera": prueba la instalación mínima; si falla lo básico, alerta.

🔍 Dónde investigar

FuenteQué mirar
GitHubActividad del repo (commits recientes), número de contribuyentes, issues abiertos y qué tan rápido responden.
npmDependencias (muchas → bundle grande), frecuencia de versiones, descargas (popularidad), licencia.
💡 Casos de uso más habituales: UIs → React/Vue/Angular · Visualización → D3.js · DOM → jQuery · HTTP → Axios · Juegos → Phaser (2D) / Three.js (3D) · Servidor → Express · Fechas → Moment.js.

4 · Grafo animado — el flujo para elegir una librería

El token 🟠 recorre el flujo de decisión. Clic en el gráfico reinicia la animación.

Iniciando…

5 · Referencia — categorías y regla de librerías

🧩 Mapa de categorías → librerías top

CategoríaLibrería topCategoríaLibrería top
UIReact.js, Vue.jsBundlingWebpack, Parcel
UI/SSRNext.js, Nuxt.jsTestingJest, Mocha
VisualizaciónD3.js, Chart.jsBackendExpress, Nest.js
AnimacionesAnime.js, GSAPHTTPAxios
Gráficos 3DThree.js, Babylon.jsEstadoRedux
JuegosPhaser.js, Pixi.jsTiempo realSocket.IO
ScrapingPuppeteer, CheerioFechasMoment.js
📦 Regla de librerías (local primero): revisar C:\Users\TUF\Documents\librerías\local\ antes de descargar. En Node: npm install <paquete>. Fuente: https://www.webreactiva.com/blog/66-librerias-javascript.