OpenWebinars

Desarrollo Web

Vite: Revolucionando el desarrollo frontend de la web moderna

Vite ha cambiado las reglas del juego reduciendo los tiempos de carga inicial hasta en un 80%. Explora cómo esta herramienta moderna de desarrollo frontend está diseñada para funcionar con la última tecnología web, haciendo que la compilación y la recarga sean más rápidas que nunca.

Alfredo Barragán

Alfredo Barragán

Experto Full Stack con PHP y JavaScript

Lectura 5 minutos

Publicado el 24 de abril de 2024

Compartir

Introducción

¿Estás listo para cambiar tu enfoque en el desarrollo frontend? Estás a punto de descubrir cómo Vite está a la vanguardia de la revolución en el desarrollo web con su enfoque ultrarrápido y eficiente. 

Como bien sabes, el mundo del desarrollo web está siempre en constante evolución, tanto que es francamente difícil estar al tanto de todas las novedades que se van sucediendo. Una de las últimas novedades es Vite, una herramienta innovadora que redefine el proceso de construcción de aplicaciones Frontend.

En este artículo, explicaremos qué es Vite, las necesidades que cubre en el desarrollo web, sus características principales, así como sus ventajas y beneficios sobre otras alternativas en su uso en proyectos Frontend.

Qué es Vite

Vite es mucho más que una simple herramienta de construcción Frontend, es una solución revolucionaria que está transformando la forma en que los desarrolladores crean aplicaciones web modernas. Desarrollado por Evan You, creador de Vue.js, Vite ha sido concebido desde cero para abordar los desafíos más acuciantes que enfrentan los desarrolladores en el proceso de desarrollo Frontend.

Una de las características más destacadas de Vite es su velocidad. Mientras que las herramientas tradicionales como Webpack y Parcel pueden sufrir de largos tiempos de compilación y recarga. Esta solución ofrece una experiencia de desarrollo instantánea. Esto se logra aprovechando las capacidades modernas de los navegadores y adoptando una arquitectura que permite la compilación bajo demanda.

En definitiva, Vite compila solo lo que es necesario en el momento justo en que se necesita, por lo que los tiempos de compilación son prácticamente instantáneos.

Además, Vite destaca por su flexibilidad, a diferencia de las herramientas tradicionales que imponen estructuras y configuraciones rígidas adopta un enfoque más modular y adaptable. Esto significa que los desarrolladores tienen la libertad de elegir las herramientas y tecnologías que mejor se adapten a sus necesidades específicas, sin verse limitados por restricciones impuestas por la herramienta.

Otra característica distintiva de Vite es su enfoque en el desarrollo basado en módulos, utiliza módulos ESM (ECMAScript Modules) de forma predeterminada, lo que facilita la gestión de dependencias y la organización del código. Esto permite a los desarrolladores escribir código más limpio y modular, lo que a su vez mejora la mantenibilidad y la escalabilidad de las aplicaciones.

Necesidades que viene a cubrir en el desarrollo web

El desarrollo web moderno demanda tiempos de compilación más rápidos y un proceso de desarrollo más eficiente.

Vite aborda estas necesidades al proporcionar una experiencia de desarrollo instantánea que elimina la necesidad de largos tiempos de compilación, además su carácter agnóstico permite que sea utilizado con multitud de herramientas y Framework, por lo que su versatilidad es tremenda.

Aprende a desarrollar webs optimizadas
Comienza 15 días gratis en OpenWebinars y accede cursos, talleres y laboratorios prácticos de JavaScript, React, Angular, HTML, CSS y más.
Registrarme ahora

Características principales de Vite

Rápido tiempo de compilación

Gracias a su arquitectura de “desarrollo instantáneo”, Vite compila solo lo que es necesario en el momento justo en que se necesita. Esto se traduce en tiempos de compilación prácticamente instantáneos, lo que permite a los desarrolladores mantener un flujo de trabajo ágil y productivo.

Soporte para TypeScript y JavaScript moderno

