SvelteKit: Definición, Features, Routing, Guía Deployment

SvelteKit es el framework Svelte oficial para apps web full-stack — routing file-based, SSR/SSG/SPA, adapters para cualquier deploy target.

¿Qué es SvelteKit?

SvelteKit es el framework aplicación oficial para Svelte. Donde Svelte es el compilador componentes UI, SvelteKit es todo lo demás necesario para construir una app web full-stack: routing, server-side rendering (SSR), static site generation (SSG), API routes, tooling build y adapters deployment. Es análogo a Next.js para React o Nuxt para Vue.

¿Por qué SvelteKit?

  • Bundles diminutos. Svelte compila componentes a JS vanilla.
  • Cargas página rápidas.
  • Rendering flexible.
  • Routing file-based.
  • Adapters para cualquier host.
  • Form actions.
  • TypeScript en todos lados.
  • Dev server Vite.

Estructura proyecto SvelteKit

my-app/
├── src/
│   ├── routes/
│   │   ├── +page.svelte
│   │   ├── +layout.svelte
│   │   └── blog/[slug]/+page.svelte
│   ├── lib/
│   └── app.html
├── static/
└── svelte.config.js

Routing en SvelteKit

ArchivoPropósito
+page.svelteComponente página
+page.server.tsData loading server-only
+page.tsData loading universal
+layout.svelteLayout
+server.tsEndpoint API
+error.svelteError boundary

Ejemplo data loading

export const load: PageServerLoad = async ({ params }) => {
  const post = await db.post.findUnique({ where: { slug: params.slug } });
  if (!post) throw error(404, 'Post not found');
  return { post };
};

API routes

export const GET: RequestHandler = async () => {
  const posts = await db.post.findMany();
  return json(posts);
};

Form actions

export const actions: Actions = {
  default: async ({ request }) => {
    const data = await request.formData();
    await db.post.create({ data: { title: data.get('title') as string } });
    return { success: true };
  }
};

Adapters: deploya en cualquier lugar

AdapterTarget
adapter-autoAuto-detect
adapter-nodeNode.js
adapter-staticSSG puro
adapter-vercelVercel
adapter-netlifyNetlify
adapter-cloudflareCloudflare

SvelteKit vs Next.js vs Nuxt

FeatureSvelteKitNext.jsNuxt
Compiler vs runtimeCompilerRuntimeRuntime
Tamaño bundleMás pequeñoMás grandeMedio
Curva aprendizajeMás fácilMás empinadaMedia
EcosistemaMás pequeñoMás grandeMedio

Mejores prácticas SvelteKit

  • +page.server.ts para datos sensibles.
  • Usar form actions.
  • Tipear todo.
  • Elegir adapter correcto.
  • SSR por default; opt-out donde necesario.
  • Streaming con defer.
  • Usar Svelte 5 runes.

FAQ: SvelteKit

¿Es SvelteKit production-ready?

Sí — 1.0 lanzado Dic 2022.

¿SvelteKit o Next.js?

SvelteKit para bundles más pequeños. Next.js para ecosistema React.

¿SvelteKit soporta TypeScript?

Sí — first-class.

¿Puedo usar SvelteKit para sitio estático?

Sí — adapter-static.

¿Cómo maneja SvelteKit autenticación?

Hooks (src/hooks.server.ts).

¿Funciona SvelteKit con mi framework CSS?

Sí — Tailwind, UnoCSS, todos.

¿Diferencia entre Svelte y SvelteKit?

Svelte = librería UI. SvelteKit = framework full-stack.

Load testea tu app SvelteKit con LoadFocus

LoadFocus corre scripts JMeter y k6 contra tu deployment SvelteKit desde 25+ regiones. Regístrate en loadfocus.com/signup.

¿Qué tan rápido es tu sitio web?

Mejora su velocidad y SEO sin problemas con nuestra Prueba de Velocidad gratuita.

Prueba de velocidad de sitio web gratis

Analice la velocidad de carga de su sitio web y mejore su rendimiento con nuestro comprobador de velocidad de página gratuito.

×