zero-native - สร้างแอปเดสก์ท็อป + มือถือด้วย Zig และเว็บ UI
(github.com/vercel-labs)- เฟรมเวิร์ก เชลล์แอปเดสก์ท็อปที่สร้างบน Zig จาก Vercel Labs สำหรับเปลี่ยนเว็บฟรอนต์เอนด์ให้เป็นแอปเนทีฟบน Mac/Windows/Linux
- เมื่อใช้ระบบ WebView จะไม่ต้องบันเดิล browser runtime ทำให้ไบนารีมีขนาดเล็กและเปิดทำงานได้รวดเร็ว
- หากต้องการความสม่ำเสมอของการเรนเดอร์ สามารถสลับไปบันเดิล Chromium (CEF) ได้ และเลือกเว็บเอนจินใน
app.zon(ไฟล์ manifest) - เพราะ Zig สามารถเรียก C ได้โดยตรง จึงเข้าถึง platform SDK, native library และ codec ได้โดย ไม่ต้องมี glue layer เพิ่มเติม
- ใช้โมเดลความปลอดภัยที่ ไม่เชื่อถือ WebView โดยปริยาย: คำสั่งเนทีฟ, สิทธิ์, การนำทาง และ API ของหน้าต่างทั้งหมดเป็นแบบ opt-in
- เมื่อเรียก JavaScript → Zig bridge ผ่าน
window.zero.invoke()จะมีการใช้ข้อจำกัดขนาด, การตรวจสอบ origin และการตรวจสอบสิทธิ์ - มี starter template สำหรับฟรอนต์เอนด์ Next, React, Svelte, Vue และรันได้ทันทีด้วย
zig build run - ขณะนี้ยังเป็นรุ่น pre-release และรองรับเส้นทางการบิลด์สำหรับ Mac/Linux/Windows
- ฝั่งมือถือใช้วิธี embed โดยให้แอปโฮสต์ iOS/Android ลิงก์ C ABI ของ
libzero-native.a(มีตัวอย่างให้) - ไลเซนส์ Apache-2.0
10 ความคิดเห็น
โปรเจกต์นี้กำลังพิสูจน์ให้เห็นว่ายุคที่เราจมอยู่กับความสะดวกของการทำ abstraction จนยอมสละประสิทธิภาพในการรันกำลังจะผ่านพ้นไปแล้ว ไบนารีที่มีขนาดเล็กและการตอบสนองที่รวดเร็วคือแก่นแท้ของประสบการณ์ผู้ใช้ และเป็นฟีเจอร์ที่ทรงพลังที่สุด
เห็นด้วยครับ โดยเฉพาะในยุคนี้ที่หน่วยความจำแพงแบบทุกวันนี้ ยิ่งรู้สึกว่าเป็นแบบนั้นจริง ๆ
สรุปแล้วมันก็คือการทำเว็บแอปให้เป็นแอปเนทีฟไม่ใช่เหรอครับ? ผมยังไม่ค่อยรู้เท่าไรนะครับ มันจะเป็นทางเลือกที่ดีกว่า PWA builder ไหม..
PWA ไม่ได้เป็นการสร้างแอปใหม่ แต่เป็นเพียงการทำให้เว็บไซต์ทำงานเหมือนแอปได้เท่านั้น
ส่วน Electron, Tauri หรือ zero-native แบบนี้ เป็นเฟรมเวิร์กที่ช่วยให้สร้างแอปเนทีฟด้วยเทคโนโลยีเว็บได้
และจุดต่างจาก PWA คือสามารถเข้าถึง OS ผ่าน Native API ได้
ดูเหมือนว่า OpenCode Desktop จะย้ายจาก Tauri ไปเป็น electron ด้วยหลายเหตุผล
https://x.com/brendonovich/status/2045725889422610602
ดีมากเลย T_T มีความสุขจัง
ช่วงนี้ดูเหมือนว่า Vercel เองก็เริ่มลงหลักปักฐานกับการพัฒนาที่ขับเคลื่อนด้วย AI แล้ว เลยปล่อยของใหม่ออกมาแบบรัวๆ
การเพิ่มฟีเจอร์ให้ของเดิมก็เร็วเหมือนกันครับ เช่น agent-browser, portless, json-render ฯลฯ
Zero-native ให้ความรู้สึกเหมือนเป็น Tauri เวอร์ชัน Zig ยังไงยังงั้น
Tauri (Rust) vs Zero-Native (zig) vs Wails (go)
Tauri 2.0 ออกรุ่นเสถียรอย่างเป็นทางการ
Wails - เฟรมเวิร์กพัฒนาแอปพลิเคชันเดสก์ท็อปด้วย Go
ผลงานล่าสุดของ vercel labs แทบทั้งหมดเหมือน Chris Tate จะเป็นคนลุยทำอยู่คนเดียว ซึ่งน่าทึ่งมากจริง ๆ
https://x.com/ctatedev
แต่เรื่องความเสถียร ยังไงก็เป็น electron ไม่ใช่เหรอ
สำหรับผม
electronเป็นภาระหนักเกินไปตั้งแต่เรื่องการใช้หน่วยความจำก่อนเลย แอปที่ใช้แค่ system WebView ก็เพียงพออยู่แล้ว แบบนี้ทางเลือกทดแทนพวกนี้น่าจะดีกว่าครับ