Vite ofrece un sólido soporte para TypeScript y JavaScript moderno, lo que permite a los desarrolladores aprovechar las últimas características del lenguaje y mantener un código limpio y mantenible.

Gracias a una integración perfecta con TypeScript, los desarrolladores pueden disfrutar de las ventajas de un sistema de tipos estático que ayuda a detectar errores en tiempo de compilación y mejorar la calidad del código. Además, Vite es compatible con las últimas especificaciones de JavaScript, lo que permite a los desarrolladores utilizar características como módulos ESM, importaciones dinámicas, …

Hot reload

Una de las características más importantes de Vite es su recarga rápida. Esta función permite actualizar los cambios en el navegador de forma instantánea, sin necesidad de recargar la página.

Esto significa que los desarrolladores pueden ver los efectos de sus cambios en tiempo real, lo que acelera drásticamente el proceso de desarrollo y mejora la productividad.

Integración perfecta con Frameworks de trabajo populares

Vite se integra perfectamente con marcos de trabajo Frontend populares como React, Vue.js y Svelte, lo que facilita su adopción en proyectos existentes y su uso en nuevas aplicaciones.

Gracias a su enfoque modular y adaptable, Vite puede adaptarse fácilmente a los requisitos específicos de cada proyecto, proporcionando una experiencia de desarrollo fluida y eficiente en cualquier contexto.

Ventajas sobre otras herramientas similares

Vite se destaca por su velocidad excepcional y su capacidad para ofrecer una experiencia de desarrollo instantánea.

A diferencia de otras herramientas como Webpack, Vite no requiere configuraciones complejas ni tiempos de compilación prolongados, lo que permite a los desarrolladores ser más productivos y eficientes.

Beneficios de usar Vite en proyectos Frontend

Aunque anteriormente ya hemos tratado algunos de los aspectos diferenciadores del uso de Vite, los beneficios del uso de esta plataforma se pueden resumir en varios puntos, que veremos a continuación.

  • Mejora de tiempos de carga y rendimiento de la aplicación: Vite acelera los tiempos de carga al compilar solo lo necesario en el momento justo, reduciendo así el tiempo de carga de la aplicación. Además, optimiza el rendimiento al integrar técnicas de optimización de código como el tree shaking y la compresión de archivos
  • Simplificación del proceso de configuración y desarrollo: Vite simplifica la configuración y el desarrollo al ofrecer una configuración mínima por defecto. Esto permite a los desarrolladores comenzar a trabajar de inmediato sin la necesidad de configuraciones complejas. Además, su enfoque modular permite adaptarse fácilmente a las necesidades específicas de cada proyecto.
  • Integración con Frameworks populares: Vite se integra perfectamente con frameworks populares como React, Vue.js y Svelte. Esto facilita su adopción en proyectos existentes y su uso en nuevas aplicaciones, permitiendo a los desarrolladores aprovechar las ventajas de estos frameworks sin complicaciones adicionales.

Incremento de funcionalidades con plugins

Vite ofrece un alto nivel de configuración y personalización mediante el uso de plugins, los cuales aumentan su funcionalidad. Algunos de los plugins más comunes son:

  • vitejs/plugin-vue: integra la compilación de archivos Vue en tu proyecto Vite.
  • vitejs/plugin-react-refresh: habilita la actualización en caliente (hot module replacement) para proyectos React.
  • vitejs/plugin-terser: utiliza Terser para minificar los archivos JavaScript en la fase de construcción.
  • vitejs/plugin-eslint: Integra ESLint para el linting de tu código JavaScript/TypeScript durante el desarrollo.
  • vitejs/plugin-stylelint: Integra Stylelint para el linting de tus archivos de estilo (CSS, SCSS, etc.) durante el desarrollo.
  • vitejs/plugin-svg: Permite importar archivos SVG como componentes en tu proyecto.
  • vitejs/plugin-mdx: Permite importar archivos MDX (Markdown con soporte de JSX) como componentes en tu proyecto.
  • rollup/plugin-commonjs: Convierte los módulos CommonJS en ESM para que puedan ser utilizados en proyectos Vite.
  • vite-plugin-windicss: Integra Windi CSS, una herramienta para el desarrollo rápido de estilos CSS con clases utilitarias.
  • vite-plugin-pwa: Configura tu proyecto Vite como una Progressive Web App (PWA), proporcionando funcionalidades como el registro del service worker y la generación del archivo manifest.

