1 คะแนน โดย GN⁺ 2026-02-14 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ใช้ประโยชน์จากประสิทธิภาพการคอมไพล์ของ Rustเพื่อเร่งความเร็วในการบิลด์และการทำงานของแอปพลิเคชัน React ให้สูงสุดด้วยโครงสร้างพื้นฐานการเรนเดอร์แบบเร่งรันไทม์
  • รองรับ React Server Components ในตัว เพื่อลดปริมาณ JavaScript ที่ส่งไปยังไคลเอนต์
  • ใช้บันเดลเลอร์ Rust ยุคใหม่บนพื้นฐาน Rolldown-Vite เพื่อทำให้บิลด์ได้รวดเร็วโดยไม่ต้องตั้งค่า
  • รองรับ TypeScript อย่างสมบูรณ์ด้วย tsgo พร้อมมอบการตรวจสอบชนิดข้อมูลที่เร็วขึ้น 10 เท่า
  • มี HMR บนพื้นฐาน Vite, ข้อความแสดงข้อผิดพลาดแบบละเอียด และเครื่องมือพัฒนาที่เร็วระดับเนทีฟ เพื่อรับประกันประสบการณ์การพัฒนาที่ลื่นไหล

การเพิ่มประสิทธิภาพด้วย Rust

  • คอมไพล์ด้วย Rust เพื่อมอบความเร็วระดับเนทีฟ
    • รองรับการประมวลผลความเร็วสูงทั้งในขั้นตอนบิลด์และรันไทม์
  • ออกแบบมาเพื่อลดคอขวดด้านประสิทธิภาพของแอปพลิเคชัน React ให้เหลือน้อยที่สุด

รองรับ React Server Components

  • มี React Server Components ติดตั้งมาในตัว
    • ลดปริมาณ JavaScript ที่ส่งไปยังไคลเอนต์เพื่อเพิ่มประสิทธิภาพการโหลด
  • ทำให้เกิดการเพิ่มประสิทธิภาพการส่งข้อมูลผ่านการเรนเดอร์ที่ยึดเซิร์ฟเวอร์เป็นศูนย์กลาง

สภาพแวดล้อมการบิลด์แบบไม่ต้องตั้งค่า

  • โครงสร้างแบบ Zero Configuration ที่ใช้ Rolldown-Vite เป็นพื้นฐาน
    • บิลด์ได้ทันทีโดยไม่ต้องมีการตั้งค่าเพิ่มเติม
  • บันเดลเลอร์ที่เขียนด้วย Rust มอบความเร็วในการบิลด์ระดับสายฟ้าแลบ

การบันเดิลและความปลอดภัยของชนิดข้อมูล

  • ใช้ Rolldown เพื่อการบันเดิลที่เร็วระดับเนทีฟและดึงประสิทธิภาพสูงสุดออกมา
  • รองรับ TypeScript อย่างสมบูรณ์ผ่าน tsgo
    • มอบการตรวจสอบชนิดข้อมูลที่เร็วขึ้น 10 เท่าและคำจำกัดความชนิดข้อมูลที่แม่นยำ

ประสบการณ์นักพัฒนา

  • ใช้ HMR (Hot Module Replacement) บนพื้นฐาน Vite เพื่อสะท้อนการเปลี่ยนแปลงของโค้ดได้ทันที
  • รองรับเวิร์กโฟลว์ที่ราบรื่นด้วยข้อความแสดงข้อผิดพลาดแบบละเอียดและเครื่องมือพัฒนาที่เร็วระดับเนทีฟ
  • มอบสภาพแวดล้อมการผสาน Rust-Reactที่ช่วยเพิ่มประสิทธิภาพและผลิตภาพในการพัฒนา

