Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

เมื่อ Vite 8 เดิมพันอนาคตของ Web Tooling ด้วยสถาปัตยกรรมแบบที่ขับเคลื่อนด้วย Rust (Rolldown + Oxc)

📅 วันที่เผยแพร่: 2026-03-21

เพิ่งมีการประกาศเปิดตัว Vite 8 อย่างเป็นทางการเมื่อเร็วๆ นี้ (12 มีนาคม 2026) มองเผินๆ อาจจะดูเหมือนเป็นการอัปเดตเครื่องมือฝั่ง Frontend ธรรมดาๆ แต่ถ้ามองลึกลงไปในระดับสถาปัตยกรรม นี่คือหนึ่งในกรณีศึกษาที่น่าสนใจมากครับ เพราะมันพิสูจน์ให้เห็นว่า Rust ไม่ได้มีดีแค่ความเร็ว แต่มันคือภาษาที่เข้ามาแก้ปัญหาคอขวดทางสถาปัตยกรรมที่เรื้อรังมาอย่างยาวนาน

ปัญหาของสถาปัตยกรรมแบบเดิม (Dual-Bundler)

ย้อนกลับไปในอดีต ความสำเร็จของ Vite เกิดจากการใช้สถาปัตยกรรมแบบ “Dual-bundler” คือใช้ esbuild (เขียนด้วย Go) เพื่อความเร็วในการคอมไพล์ตอน Development และใช้ Rollup (เขียนด้วย JavaScript) สำหรับการทำ Optimization ในฝั่ง Production

แม้แนวทางนี้จะเวิร์ค แต่มันแลกมาด้วย Technical Debt มหาศาล การมี Pipeline การแปลงโค้ดถึงสองชุด หมายความว่าทีมงานต้องเขียน “Glue code” จำนวนมากเพื่อเชื่อมระบบ Plugin ทั้งสองฝั่งให้ทำงานตรงกัน นำไปสู่ปัญหา Edge cases และความไม่สอดคล้องกันของการจัดการ Module ที่สะสมพอกพูนตามกาลเวลา

ทางออกด้วย Rolldown และ Rust

ทางออกของปัญหานี้ไม่ได้อยู่ที่การปรับจูนโค้ดเดิม แต่คือการรื้อโครงสร้างใหม่ทั้งหมดด้วย Rolldown ซึ่งเป็น Bundler ตัวใหม่ที่เขียนด้วย Rust (พัฒนาโดยทีม VoidZero)

การเข้ามาของ Rust ในครั้งนี้ไม่ใช่แค่การทำ Rewrite it in Rust (RIIR) เพื่อเอาความเร็วแบบ Native speed เท่านั้น แต่เป้าหมายหลักคือ การสร้าง Unified Toolchain หรือการรวมศูนย์เครื่องมือทั้งหมดให้เป็นหนึ่งเดียว

เมื่อ Vite 8 ทำงานร่วมกับ Rolldown และคอมไพเลอร์ที่เขียนด้วย Rust อย่าง Oxc สิ่งที่เกิดขึ้นคือการจัดการหน่วยความจำและการส่งผ่านข้อมูลระดับลึกที่แนบเนียนอย่างไร้รอยต่อ ตั้งแต่ขั้นตอน Parsing, Resolving ไปจนถึง Transforming และ Minifying การที่ระบบทั้งหมดอยู่ในสภาพแวดล้อมของ Rust ทำให้ทีมพัฒนาสามารถทำ Optimization ระดับลึกที่เมื่อก่อนเป็นไปไม่ได้ เช่น การนำ Semantic Analysis ของ Oxc มาวิเคราะห์โครงสร้างเพื่อทำ Tree-shaking ใน Rolldown ได้อย่างหมดจดและแม่นยำยิ่งขึ้น

ผลลัพธ์ที่ก้าวกระโดด

ผลลัพธ์ที่ได้นั้นก้าวกระโดดอย่างชัดเจน:

  • ความเร็ว: Rolldown สามารถทำความเร็วได้มากกว่า Rollup เดิมถึง 10-30 เท่า (เทียบเท่าระดับของ esbuild)
  • Production Build: มีกรณีศึกษาจากโปรเจกต์ขนาดใหญ่อย่างแอปพลิเคชัน Linear ที่เวลาในการบิลด์ Production ลดลงจาก 46 วินาที เหลือเพียง 6 วินาทีเท่านั้น (หรือบริษัทอย่าง Beehiiv ที่ลดเวลาบิลด์ได้ถึง 64%)
  • ความเข้ากันได้: ในขณะที่ยังคงความเข้ากันได้ (Compatibility) กับ Plugin API ของ Rollup เดิมแทบจะ 100%

อนาคตที่น่าจับตาสำหรับชาว Rust Developer

สิ่งที่น่าสนใจที่สุดสำหรับชาว Rust Developer คือ แผนการในอนาคตที่สะท้อนให้เห็นถึงการแก้ปัญหาเรื่อง Serialization/Deserialization Overhead ระหว่าง Rust และ Node.js อย่างถึงแก่น ในเอกสารอ้างอิงได้ระบุถึงฟีเจอร์ที่กำลังพัฒนา เช่น:

  • Raw AST Transfer: ที่จะอนุญาตให้ Plugin ฝั่ง JavaScript สามารถเข้าถึง Abstract Syntax Tree (AST) ที่ถูกสร้างขึ้นจากฝั่ง Rust ได้โดยมี Overhead ในการแปลงข้อมูลต่ำที่สุด
  • Native MagicString transforms: ที่เป็นกระบวนทัศน์ใหม่ของการเขียน Plugin โดยให้ Logic การทำงานอยู่ฝั่ง JavaScript แต่ผลักภาระงานประมวลผลการจัดการ String ที่หนักหน่วงไปให้ฝั่ง Rust เป็นคนจัดการแทน

บทสรุป

Vite 8 จึงเป็นเหมือนการตอกย้ำว่า ในยุคถัดไปของการสร้างเครื่องมือสำหรับนักพัฒนา การผสมผสานระหว่าง High-level API (JS/TS) เข้ากับ Low-level Performance & Memory Control (Rust) คือสถาปัตยกรรมที่ยั่งยืนที่สุดก็เป็นได้ครับ


Credit & Reference:

  1. Vite 8.0 is out!
  2. vite GitHub repo
  3. rolldown GitHub repo
  4. oxc GitHub repo