Vite, Build Tool Lebih Cepat dari Create React App

Written on May 2, 2021 by

photo of me

Theodorus Clarence.

––– views • 4 min read

Read in English

Introduction

Vite meningkatkan developer experience secara signifikan dan memungkinkan untuk install time, build time awal, dan hot reload yang sangat cepat

Dalam kurun waktu yang cukup lama, kita selalu menggunakan Webpack untuk bundler di React yang terdapat dalam Create React App. Bahkan, sampai sekarang CRA masih menggunakan Webpack sebagai pilihan bundlernya. Walaupun tidak dapat dipungkiri Webpack sangat baik sebagai bundler, dan banyak javascript application yang menggunakannya, kadang butuh waktu yang cukup lama untuk boot up dev server pertama kali. Kadang bisa 1 sampai 2 menit untuk project yang sudah cukup besar, hot reload pada CRA juga terasa lemot saat project sudah cukup besar.

What is Vite?

Vite (Kata dari bahasa perancis dengan arti "cepat", penyebutannya /vit/) adalah sebuah build tool yang melakukan pre-bundling debendencies menggunakan esbuild. Esbuild ditulis dalam bahasa Go dan dapat melakukan pre-bundling dependencies 10-100x lebih cepat daripada kebanyakan JavaScript-based bundler.

Vite memiliki 2 fitur besar:

Aplikasi Vite bekerja sama persis seperti normalnya aplikasi React, kita bisa menggunakan semua fitur yang ada sama dengan Create React App, dengan developer experience yang lebih cepat.

How fast is Vite?

Saya mencoba untuk membandingkan installation time, dan build time sampai server berjalan, dan ini hasilnya:

Installation Time

Compare Installation

Ini adalah command yang saya gunakan untuk menginstall Vite dan CRA. Saya menjalankan yarn command pada Vite karena Vite hanya melakukan scaffolding saja pada saat instalasi dan kita harus menginstall dependenciesnya sendiri

Compare Installation

Instalasi menggunakan CRA memakan waktu yang sangat signifikan daripada Vite. Vite selesai hanya dalam kurun waktu 26 detik, dan Create React App memakan waktu 1 menit 12 detik. Vite sangat cepat dalam waktu instalasi.

Build Time

Instalasi hanya dijalankan sekali pada saat awal kita membuat project, tetapi build time akan berjalan setiap kali kita mau develop project yang ktia miliki! Ini jauh lebih penting dan bisa menujadi turning point untuk pindah dari CRA ke Vite.

Compare Build Time

Hasilnya adalah, Vite hanya membutuhkan waktu sekitar 300ms, bahkan iTerm saya tidak menghitung waktu karena sangking cepatnya. Sedangkan Create React App memakan waktu sebanyak 22 detik sampai server berjalan.

Dan ini adalah project kosong, building time akan meningkat seiring dengan project kita yang semakin besar.

Try it out!

Saya menyarankan anda untuk mencoba sendiri dan merasakan kecepatannya, untuk mempersingkat, saya memiliki sebuah vite-react-tailwind starter template, dapat dicek di github saya. Kemudian buka terminal dan jalankan code berikut:

npx degit https://github.com/theodorusclarence/vite-react-tailwind-starter project-name
bash

kemudian, install dependencies menggunakan

yarn
atau
npm install
bash

To start the server run the code

yarn dev
atau
npm run dev
bash

Bagaimana?

Hot reload dari Vite juga sangat cepat, coba ubah" codingan pada Landing Page di /pages/Home.jsx

Summary

Use the starter as a bonus!

Anda boleh menggunakan starter tersebut untuk project anda! Saya membuat starter tersebut untuk menghindari melakukan setup react-router, react helmet, absolute import, dan tailwindcss setiap kali saya membuat sebuah project. Coba gunakan starter itu untuk mempermudah dan kindly give it a star!

Dengan adanya Vite ditambah Next.js, sepertinya saya tidak akan menggunakan CRA lagi. Saya sudah pasti akan memilih Vite daripada CRA ketika harus membuat sebuah aplikasi yang ada authenticationnya, dan menggunakan Next.js ketika membuat static site.

Enjoying my post? Kindly subscribe to my newsletter if you want an update everytime I post.