1 ความคิดเห็น

 
GN⁺ 2026-02-14
ความคิดเห็นจาก Hacker News
  • จริง ๆ แล้วฉันชอบโปรเจ็กต์นี้นะ แต่คำอธิบายและคุณภาพเอกสารยังไม่ดีพอมาก ๆ
    ถ้าคำว่า “rust-powered” หมายถึงแค่ใช้ rolldown bundle JS ก็โอเค แต่ก็ทำให้เข้าใจผิดได้ง่ายว่าเป็น Rust framework
    อีกอย่าง วลีอย่าง “seamless NPM package integration” ฟังเหมือน LLM เขียน เพราะไลบรารี JS ส่วนใหญ่ก็ทำงานแบบนั้นอยู่แล้ว เลยไม่ค่อยมีความหมาย
    ถึงอย่างนั้น พอคิดว่าแทบไม่มีเฟรมเวิร์กเรียบง่ายสำหรับ React เลย ความเรียบง่ายที่ทำให้เริ่มจากโปรเจ็กต์ว่าง ๆ แล้วไปถึง RSC ได้ทันทีนี่ถือว่ายอดเยี่ยมมาก นี่แหละควรเป็นสโลแกน
    ตัวโค้ดเบสดูสุกงอมกว่าเอกสารมาก ปลั๊กอิน Vite ก็รองรับ options ดีอยู่แล้ว แค่ยังไม่ได้เขียนเอกสารเท่านั้น
    มารู้ทีหลังว่า Rust runtime รัน JS จริง ๆ ด้วย แต่ก็ยังสงสัยว่าส่วนนี้แยกจากเฟรมเวิร์กหรือเปล่า หรือว่ามันทำงานได้เฉพาะบน Rust runtime เท่านั้น อยากรู้ว่ารันบน Node ได้ไหม

    • เห็นด้วยว่าข้อความสื่อสารมันชวนสับสน เพราะจนถึงตอนนี้ผมเขียนอยู่คนเดียว ถ้ามี PR มาช่วยปรับถ้อยคำก็ยินดีเสมอ
      “Rust-powered” ไม่ได้หมายถึง bundler แต่หมายถึงserver runtime เซิร์ฟเวอร์ HTTP, ตัวเรนเดอร์ RSC และ routing เขียนด้วย Rust ทั้งหมด ส่วน React component จะรันบน V8 engine ที่ฝังมาในตัว
      ส่วนเรื่อง npm integration หมายถึง Rust runtime จัดการการ resolve node_modules โดยตรง ไม่ได้ใช้ npm specifier แบบ Deno
      สโลแกนอย่าง “Zero to RSC in minutes” ชัดเจนกว่ามาก ช่วงก่อนผมโฟกัสกับการทำให้ runtime เสถียรจนเอกสารตามไม่ทัน แต่ตอนนี้ถึงเวลาต้องตามเก็บแล้ว
  • ผมว่า React ตอนนี้คือเฟรมเวิร์ก JS สมัยใหม่ที่แย่ที่สุดแล้ว Vue ไปไกลกว่ามาก และ Svelte หรือ Solid หรือแม้แต่ Marko ก็ยังดีกว่า

    • React เพิ่มabstraction ที่ไม่ค่อยดีเข้ามาตลอด 10 ปีที่ผ่านมา อันนี้จริง โดยเฉพาะ hooks กับ effects
      แต่ก็ยังไม่ถึงขั้นแย่ที่สุดอยู่ดี มันเคยประสบความสำเร็จอย่างมากเพราะ JSX, functional component และ state management ที่เรียบง่าย
      ตอนนี้ชุมชนมันใหญ่เกินกว่าจะถูกแทนที่ได้ง่าย ๆ เฟรมเวิร์กอื่น ๆ ก็พัฒนาขึ้นทีละนิด แต่ระดับของนวัตกรรมก็ไม่ได้ต่างกันมาก
    • ฟังเหมือนแนว “โลกนี้ผิด มีแต่ฉันถูก” มากกว่า ผมไม่รู้สึกว่าเฟรมเวิร์กอื่นนำหน้าไปขนาดนั้นนะ ลองใช้มาหลายตัวแล้ว React เข้าใจง่ายที่สุด
    • ผมเป็น React developer แต่ลองใช้ Vue ในช่วงไม่กี่เดือนที่ผ่านมาแล้วพบว่าแทบไม่มีข้อดีอะไรเลย
    • เห็นด้วยเต็มที่ React จะดีขึ้นมากถ้าเขียนด้วยแพตเทิร์นที่ไม่เป็นมาตรฐาน แต่คอมมูนิตี้มันเคร่งหลักเกินไปจนชอบเยาะเย้ยความพยายามแบบนั้น
      ผมใช้โครงสร้าง MVC/MVVM ในโปรเจ็กต์ส่วนตัวแล้วจัดการง่ายขึ้นมาก พึ่ง IDE plugin น้อยลง และเลือกเวอร์ชัน TypeScript ได้อิสระกว่า
    • เรื่องการรองรับ SaaS SDK สำคัญนะ เพราะส่วนใหญ่มี SDK ให้แค่ React/Next.js ถ้าใช้เฟรมเวิร์กอื่น คนในทีมก็มองแปลก ๆ
  • กำลังทดลองใช้ชุด Rust + React อยู่ react-vello ที่ผมทำ เปิดให้ใช้ Vello ซึ่งเป็น Rust GPU renderer เป็น React renderer
    ผ่าน WASM + WebGPU ทำให้ Rust เป็นคนเรนเดอร์ในเบราว์เซอร์ และใช้ React วาดรูปทรงกับข้อความแบบประกาศได้

    • ชุด Rust + React นี่สวยงามจริง ๆ เอา logic ที่ซับซ้อนไปไว้ใน Rust แล้วให้ React จัดการ UI
      การเชื่อมสองฝั่งด้วย wasm-bindgen และ tsify มันง่ายมากจนเหมือนเป็นภาษาเดียวกัน ผมว่ามันคือแก่นแท้ของวิศวกรรมเลย
      React Vello ก็ดูน่าสนใจมาก ขอบคุณที่เอามาแชร์
    • ดูเป็นแนวทางคล้าย Dioxus Native
    • โครงสร้างที่ Rust server ส่งMorphDOM diff ผ่าน WebSocketไปให้เบราว์เซอร์ก็น่าสนใจเหมือนกัน
    • เดโมใช้ไม่ได้บน Firefox + Linux
    • โปรเจ็กต์เจ๋งมากจริง ๆ
  • คำอธิบายว่า “React Server Components framework powered by a Rust runtime” นี่แหละคือแก่น

    • ขอบคุณ แบบนี้เข้าใจคอนเซปต์แล้ว เดี๋ยวจะกลับไปดูในเว็บต่อแบบละเอียด
  • ถ้ากำลังหา Rust-based web framework ผมแนะนำ Leptos
    ลิงก์ที่เกี่ยวข้อง: HN discussion, YouTube demo

    • ผมก็ชอบ Leptos มันเป็นตัวเลือกที่ยอดเยี่ยมสำหรับคนที่อยากทำแอป full-stack ด้วย Rust
      แต่ rari ใช้แนวทางคนละแบบ มันไม่ใช่ Rust framework แต่เป็นเฟรมเวิร์ก React Server Components ที่ทำงานบน Rust runtime
      เป้าหมายคือซ่อนความซับซ้อนของ Rust เอาไว้ เพื่อให้นักพัฒนา JS/TS สร้าง React app ประสิทธิภาพสูงได้โดยไม่ต้องรู้ Rust
  • วลี “Rust-Powered Performance — Native speed with Rust compilation for blazing-fast builds and runtime” ฟังดูตลกดี
    ทั้งที่ตัว Rust เองก็คอมไพล์ช้า แต่กลับช่วยให้อีกภาษาหนึ่งเอาเรื่องความเร็วมาอวดได้

    • มีม “ผู้ชี้ทางสู่ขุมทรัพย์แต่ครอบครองมันเองไม่ได้” นี่เข้ากับสถานการณ์มาก
    • runtime กับ compile time คนละเรื่องกัน
  • สงสัยว่ามันทำงานคล้าย ReasonML กับ React-Reason ไหม ผมไม่เข้าใจว่า Rust ไป reimplement JS engine หรือเปล่า

    • มันต่างจาก ReasonML นะ คุณยังเขียนด้วยReact/TypeScript ปกติเหมือนเดิม
      Rust ทำหน้าที่เป็น server runtime แทนที่จะใช้ Node.js ก็ใช้ Rust server ที่รัน React Server Components ผ่าน V8 engine ที่ฝังมาในตัว
      พูดอีกแบบคือโค้ด React ยังเหมือนเดิม แต่ตัวเซิร์ฟเวอร์เป็น Rust เลยให้ประสิทธิภาพดีกว่า Node
    • ผมลืม ReasonML ไปสนิทเลย
  • ผมเป็นผู้เขียน ตอนนี้แก้ปัญหาได้แล้ว สาเหตุมาจากrate limiterที่ตั้งไว้รุนแรงเกินไป

    • โปรเจ็กต์เจ๋งมากครับ พอดูสถาปัตยกรรมแล้วเหมือนฝั่ง backend ใช้ Deno VM เพื่อรัน JS
      ผมกำลังทำอะไรคล้าย ๆ กันสำหรับ JVM backend — double-view
      มันใช้ GraalVM รัน JS แต่เพราะปัญหาเรื่อง integration เลยต้องคอมไพล์ JS ไปเป็น WebAssembly อยากรู้ว่า rari ใช้แนวทางเดียวกันไหม
  • ชื่อมันฟังดูเหมือนเอา “Ferrari” ที่เร็ว ๆ มาผสมกับ React เลยเท่มาก อยากรู้ว่ามีuse case หรือแรงบันดาลใจเฉพาะอะไรไหม
    ผมเองก็เพิ่งปล่อยโปรเจ็กต์โอเพนซอร์สเหมือนกัน เห็นโปรเจ็กต์ของคุณได้รับความสนใจก็รู้สึกยินดีด้วย

    • ขอบคุณครับ! จริง ๆ แล้วชื่อนี้มาจากตัวย่อของ “Runtime Accelerated Rendering Infrastructure” คือ RARI
      แต่ผมก็ชอบที่มันชวนให้นึกถึง Ferrari เหมือนกัน เข้ากับธีมเรื่องประสิทธิภาพดี
      เพราะผมใช้ Rust เยอะ ก็เลยอยากเอาข้อได้เปรียบด้านประสิทธิภาพนั้นไปให้นักพัฒนา JSในงาน React ด้วย
      เป้าหมายคือซ่อนความซับซ้อนของ Rust เอาไว้ แต่ยังได้ความเร็วเหมือนเดิม
      ยินดีกับการเปิดตัวโปรเจ็กต์ของคุณด้วยนะ อยากรู้ว่าคุณทำอะไรไว้
  • เอกสารเริ่มต้นด้วยServer Components เลย เลยสงสัยว่าหลังเหตุการณ์ด้านความปลอดภัยล่าสุด มันยังได้รับความนิยมอยู่ไหม
    อ้างอิง: รายงานช่องโหว่ RCE ของ React Server Components