Cómo comenzar con Vite

Instalación y configuración de Vite

Para comenzar con Vite, primero necesitas instalarlo en tu proyecto. Puedes hacerlo fácilmente utilizando npm o yarn. Aquí te mostramos cómo hacerlo:

# Instalación de Vite mediante npm
npm install -g create-vite-app
create-vite-app my-project

# Instalación de Vite mediante yarn
yarn create vite my-project

Una vez instalado Vite, puedes configurar tu entorno de desarrollo según tus necesidades específicas. Vite proporciona una configuración mínima por defecto que es suficiente para comenzar a desarrollar, pero también te permite personalizarla según tus requisitos.

import { defineConfig } from 'vite';

export default defineConfig({
  // Sección de configuración del servidor de desarrollo
  server: {
    port: 3000, // Puerto en el que se ejecutará el servidor de desarrollo
    host: 'localhost', // Host al que se vinculará el servidor de desarrollo
  },
  // Sección de configuración de construcción
  build: {
    outDir: 'dist', // Directorio de salida para los archivos construidos
    assetsDir: 'assets', // Directorio para los archivos estáticos
    sourcemap: true, // Generar sourcemaps para facilitar la depuración
  },
  // Sección de configuración de plugins
  plugins: [
    // Aquí puedes configurar los plugins que necesites
  ],
  // Sección de configuración de dependencias
  optimizeDeps: {
    // Aquí puedes configurar las dependencias que se optimizarán
  },
});

Primer proyecto con Vite

Una vez que hayas creado tu proyecto Vite, puedes empezar a trabajar en tu primera aplicación. Aquí hay un ejemplo de cómo crear una aplicación simple, que consiste en un contador que funciona bajo el Framework Vue.js:

<!-- index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Simple Counter App</title>
</head>
<body>
    <div id="app">
        <h1>{{ count }}</h1>
        <button @click="increment">Increment</button>
        <button @click="decrement">Decrement</button>
    </div>

    <script type="module" src="/src/main.js"></script>
</body>
</html>
// src/main.js
import { createApp } from 'vue';

const app = createApp({
    data() {
        return {
            count: 0
        };
    },
    methods: {
        increment() {
            this.count++;
        },
        decrement() {
            this.count--;
        }
    }
});

app.mount('#app');

Una vez creado este ejemplo inicial, puedes desplegar tu proyecto en local usando el siguiente comando:

npm run dev

Este comando iniciará un servidor de desarrollo local y abrirá automáticamente tu aplicación en una pestaña del navegador.

Ahora puedes ver tu aplicación en acción y comenzar a desarrollar nuevas características, cuando hagas un cambio en el código el navegador mostrará el cambio de forma inmediata.

Mejores prácticas usando Vite

Utilizar módulos ESM para una mejor gestión de dependencias

Vite utiliza módulos ESM (ECMAScript Modules) de forma predeterminada para gestionar las dependencias de tu proyecto. Esto te permite importar y exportar módulos de manera fácil y eficiente, lo que simplifica la gestión de dependencias en tu aplicación.

Este es un ejemplo simple de cómo puedes importar un módulo en tu proyecto Vite:

import { sum } from './utils/math.js';

console.log(sum(2, 3)); // Output: 5

// utils/math.ts

export class MathUtils {
  // Método estático para sumar dos números
  static sum(a: number, b: number): number {
    return a + b;
  }

}

Aprovechar al máximo el sistema de recarga en caliente

Una de las características más poderosas de Vite es su sistema de recarga en caliente, que te permite ver los cambios en tiempo real mientras trabajas en tu aplicación.

Asegúrate de aprovechar al máximo esta función para acelerar tu proceso de desarrollo y mejorar tu flujo de trabajo.

Optimizar el tamaño y la eficiencia del código

