¿Cómo crear una aplicación con Svelte desde cero?
Crear una aplicación con Svelte es un proceso emocionante que nos permite entender cómo este framework facilita el desarrollo web. Svelte destaca por su sintaxis similar al HTML, su eficiencia, y cómo maneja la interacción con los usuarios. ¡Visualicemos cómo se hace!
¿Cómo iniciamos nuestro proyecto Svelte?
Para empezar un proyecto con Svelte, lo primero es crear un nuevo sandbox y elegir el template de Svelte. Al crear nuestro proyecto, verás un archivo package.json
que enumera las dependencias del proyecto. Svelte usa Rollup para la construcción del código. Un archivo clave es rollup.config.js
, que define esta configuración, disponible para que la examines en la sección de archivos y enlaces si deseas explorar cómo funciona Rollup más a fondo.
¿Cómo podemos estructurar nuestro contenido HTML en Svelte?
La estructura del HTML en Svelte se asemeja mucho a la del HTML convencional. Puedes incluir etiquetas <style>
para estilos y <script>
para lógica JavaScript. En nuestro caso, empezamos por maquetar una aplicación de películas:
<h2>Películas</h2>
<form>
<h3>Terminator</h3>
<button type="button">-</button>
0
<button type="button">+</button>
</form>
Aquí, tenemos un formulario para una película con dos botones y una cantidad por defecto de "0".
¿Cómo modularizamos en Svelte con componentes?
Transformar el formulario en un componente nos ayuda a organizar mejor nuestro código. Creamos un archivo Form.svelte
y movemos allí el formulario. Luego, lo importamos al archivo principal del siguiente modo:
<script>
import Form from './Form.svelte';
</script>
Este enfoque modular permite reutilizar componentes en distintas partes de la aplicación.
¿Cómo manejamos listas y ciclos en Svelte?
Svelte usa una sintaxis similar a Handlebars para manejar ciclos. Supongamos que tenemos un array de películas y deseamos renderizar un formulario por cada elemento. Empleamos una estructura #each
:
<script>
let peliculas = [{ name: 'Avengers', quantity: 0 }, { name: 'Terminator', quantity: 0 }];
</script>
<ul>
{#each peliculas as movie}
<li>
<h3>{movie.name}</h3>
<button on:click={() => movie.quantity--} disabled={movie.quantity <= 0}>-</button>
{movie.quantity}
<button on:click={() => movie.quantity++}>+</button>
</li>
{/each}
</ul>
¿Cómo integramos la funcionalidad en los botones?
Los eventos en Svelte se definen usando on.
seguido del evento. Para actualizar la cantidad de películas, usamos una función de flecha:
<button on:click={() => movie.quantity--} disabled={movie.quantity <= 0}>-</button>
<button on:click={() => movie.quantity++} disabled={movie.quantity >= available}>+</button>
Aquí, los botones incrementan o decrementan la cantidad, asegurando que esta no baje de cero ni exceda la cantidad disponible.
¿Cómo manejamos estilos y CSS en Svelte?
Svelte facilita la incorporación de CSS directamente en los componentes. En el siguiente módulo aprenderemos a darle estilos usando CSS normal y preprocesadores. Además, descubriremos la metodología CSS en CSS para mantener los estilos encapsulados dentro de nuestros componentes.
Con estos conceptos, ya tienes una base sólida para continuar explorando más de Svelte. Recuerda, la práctica y el experimentación son fundamentales en el aprendizaje del desarrollo web. ¡Adelante, y sigue aprendiendo!
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?