El ecosistema Solid en 2026
Solid Router, SolidStart, solid-primitives y las DevTools: las piezas oficiales que rodean al core, cómo encajan y en qué estado está el proyecto de cara a 2026 y a Solid 2.0.
Un lenguaje reactivo no basta: hace falta un ecosistema para construir aplicaciones reales. El de Solid es deliberadamente pequeño y composable, mantenido en gran parte por el equipo core alrededor de un núcleo estable. Esta lección traza el mapa de las piezas oficiales —enrutado, meta-framework, primitivos, herramientas— y sitúa el estado del proyecto en 2026, con Solid 2.0 en el horizonte.
- Conocer las piezas oficiales: Router, SolidStart, primitives, DevTools.
- Entender qué es SolidStart y sobre qué se apoya.
- Situar la madurez del proyecto y de Solid 2.0 en 2026.
- Ver cómo Solid se integra con el resto del stack, como Astro.
El núcleo y sus satélites
Solid separa el núcleo reactivo de todo lo demás. El paquete solid-js trae signals, efectos, memos, stores y control flow; a su alrededor orbitan paquetes oficiales que resuelven enrutado, servidor y utilidades sin inflar el core.
mindmap
root((Ecosistema Solid))
Core
solid-js
Store reactivo
solid-js web
Enrutado
solidjs router
query y action
createAsync
SolidStart
Vinxi
Nitro
use server
Primitivos
solid primitives
Tooling
Solid DevTools
babel jsx dom expressionsSolid Router
@solidjs/router: enrutado por configuración o por archivos, rutas anidadas, useParams, useNavigate y APIs de datos como query y createAsync.
SolidStart
El meta-framework oficial: SSR, streaming, SSG, server functions con "use server" y actions para formularios progresivos.
solid-primitives
Una colección de más de cien primitivos revisados por el equipo: desde createMediaQuery hasta gestión de eventos, storage y scheduling.
Solid DevTools
Extensión de navegador más el paquete solid-devtools: inspecciona el grafo reactivo, las dependencias y las actualizaciones en vivo.
SolidStart: el meta-framework
SolidStart es a Solid lo que otros meta-frameworks son a su librería: el andamiaje para aplicaciones fullstack. Alcanzó su versión 1.0 en 2024 y en 2026 es la vía estándar para producción. Se apoya en Vinxi —que a su vez combina Vite y Nitro— para el arranque y el despliegue.
La filosofía es la de un meta-framework “delgado”: no reinventa el enrutado ni el bundler, sino que integra piezas maduras —Solid Router para las rutas, Vite para el desarrollo, Nitro para el servidor— y añade lo justo para unirlas en una experiencia fullstack coherente. La consecuencia práctica es que casi todo lo que aprendes en Solid puro sigue valiendo dentro de SolidStart; solo se añade la capa de servidor.
Modos de render
SSR síncrono o en streaming, CSR puro y prerender SSG, elegibles por ruta según lo que cada página necesite.
Server functions
Con la directiva "use server" defines funciones que solo corren en el servidor, con RPC type-safe y una frontera cliente/servidor explícita.
Actions y datos
action para mutaciones con progressive enhancement, y query más createAsync para cargar, cachear y revalidar datos.
Deploy portátil
Gracias a los presets de Nitro, el mismo proyecto se despliega en Node, Vercel, Netlify, Cloudflare o Deno cambiando una opción.
Las APIs de datos viven en @solidjs/router y SolidStart las integra: query deduplica y cachea, createAsync expone el resultado como una señal async, y action invalida la cache al terminar. Es un flujo de carga y mutación coherente, no piezas sueltas.
En código, ese flujo se ve compacto: una función de servidor con "use server" y un createAsync que la consume como si fuera una señal más del grafo.
import { query, createAsync } from "@solidjs/router";
const getUsuario = query(async (id: string) => {
"use server"; // este cuerpo solo corre en el servidor
return db.usuarios.find(id);
}, "usuario");
function Perfil(props: { id: string }) {
const usuario = createAsync(() => getUsuario(props.id));
return <span>{usuario()?.nombre}</span>;
}
Primitivos, herramientas y estándares
solid-primitives es el análogo comunitario oficial de una librería de utilidades: cada primitivo sigue una convención estricta (tamaño, tree-shaking, SSR) y se publica de forma independiente, así que solo cargas lo que usas. Las Solid DevTools te dejan ver el grafo reactivo por dentro —qué observa a qué, qué se ejecutó y por qué—, algo especialmente valioso cuando el modelo mental aún es nuevo. Algunos primitivos que aparecen una y otra vez en código real:
createMediaQueryycreateBreakpoints— responsividad como valor reactivo.makePersisted— sincronizar un signal conlocalStorageosessionStorage.createEventListener— eventos del DOM cononCleanupautomático.debounceycreateScheduled— control temporal de efectos.
Con @astrojs/solid-js puedes usar componentes Solid como islas dentro de un sitio Astro: contenido estático servido sin JavaScript e interactividad de grano fino solo donde hace falta. Es una de las combinaciones más limpias del frontend actual.
El proyecto en 2026
Solid es un proyecto dirigido por su comunidad, con Ryan Carniato al frente del diseño reactivo, financiación vía patrocinios y OpenCollective, y una base de usuarios pequeña pero fiel. La línea 1.9 es la estable y madura; Solid 2.0 avanza en preview, con un nuevo núcleo reactivo cuyo objetivo es la transparencia async —tratar valores asíncronos dentro del grafo sin cablear Suspense a mano— y un modelo de ownership afinado.
La transparencia async es el cambio de fondo de la 2.0. Hoy, coordinar datos asíncronos exige envolver el árbol en Suspense y pensar de forma explícita en los estados de carga; el nuevo runtime aspira a que una derivación que dependa de un valor async se comporte como cualquier otra derivación, propagando la carga por el grafo sin ceremonia. Es la misma tesis de grano fino llevada al mundo asíncrono. Mientras llega, la 1.9 es una base sólida para producción y la migración se ha planteado como evolutiva, no como una ruptura traumática.
Core estable
La línea 1.9 es madura y apta para producción; la API reactiva lleva años asentada.
Solid 2.0 en preview
Nuevo núcleo con transparencia async y ownership afinado, con migración pensada como evolutiva.
Comunidad y fondos
Dirigido por su comunidad, con patrocinios y OpenCollective; pequeña pero constante.
Influencia estándar
Su modelo de signals alimenta la propuesta de TC39, más allá del propio Solid.
Es tentador medir un framework por el tamaño de su ecosistema, y por esa vara Solid pierde ante React. Pero la comparación engaña, porque Solid necesita menos ecosistema para lo mismo. Al reutilizar el DOM y APIs web estándar en vez de reinventarlas, muchas librerías de JavaScript vanilla funcionan sin adaptador. Al no re-renderizar, no hace falta un universo de utilidades de memoización ni de gestión de estado para frenar renders que no existen. La reactividad de grano fino sirve de estado global sin librería: un store en un módulo basta. Así que el ecosistema reducido no es una carencia que haya que tolerar, sino la consecuencia de un diseño que resuelve en el core lo que otros delegan a terceros. Menos piezas, pero cada una carga más peso. Evalúa la cobertura de tus necesidades reales, no el recuento de paquetes en npm.
- Crea un proyecto con SolidStart y localiza dónde vivirían las rutas y las server functions.
- Instala la extensión Solid DevTools y observa el grafo reactivo de un contador en vivo.
- Busca en
solid-primitivesun primitivo que te ahorre código, por ejemplo uno de storage o media query. - Anota qué de tu stack de React actual dejaría de ser necesario aquí, y por qué.