Al desarrollar con Vite, es importante optimizar el tamaño y la eficiencia de tu código para garantizar un rendimiento óptimo de la aplicación. Esto incluye eliminar código no utilizado, utilizar técnicas de optimización de imágenes y archivos estáticos, y minimizar el número de solicitudes HTTP.

Aquí tienes algunos consejos para optimizar tu código:

  • Tree Shaking: Aprovecha el tree shaking para eliminar el código no utilizado de tus dependencias. Asegúrate de que tus módulos estén exportando solo lo que sea necesario y que estén correctamente marcados para la eliminación de código no utilizado.
  • Optimización de imágenes y archivos estáticos: Utiliza herramientas como imagemin o svgo para optimizar imágenes y archivos SVG, reduciendo así su tamaño.
  • Carga bajo demanda (Lazy loading): Implementa la carga bajo demanda para cargar recursos solo cuando sean necesarios. Esto puede reducir el tiempo de carga inicial y el tamaño total de la aplicación.
  • Code Splitting: Divide tu código en módulos más pequeños y usa el code splitting para cargar solo lo necesario en cada página o sección de tu aplicación.
  • Compresión de archivos: Habilita la compresión de archivos en tu servidor para reducir el tamaño de los recursos estáticos que se envían al navegador.
  • Optimización de CSS y JavaScript: Minimiza y comprime tus archivos CSS y JavaScript para reducir su tamaño. Puedes utilizar herramientas como cssnano y terser para esto.
  • Análisis de paquetes (Bundle analysis): Utiliza herramientas de análisis de paquetes como webpack-bundle-analyzer para identificar las partes de tu aplicación que contribuyen más al tamaño total del paquete y optimízalas en consecuencia.
  • Cacheo de recursos: Aprovecha el cacheo de recursos en el navegador utilizando encabezados de caché y estrategias de almacenamiento en caché para reducir el tiempo de carga en visitas posteriores.
  • Optimización del rendimiento: Realiza pruebas de rendimiento y utiliza herramientas como Lighthouse para identificar y corregir cuellos de botella en el rendimiento de tu aplicación.
  • Actualización de dependencias: Mantén actualizadas tus dependencias y revisa regularmente si hay nuevas versiones que puedan ofrecer mejoras en tamaño y rendimiento.
Construye interfaces de usuarios personalizadas y atractivas
Lleva la formación de tu equipo al siguiente nivel con cursos, talleres y laboratorios prácticos de JavaScript, React, Angular, HTML, CSS y más.
Solicitar más información

Conclusiones

Vite, con su enfoque innovador y eficiente en el desarrollo Frontend, se posiciona como una herramienta revolucionaria que no solo simplifica el proceso de desarrollo, sino que también mejora significativamente la experiencia de desarrollo, a lo largo de este artículo hemos estudiado varios de los aspectos y beneficios que lo definen tales como el hot reload, la gestión de dependencias, etc.

En resumen, Vite es una opción atractiva para proyectos Frontend debido a su velocidad excepcional, su integración con marcos de trabajo populares y su enfoque en la eficiencia y el rendimiento. Sin embargo, la elección de utilizar Vite sobre otras herramientas depende de las necesidades y preferencias específicas de cada proyecto y equipo de desarrollo.

Bombilla

Lo que deberías recordar de Vite

  • Vite es extremadamente rápido y eficiente en comparación con otras herramientas de construcción Frontend.
  • Su integración con diferentes Frameworks lo hace versátil y fácil de adoptar.
  • Utiliza las mejores prácticas y novedades para maximizar la eficiencia y el rendimiento de tu aplicación con Vite.
  • Su recarga automática mejora tanto la experiencia de desarrollo como la velocidad de codificación.
  • Vite es totalmente configurable, de forma que puedes integrar plugins para mejorar el desempeño del proyecto Frontend.
Compartir este post

También te puede interesar

Icono de la tecnología
Curso

Desarrollo web Frontend

Intermedio
17 h. y 51 min.

Uno de los perfiles más demandando por las empresas.

Sergio Rus
4.1