zero-native - Xây dựng ứng dụng desktop + mobile với Zig và web UI
(github.com/vercel-labs)- Một desktop app shell dựa trên Zig do Vercel Labs công bố, là framework giúp biến frontend web thành ứng dụng native cho macOS/Windows/Linux
- Khi dùng WebView của hệ thống, không cần bundle runtime trình duyệt nên binary nhỏ và khởi chạy nhanh
- Nếu cần tính nhất quán khi render, có thể chuyển sang bundle Chromium (CEF); chọn web engine trong
app.zon(tệp manifest) - Vì Zig có thể gọi trực tiếp C, nên khi truy cập SDK nền tảng, thư viện native và codec sẽ không cần lớp glue riêng
- Áp dụng mô hình bảo mật không mặc định tin cậy WebView: lệnh native, quyền hạn, điều hướng và toàn bộ API cửa sổ đều theo cơ chế opt-in
- Khi gọi cầu nối JavaScript → Zig bằng
window.zero.invoke(), hệ thống áp dụng giới hạn kích thước, kiểm tra origin và kiểm tra quyền hạn - Cung cấp starter template cho frontend Next, React, Svelte, Vue, có thể chạy ngay bằng
zig build run - Hiện đang ở giai đoạn pre-release và hỗ trợ luồng build cho macOS/Linux/Windows
- Với mobile, dùng cách nhúng trong đó ứng dụng host iOS/Android liên kết C ABI của
libzero-native.a(kèm ví dụ mẫu) - Giấy phép Apache-2.0
10 bình luận
Dự án này đang chứng minh rằng thời đại chấp nhận đánh đổi hiệu năng thực thi vì sự tiện lợi của các lớp trừu tượng đang dần khép lại. Nhị phân gọn nhẹ và tốc độ phản hồi nhanh chính là bản chất của trải nghiệm người dùng, đồng thời cũng là tính năng mạnh mẽ nhất.
Tôi đồng ý. Đặc biệt là trong thời buổi bộ nhớ đắt đỏ như dạo này thì lại càng đúng hơn.
Cuối cùng thì chẳng phải là biến web app thành native app sao? Tôi không rành lắm. Không biết liệu đây có trở thành một lựa chọn thay thế tốt hơn so với trình tạo PWA không..
PWA không phải là tạo ra một ứng dụng mới, mà chỉ giúp website hoạt động như một ứng dụng.
Những thứ như Electron, Tauri hay zero-native là các framework cho phép tạo ứng dụng native bằng công nghệ web.
Khác với PWA, điểm khác biệt là chúng có thể truy cập hệ điều hành thông qua API native.
OpenCode Desktop dường như đã chuyển từ Tauri sang Electron vì nhiều lý do.
https://x.com/brendonovich/status/2045725889422610602
Quá tuyệt, huhu, hạnh phúc ghê
Dạo này có vẻ Vercel cũng đã định hình được phát triển dựa trên AI nên tung ra cực kỳ nhiều thứ mới. Việc bổ sung tính năng cho các sản phẩm hiện có cũng rất nhanh. agent-browser, portless, json-render, v.v.
Zero-native tạo cảm giác như một phiên bản Tauri viết bằng Zig.
Tauri (Rust) vs Zero-Native (zig) vs Wails (go)
Tauri 2.0 phát hành chính thức Wails - Framework phát triển ứng dụng desktop dùng Go
Các sản phẩm gần đây của vercel labs thực tế gần như đều do một mình Chris Tate liên tục tạo ra, và điều đó thật sự rất đáng kinh ngạc.
https://x.com/ctatedev
Dù vậy, xét về độ ổn định thì chẳng phải Electron vẫn hơn sao?
Trước hết thì Electron quá nặng, đặc biệt là về bộ nhớ. Với những ứng dụng mà chỉ cần webview hệ thống là đủ thì có vẻ các lựa chọn thay thế như thế này sẽ tốt hơn.