Fichas del Atlas#
Documento generado por node scripts/generate-atlas.mjs. No editar a mano.
Una ficha es un estudio a fondo: de qué problema nació la tecnología, qué idea aportó, qué dejó abierto y qué lección deja para decidir hoy. Cada afirmación se apoya en un libro, una norma o una fuente primaria del propio proyecto, igual que el resto del programa.
138 fichas de las 138 tecnologías del catálogo. Las demás tienen su contexto en la página de su ecosistema.
| Ficha | Desde | Ecosistema | Clasificación | Qué enseña |
|---|---|---|---|---|
| Qt | 1995 | Escritorio nativo — C y C++ | ui-framework |
El framework de interfaz multiplataforma más longevo en uso. Su licencia dual libre y comercial es el ejemplo canónico de esa estrategia. |
| GTK | 1998 | Escritorio nativo — C y C++ | ui-toolkit |
Base de gran parte del escritorio libre, con enlaces a numerosos lenguajes. |
| Apache Struts | 2000 | JVM — Java, Kotlin, Scala y Groovy | web-framework |
El modelo-vista-controlador estándar de la empresa Java durante años. Sus vulnerabilidades críticas son el caso de estudio obligado sobre cadena de suministro y actualización. |
| Drupal | 2001 | PHP | cms |
Gestor de contenidos con modelo de datos configurable, construido sobre componentes de Symfony desde su versión 8. |
| Hibernate ORM | 2001 | JVM — Java, Kotlin, Scala y Groovy | orm |
El mapeador objeto-relacional de referencia en Java y el origen de buena parte del vocabulario del campo, incluido el problema de la consulta N+1. |
| ASP.NET Web Forms | 2002 | .NET y C# | component-framework |
Trasladó el modelo de eventos del escritorio a la web mediante estado de vista en el servidor. Su abstracción sobre HTTP es el ejemplo clásico de por qué el módulo 01 enseña el protocolo primero. |
| Spring Framework | 2003 | JVM — Java, Kotlin, Scala y Groovy | application-framework |
Popularizó la inversión de control y la inyección de dependencias en la empresa, como alternativa ligera a los estándares de la época. |
| WordPress | 2003 | PHP | cms |
No es un framework general y compararlo con uno es un error de categoría. Su licencia copyleft y su modelo de complementos condicionan cualquier decisión construida encima. |
| Active Record (Rails) | 2004 | Ruby | orm |
La implementación que dio nombre popular al patrón de registro activo descrito por Fowler. |
| Dojo Toolkit | 2004 | JavaScript y TypeScript | ui-toolkit |
Trajo módulos, carga asíncrona y widgets de escritorio a la web años antes de que el lenguaje tuviera módulos propios. |
| Jakarta Faces (JSF) | 2004 | JVM — Java, Kotlin, Scala y Groovy | component-framework |
Interfaz basada en componentes con estado en servidor, definida como especificación con varias implementaciones. Un modelo de gobierno distinto al de un proyecto único. |
| Ruby on Rails | 2004 | Ruby | full-stack-framework |
Origen de «convención sobre configuración» y de las migraciones de base de datos tal como se entienden hoy. Casi todos los frameworks completos posteriores citan su influencia. |
| CakePHP | 2005 | PHP | full-stack-framework |
Llevó las convenciones de Rails a PHP antes que nadie, con generación de código y ORM incluidos. |
| Django | 2005 | Python | web-framework |
Baterías incluidas: ORM, migraciones, panel de administración, autenticación y formularios. Su panel generado sigue siendo un argumento decisivo para productos internos. |
| Prototype | 2005 | JavaScript y TypeScript | dom-library |
Extendía los prototipos nativos del lenguaje. Enseñó por la vía dura por qué modificar objetos globales rompe la interoperabilidad entre bibliotecas. |
| Symfony | 2005 | PHP | web-framework |
Conjunto de componentes reutilizables además de framework. Buena parte de Laravel, Drupal y otros proyectos se apoya en sus piezas: un caso claro de dependencia invisible. |
| CodeIgniter | 2006 | PHP | web-framework |
Ligero y sin exigir configuración de servidor especial. Fue la puerta de entrada al patrón modelo-vista-controlador para una generación de programadores PHP. |
| Grails | 2006 | JVM — Java, Kotlin, Scala y Groovy | full-stack-framework |
Convenciones de Rails sobre Spring y Hibernate, con Groovy como lenguaje dinámico de la JVM. |
| jQuery | 2006 | JavaScript y TypeScript | dom-library |
Normalizó un DOM incompatible entre navegadores y popularizó el encadenamiento y los selectores CSS en JavaScript. Buena parte de lo que hoy es API nativa del navegador entró primero como idea suya. |
| MooTools | 2006 | JavaScript y TypeScript | dom-library |
Competidor directo de jQuery con un modelo de clases propio. Su declive muestra que ganar en elegancia no basta frente a un ecosistema de complementos mayor. |
| SQLAlchemy | 2006 | Python | orm |
Separa explícitamente el constructor de consultas del mapeador, de modo que se puede bajar de nivel sin abandonarlo. |
| WPF | 2006 | .NET y C# | ui-framework |
Introdujo el enlace de datos declarativo y el patrón modelo-vista-vista-modelo, que después migró a la web. |
| Zend Framework | 2006 | PHP | application-framework |
Framework empresarial de PHP durante una década. Su relevo por Laminas es la guía de migración que conviene leer antes de adoptar cualquier proyecto de un solo patrocinador. |
| Ext JS | 2007 | JavaScript y TypeScript | ui-toolkit |
Componentes de tipo escritorio para aplicaciones internas. Ejemplo de licencia comercial en un espacio dominado por el código abierto: la estrategia de salida importa más aquí que en ningún otro. |
| Play Framework | 2007 | JVM — Java, Kotlin, Scala y Groovy | web-framework |
Recarga en caliente y modelo sin estado en la JVM, con una experiencia de desarrollo inspirada en los frameworks de guion. |
| Sinatra | 2007 | Ruby | web-framework |
Definió el estilo minimalista de «verbo, ruta, bloque» que copiaron Flask, Express, Slim y muchos otros. |
| Jekyll | 2008 | Ruby | static-site-generator |
El generador estático que popularizó el modelo, impulsado por su integración con GitHub Pages. |
| UIKit | 2008 | Plataformas de Apple | ui-toolkit |
El modelo imperativo anterior a SwiftUI, todavía necesario para capacidades que SwiftUI no cubre. |
| Yii | 2008 | PHP | full-stack-framework |
Rendimiento y generación de andamiaje como argumentos centrales, con carga perezosa de componentes. |
| ASP.NET MVC | 2009 | .NET y C# | web-framework |
La respuesta de Microsoft al modelo-vista-controlador, y el paso intermedio entre Web Forms y ASP.NET Core. |
| Bottle | 2009 | Python | web-framework |
Un framework completo en un único archivo sin dependencias. Excelente para leerlo entero y entender qué hace realmente un framework web. |
| Apache Cordova | 2009 | JavaScript y TypeScript | runtime-bridge |
El primer puente masivo entre la web y el móvil, conocido antes como PhoneGap. Definió el debate híbrido frente a nativo. |
| Node.js | 2009 | JavaScript y TypeScript | runtime |
Llevó JavaScript al servidor con un bucle de eventos no bloqueante. No es un framework: es quien ejecuta a todos los de su columna. |
| Tornado | 2009 | Python | web-framework |
Trajo la entrada/salida no bloqueante a Python años antes de que el lenguaje tuviera sintaxis asíncrona propia. |
| AngularJS | 2010 | JavaScript y TypeScript | ui-framework |
Popularizó la inyección de dependencias y el enlace bidireccional en el cliente. Su reescritura incompatible como Angular 2 es el caso de estudio más citado sobre coste de migración. |
| Backbone.js | 2010 | JavaScript y TypeScript | mv-library |
Primera estructura ampliamente adoptada para separar modelo y vista en el navegador. Dejó al descubierto el problema que resolverían los frameworks siguientes: sincronizar vista y estado a mano no escala. |
| Express | 2010 | JavaScript y TypeScript | web-framework |
Definió el modelo de middleware encadenado que copiaron casi todos los frameworks de Node.js. Minimalista no significa biblioteca: posee el bucle de peticiones. |
| Flask | 2010 | Python | web-framework |
Microframework que dejó a la persona elegir ORM, validación y estructura. El contrapunto exacto de Django dentro del mismo lenguaje. |
| Knockout | 2010 | JavaScript y TypeScript | mvvm-library |
Introdujo el enlace declarativo de datos y los observables en el navegador, la idea que hoy reaparece como «señales». |
| Pyramid | 2010 | Python | web-framework |
Escala de microframework a aplicación grande sin reescribir. Su licencia derivada de BSD no corresponde a un identificador SPDX único, lo que ya es una lección del módulo 11. |
| Slim | 2010 | PHP | web-framework |
Microframework construido sobre los estándares PSR de interoperabilidad, que permiten intercambiar middleware entre frameworks PHP distintos. |
| Socket.IO | 2010 | JavaScript y TypeScript | realtime-library |
Abstrae el tiempo real con reconexión y respaldo automáticos. Popularizó los eventos bidireccionales antes de que WebSocket fuera universal. |
| Dapper | 2011 | .NET y C# | micro-orm |
Mapea resultados de SQL escrito a mano, sin generar consultas. La alternativa deliberada al mapeador completo. |
| Dropwizard | 2011 | JVM — Java, Kotlin, Scala y Groovy | application-framework |
Ensambla bibliotecas maduras en un producto operable, con métricas y comprobaciones de salud desde el primer día. |
| Eloquent (Laravel) | 2011 | PHP | orm |
Registro activo en PHP con relaciones expresivas. Su comodidad hace que la consulta N+1 aparezca con especial facilidad. |
| Ember.js | 2011 | JavaScript y TypeScript | ui-framework |
Convención sobre configuración llevada al cliente, con una política de versiones y migraciones ejemplar: sus guías de actualización son mejores que las de proyectos mucho mayores. |
| hapi | 2011 | JavaScript y TypeScript | web-framework |
Configuración sobre código: las rutas se declaran como datos. Nació en un entorno de comercio electrónico de alta carga. |
| Kivy | 2011 | Python | ui-framework |
Interfaces multiplataforma en Python con su propio motor de dibujo. |
| Laravel | 2011 | PHP | full-stack-framework |
El framework más usado de PHP: ORM Eloquent, migraciones, colas, programación de tareas, pruebas y un ecosistema comercial propio. Redefinió lo que se espera de la experiencia de desarrollo en el lenguaje. |
| Xamarin | 2011 | .NET y C# | ui-framework |
Aplicaciones móviles nativas en C#. Su sustitución por .NET MAUI es una migración reciente y bien documentada que conviene leer. |
| Beego | 2012 | Go | full-stack-framework |
Framework completo de Go con ORM, caché y tareas programadas, en un ecosistema que suele preferir bibliotecas pequeñas. |
| Phalcon | 2012 | PHP | full-stack-framework |
Distribuido como extensión compilada de PHP en lugar de código fuente. Rendimiento a cambio de una instalación que no es la habitual del lenguaje. |
| Sails.js | 2012 | JavaScript y TypeScript | full-stack-framework |
Intento temprano de llevar las convenciones de Rails a Node.js, con generación automática de API a partir de modelos. |
| Eclipse Vert.x | 2012 | JVM — Java, Kotlin, Scala y Groovy | reactive-toolkit |
Modelo de bucle de eventos y bus de mensajes en la JVM, políglota por diseño. |
| webpack | 2012 | JavaScript y TypeScript | build-tool |
Hizo posible tratar cualquier recurso como módulo. Su complejidad de configuración motivó la generación siguiente de herramientas. |
| Electron | 2013 | JavaScript y TypeScript | desktop-runtime |
Empaqueta un navegador completo con la aplicación: máxima compatibilidad, a cambio de tamaño y memoria. |
| Hugo | 2013 | Go | static-site-generator |
Generación estática de miles de páginas en segundos. Demuestra que el lenguaje de la herramienta importa más que el del contenido. |
| Ionic | 2013 | JavaScript y TypeScript | ui-toolkit |
Componentes con aspecto nativo sobre tecnología web, agnósticos del framework de interfaz que uses. |
| Koa | 2013 | JavaScript y TypeScript | web-framework |
Escrito por el equipo de Express para sustituir las devoluciones de llamada por funciones asíncronas y middleware en forma de cebolla. |
| React | 2013 | JavaScript y TypeScript | ui-library |
Impuso la idea de la interfaz como función del estado y el árbol virtual. Es una biblioteca, no un framework: no arranca tu aplicación ni define su ciclo de vida. |
| aiohttp | 2014 | Python | http-toolkit |
Cliente y servidor HTTP asíncronos sobre la biblioteca estándar. Útil para ver el nivel inmediatamente inferior a un framework. |
| Gin | 2014 | Go | web-framework |
El framework HTTP más usado de Go: enrutado rápido y middleware, sobre la biblioteca estándar. |
| Hanami | 2014 | Ruby | full-stack-framework |
Alternativa a Rails con fronteras explícitas entre capas y menos magia implícita. |
| Kubernetes | 2014 | Plataformas de ejecución | platform |
No es un framework de aplicación y compararlo con uno es un error de categoría. Condiciona, eso sí, las sondas de vida y de disponibilidad que el módulo 12 exige. |
| Marko | 2014 | JavaScript y TypeScript | ui-framework |
Renderizado en servidor con hidratación parcial años antes de que la idea se generalizara con el nombre de «islas». |
| Mithril | 2014 | JavaScript y TypeScript | ui-framework |
Enrutado, peticiones y vistas en pocos kilobytes. Recuerda que un framework completo no tiene por qué ser grande. |
| NativeScript | 2014 | JavaScript y TypeScript | ui-framework |
Acceso directo a las API nativas desde JavaScript, sin puente de serialización. |
| Phoenix | 2014 | BEAM — Elixir y Erlang | full-stack-framework |
Aprovecha la máquina virtual de Erlang para manejar cientos de miles de conexiones simultáneas con tolerancia a fallos. |
| React Router | 2014 | JavaScript y TypeScript | routing-library |
El enrutador de facto del ecosistema React durante una década, hoy también metaframework. |
| Spring Boot | 2014 | JVM — Java, Kotlin, Scala y Groovy | application-framework |
Autoconfiguración y servidor incrustado sobre Spring. Convirtió un framework famoso por su configuración XML en uno de arranque inmediato. |
| Vue | 2014 | JavaScript y TypeScript | ui-framework |
Adopción progresiva: sirve como etiqueta en una página existente o como framework completo. Su reactividad fina influyó en toda la generación siguiente. |
| AdonisJS | 2015 | JavaScript y TypeScript | full-stack-framework |
El equivalente de Laravel en TypeScript: ORM, autenticación, validación y colas en el mismo producto. |
| Aurelia | 2015 | JavaScript y TypeScript | ui-framework |
Nació del desacuerdo con la dirección de Angular 2. Apostó por estándares del lenguaje frente a sintaxis propia. |
| chi | 2015 | Go | routing-library |
Enrutador compatible con las interfaces de la biblioteca estándar. Demuestra que en Go se puede llegar lejos sin adoptar un framework. |
| Echo | 2015 | Go | web-framework |
Alternativa a Gin con enlace y validación de datos incluidos y una API algo más explícita. |
| Gatsby | 2015 | JavaScript y TypeScript | react-metaframework |
Popularizó la generación estática con GraphQL como capa de datos unificada. Su declive ilustra el riesgo de una capa de abstracción que hay que aprender aparte. |
| Preact | 2015 | JavaScript y TypeScript | ui-library |
Reimplementación compatible con una fracción del tamaño. Útil para razonar sobre cuánto del peso de una biblioteca es esencial y cuánto es accidental. |
| React Native | 2015 | JavaScript y TypeScript | ui-framework |
Usa componentes nativos reales desde JavaScript. El coste del puente entre ambos mundos es su compromiso característico. |
| Rollup | 2015 | JavaScript y TypeScript | build-tool |
Introdujo la eliminación de código no usado a partir de módulos estáticos, hoy una expectativa básica. |
| Angular | 2016 | JavaScript y TypeScript | ui-framework |
Framework completo con contenedor de dependencias, enrutado, formularios y herramientas en la caja. La opinión arquitectónica más fuerte del ecosistema JavaScript. |
| ASP.NET Core | 2016 | .NET y C# | web-framework |
Reescritura multiplataforma y de código abierto de la pila web de Microsoft. Sus API mínimas trajeron el estilo de los microframeworks al ecosistema .NET. |
| Entity Framework Core | 2016 | .NET y C# | orm |
Mapeador con migraciones y consultas integradas en el lenguaje. El contraste con Dapper ilustra el compromiso entre abstracción y control. |
| Fastify | 2016 | JavaScript y TypeScript | web-framework |
Validación y serialización derivadas de JSON Schema, con un sistema de plugins con encapsulamiento explícito. |
| Next.js | 2016 | JavaScript y TypeScript | react-metaframework |
Convirtió el renderizado en servidor en la opción por omisión del ecosistema React. Su acoplamiento con una plataforma concreta es la dimensión que el módulo 11 obliga a puntuar. |
| Nuxt | 2016 | JavaScript y TypeScript | vue-metaframework |
El equivalente de Next.js sobre Vue, con un motor de servidor propio reutilizable fuera del framework. |
| Rocket | 2016 | Rust | web-framework |
Prioriza la ergonomía mediante macros, a costa de depender más del compilador y de sus mensajes de error. |
| Sanic | 2016 | Python | web-framework |
Sintaxis próxima a Flask con ejecución asíncrona, en la transición de Python hacia el modelo no bloqueante. |
| Svelte | 2016 | JavaScript y TypeScript | ui-framework |
Mueve el trabajo del navegador al compilador. Cambia el coste de ejecución por dependencia de la fase de construcción: un compromiso, no una mejora gratuita. |
| TypeORM | 2016 | JavaScript y TypeScript | orm |
Ofrece a la vez registro activo y mapeador de datos, lo que lo hace útil para comparar ambos patrones en un mismo proyecto. |
| Actix Web | 2017 | Rust | web-framework |
Uno de los frameworks HTTP más rápidos en las mediciones públicas. Buen recordatorio de que un número sin protocolo declarado no es evidencia. |
| Docusaurus | 2017 | JavaScript y TypeScript | documentation-framework |
Framework especializado en documentación técnica, con versionado e internacionalización incluidos. |
| Flutter | 2017 | Dart | ui-sdk |
Dibuja su propia interfaz en lugar de usar los componentes del sistema: control total del aspecto a cambio de no heredar los cambios de la plataforma. |
| NestJS | 2017 | JavaScript y TypeScript | application-framework |
Trae a Node.js el modelo de Angular y Spring: módulos, decoradores e inyección de dependencias por constructor. |
| Yew | 2017 | Rust | ui-framework |
Modelo de componentes al estilo React sobre WebAssembly, el primero que llevó esa arquitectura fuera de JavaScript. |
| Blazor | 2018 | .NET y C# | component-framework |
Componentes en C# ejecutados en WebAssembly o en el servidor. Permite comparar el mismo modelo de componentes con dos lugares de ejecución distintos. |
| Deno | 2018 | JavaScript y TypeScript | runtime |
Creado por el autor de Node.js para corregir sus decisiones iniciales: permisos explícitos, TypeScript integrado y API estándar de la web. |
| Eleventy | 2018 | JavaScript y TypeScript | static-site-generator |
Generador estático sin cliente por omisión y con múltiples lenguajes de plantilla. El contrapunto minimalista a los metaframeworks. |
| FastAPI | 2018 | Python | web-framework |
Deriva validación, serialización y documentación OpenAPI de las anotaciones de tipo. Demostró que el tipado opcional de Python podía ser infraestructura, no adorno. |
| Ktor | 2018 | JVM — Java, Kotlin, Scala y Groovy | web-framework |
Construido sobre corrutinas de Kotlin, con todo el comportamiento añadido mediante plugins explícitos. |
| Micronaut | 2018 | JVM — Java, Kotlin, Scala y Groovy | application-framework |
Inyección de dependencias resuelta en compilación, sin reflexión en ejecución. Ataca directamente el coste de arranque de la JVM. |
| SolidJS | 2018 | JavaScript y TypeScript | ui-library |
Reactividad de grano fino sin árbol virtual: el componente se ejecuta una vez y solo se actualiza lo que leyó el valor cambiado. |
| Starlette | 2018 | Python | asgi-toolkit |
La base asíncrona sobre la que se construye FastAPI. Distinguir uno de otro es un buen ejercicio de taxonomía. |
| Stimulus | 2018 | JavaScript y TypeScript | dom-library |
Conecta comportamiento a HTML que ya existe, sin poseerlo. Diseñado para acompañar al renderizado en servidor, no para sustituirlo. |
| Alpine.js | 2019 | JavaScript y TypeScript | dom-library |
Comportamiento declarativo en atributos HTML, sin fase de construcción. Recupera el modelo de trabajo de jQuery con el vocabulario reactivo moderno. |
| Capacitor | 2019 | JavaScript y TypeScript | runtime-bridge |
Empaqueta una aplicación web como aplicación nativa y expone las capacidades del dispositivo. Sucesor espiritual de Cordova. |
| Laminas | 2019 | PHP | application-framework |
Continuación de Zend Framework bajo gobierno de fundación. Ejemplo de transición ordenada de un proyecto corporativo a uno comunitario. |
| Phoenix LiveView | 2019 | BEAM — Elixir y Erlang | realtime-ui-framework |
Interfaz interactiva con el estado en el servidor y diferencias enviadas por WebSocket. La alternativa más completa a la aplicación de página única. |
| Quarkus | 2019 | JVM — Java, Kotlin, Scala y Groovy | application-framework |
Mueve trabajo del arranque al tiempo de compilación para permitir imágenes nativas y arranques de milisegundos. |
| SwiftUI | 2019 | Plataformas de Apple | ui-toolkit |
Interfaz declarativa para las plataformas de Apple. No es de código abierto: la estrategia de salida es especialmente relevante aquí. |
| Avalonia | 2020 | .NET y C# | ui-framework |
Lleva el modelo de WPF fuera de Windows, con dibujo propio en todas las plataformas. |
| esbuild | 2020 | Go | build-tool |
Demostró que el cuello de botella de las herramientas de JavaScript no era el problema, sino el lenguaje en que estaban escritas. |
| Fiber | 2020 | Go | web-framework |
Imita deliberadamente la API de Express para acortar la curva de quien llega desde Node.js. |
| htmx | 2020 | JavaScript y TypeScript | hypermedia-library |
Devuelve el estado al servidor: el HTML es la respuesta y los atributos deciden qué fragmento se reemplaza. Demuestra que la evolución del campo no es una línea recta hacia el cliente. |
| RedwoodJS | 2020 | JavaScript y TypeScript | full-stack-framework |
Intento de traer a JavaScript la integración completa de Rails: generadores, capas y convenciones en un solo producto. |
| tRPC | 2020 | JavaScript y TypeScript | rpc-library |
Elimina el esquema intermedio compartiendo tipos entre cliente y servidor. El compromiso es explícito: solo sirve si ambos extremos son tuyos y hablan TypeScript. |
| Vite | 2020 | JavaScript y TypeScript | build-tool |
Servidor de desarrollo con módulos nativos y empaquetado solo para producción. Hoy es la base de la mayoría de los metaframeworks. |
| Astro | 2021 | JavaScript y TypeScript | web-metaframework |
Arquitectura de islas: por omisión no envía JavaScript y cada componente interactivo se declara explícitamente. Permite mezclar React, Vue y Svelte en la misma página, lo que lo hace un banco de pruebas ideal para comparar. |
| axum | 2021 | Rust | web-framework |
Construido sobre las abstracciones de servicio de Tower, lo que hace su middleware reutilizable fuera del framework. |
| Compose Multiplatform | 2021 | JVM — Java, Kotlin, Scala y Groovy | ui-toolkit |
Lleva el modelo de Compose fuera de Android compartiendo código de interfaz entre plataformas. |
| Hono | 2021 | JavaScript y TypeScript | web-framework |
Diseñado para ejecutarse sobre las API estándar de la web, lo que le permite correr en múltiples runtimes sin adaptador. |
| Turbo (Hotwire) | 2021 | JavaScript y TypeScript | hypermedia-library |
Navegación y actualizaciones parciales sin escribir JavaScript de aplicación. La estrategia de Rails frente a la aplicación de página única. |
| Jetpack Compose | 2021 | JVM — Java, Kotlin, Scala y Groovy | ui-toolkit |
Interfaz declarativa en Android: el mismo cambio de paradigma que vivió la web, una década después. |
| Lit | 2021 | JavaScript y TypeScript | web-components-library |
Capa mínima sobre los componentes web del propio estándar. La apuesta por la plataforma en lugar de por el framework. |
| Litestar | 2021 | Python | web-framework |
Alternativa a FastAPI con inyección de dependencias por capas y controladores de clase. |
| Nitro | 2021 | JavaScript y TypeScript | server-toolkit |
Motor de servidor con adaptadores de despliegue, extraído de Nuxt y hoy compartido por varios metaframeworks. |
| Prisma ORM | 2021 | JavaScript y TypeScript | orm |
Esquema propio del que se genera un cliente tipado. Un lenguaje más que aprender, a cambio de tipos exactos. |
| Qwik | 2021 | JavaScript y TypeScript | ui-framework |
Ataca el coste de hidratación reanudando el estado del servidor en lugar de reconstruirlo. Es la respuesta más radical al problema que el módulo 04 mide. |
| Remix | 2021 | JavaScript y TypeScript | react-metaframework |
Apostó por los estándares de la plataforma web —formularios, respuestas, caché— frente a abstracciones propias. Su fusión con React Router es un ejemplo de convergencia entre proyectos. |
| Bun | 2022 | JavaScript y TypeScript | runtime |
Runtime, gestor de paquetes, empaquetador y ejecutor de pruebas en un solo binario. Compite en tiempo de arranque y de instalación. |
| .NET MAUI | 2022 | .NET y C# | ui-framework |
Sucesor de Xamarin.Forms con un único proyecto para móvil y escritorio. |
| Drizzle ORM | 2022 | JavaScript y TypeScript | orm |
Define el esquema en TypeScript y mantiene las consultas próximas al SQL, sin capa de traducción oculta. |
| Elysia | 2022 | JavaScript y TypeScript | web-framework |
Aprovecha el sistema de tipos para derivar validación y cliente tipado desde la definición de la ruta. |
| Leptos | 2022 | Rust | ui-framework |
Reactividad de grano fino en Rust y WebAssembly, con funciones de servidor. La misma idea de SolidJS en otro lenguaje. |
| SvelteKit | 2022 | JavaScript y TypeScript | svelte-metaframework |
Enrutado por sistema de archivos y adaptadores de despliegue intercambiables, que es una estrategia de salida incorporada al diseño. |
| Tauri | 2022 | Rust | desktop-runtime |
Usa el motor web del sistema en lugar de incrustar uno: binarios mucho menores, a cambio de diferencias entre plataformas. |
| VitePress | 2022 | JavaScript y TypeScript | documentation-framework |
Documentación sobre Vue y Vite, con hidratación mínima. La documentación oficial de muchos proyectos del ecosistema usa este generador. |
| Analog | 2023 | JavaScript y TypeScript | angular-metaframework |
Lleva el modelo de metaframework al ecosistema Angular, que llegó tarde a esa idea. |
| SolidStart | 2024 | JavaScript y TypeScript | solid-metaframework |
Metaframework de SolidJS construido sobre el mismo motor de servidor que Nuxt, un caso claro de reutilización entre ecosistemas rivales. |
Orden de lectura sugerido#
Las fichas se pueden leer sueltas, pero en este orden cuentan una historia:
- Cómo era antes — Web Forms y Struts: el servidor lo hacía todo, con sus costes.
- La convención — Rails y sus herederos, Django y Laravel.
- El navegador toma el mando — jQuery, AngularJS, React, Vue.
- La corrección — Astro y htmx: el péndulo vuelve, con teoría detrás.
- Los que no encajan en esa línea — Spring Boot, Express, Phoenix.