DEV Community

Cover image for Svelte, nuevo chico en la oficina
Alex Tomás
Alex Tomás

Posted on

2 2

Svelte, nuevo chico en la oficina

¿Qué es Svelte?

Svelte es un framework para JavaScript, similar a otros frameworks como pueden ser Vue, React o Angular. Sin embargo, a diferencia de estos frameworks populares que necesitan incluir su propia lógica con tu aplicación, en Svelte no se incluye nada (o casi nada) adicional, dejando el código final producido de tu aplicación mucho más ligero.

Ventajas de Svelte:

  • Más rápido que otros frameworks
  • Simplicidad de código
  • Curva de aprendizaje muy baja
  • Reactividad
  • Menor tamaño de la app generada

Hola Mundo con Svelte 🌍

Svelte utiliza el principio de SFC (Single File Component), lo que significa que el HTML, JS y CSS va todo en un mismo archivo. Esto lo ha popularizado mucho Vue y, en Svelte, podemos ver que es incluso un poco más sencillo.

Así pues... ¿cómo escribiríamos un Hola Mundo con este framework? ¡Fácil!

<script>
    let name = 'World';
</script>

<h1>Hello {name}!</h1>
Enter fullscreen mode Exit fullscreen mode

Con este ejemplo tan básico ya se pueden ver las primeras diferencias si lo comparamos, por ejemplo, con React. Fíjate.

import React from 'react';

export default () => {
    let name = 'World';
    return <h1>Hello {name}!</h1>;
};
Enter fullscreen mode Exit fullscreen mode

Diferencias:

  • No se importa la libraría svelte. Al ser compilado, Svelte lo hará por nosotros.
  • Más declarativo al no tener que indicarle que queremos exportar ese componente ni el marcado que queremos renderizar.
  • Separación de conceptos. El marcado y el comportamiento e inicialización de datos están separados.

Queda más limpio con Svelte, ¿verdad?

¿Quieres añadirle estilos? 🎨

Muy fácil. Recuerda que es SFC. Entonces le añades los estilos que necesites:

<style>
    h1 {
        color: #ff0;
        text-transform: uppercase;
    }
</style>
Enter fullscreen mode Exit fullscreen mode

Por lo que el ejemplo completo sería:

<script>
    let name = 'World';
</script>

<h1>Hello {name}!</h1>

<style>
    h1 {
        color: #ff0;
        text-transform: uppercase;
    }
</style>
Enter fullscreen mode Exit fullscreen mode

Conclusiones

Este artículo es sólo la punta del iceberg de lo que es capaz de hacer Svelte. Te recomiendo que visites la web oficial porque, sin duda, dará más de que hablar.

Por cierto, ésta web se ha hecho con Svelte 🤪. Escribiré como la hice, que además, el blog está hecho con documentos Markdown.

Sentry blog image

How I fixed 20 seconds of lag for every user in just 20 minutes.

Our AI agent was running 10-20 seconds slower than it should, impacting both our own developers and our early adopters. See how I used Sentry Profiling to fix it in record time.

Read more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay