Gluon
Gluon là một khung công cụ mới cho việc tạo ứng dụng desktop từ trang web, sử dụng trình duyệt đã được cài đặt trên hệ thống (không phải là webviews) và NodeJS, khác biệt rất nhiều so với những dự án hoạt động hiện tại khác – mở ra cơ hội đổi mới và cho phép một số lợi thế lớn. Thay vì như các khung công cụ tương tự khác gói gọn trình duyệt như Chromium hoặc sử dụng webviews (như Edge Webview2 trên Windows), Gluon chỉ sử dụng các trình duyệt đã được cài đặt trên hệ thống như Chrome, Edge, Firefox, vv. Gluon hỗ trợ trình duyệt dựa trên Chromium và Firefox làm phần giao diện, trong khi phần backend của Gluon sử dụng NodeJS để linh hoạt và dễ phát triển (cũng cho phép việc học dễ dàng từ các khung công cụ phổ biến khác như Electron bằng cách sử dụng cùng một ngăn xếp tương tự).
Tính năng
- Sử dụng các trình duyệt đã được cài đặt trên hệ thống bình thường – cho phép người dùng lựa chọn bằng cách hỗ trợ hầu hết các trình duyệt dựa trên Chromium _ và Firefox_ , không sử dụng webviews
- Kích thước bản gói nhỏ gọn – <1MB khi sử dụng Node hệ thống, <10MB khi gói gọn nó
- Hỗ trợ Chromium _ và Firefox_ như là engine trình duyệt , khác với bất kỳ khung công cụ hoạt động nào khác
- Gọn nhẹ và dễ sử dụng – Gluon có một API đơn giản nhưng mạnh mẽ để tạo ứng dụng với backend Node
- Hỗ trợ Deno và Bun (thử nghiệm) – Hỗ trợ cho Deno và Bun đang được phát triển như là các lựa chọn thay thế cho NodeJS cho backend (sự lựa chọn của nhà phát triển), see the deno branch và the bun branch
- Thời gian xây dựng nhanh – Gluon có thời gian xây dựng dưới 1 giây trên hầu hết các máy tính cho các dự án nhỏ
- Phát triển chủ động và lắng nghe phản hồi – các cập nhật mới đang được phát hành hàng tuần, nhanh chóng thêm các tính năng được yêu cầu bất ngờ nếu được cộng đồng ưa thích (như hỗ trợ cho Firefox!)
- Đa nền tảng – Gluon hoạt động trên Windows, Linux và macOS (đang trong quá trình phát triển)
Thử Gluon
. Sao chép the Gluon examples repo
. Trong thư mục gluworld
, chạy lệnh npm install
. Bây giờ chạy node .
để chạy ứng dụng!
Ví dụ về Shell
$ git clone https://github.com/gluon-framework/examples.git
$ cd examples
$ cd gluworld
$ npm install
...
$ node .
Trạng thái
Gluon bắt đầu vào Tháng 12 năm 2022 (từ đầu), nên vẫn ở trong tình trạng đầu và thử nghiệm. Nhưng nó hoạt động và thể hiện tiềm năng (theo ý kiến của tôi)! Tôi mở cửa cho ý kiến, đề xuất, phản hồi, ý tưởng, vv. Hiện tại bạn không thể dễ dàng thử nghiệm nó bằng chính mình. Nếu bạn quan tâm và muốn nói chuyện với tôi và những người khác về Gluon, bạn có thể join our Discord server.
Trạng thái các tính năng cụ thể
Tính năng | Trạng thái |
---|---|
Sử dụng trình duyệt dựa trên Chromium | Ổn định |
Sử dụng trình duyệt dựa trên Firefox | Thử nghiệm |
IPC Web-Node | Ổn định |
API Idle | Thử nghiệm |
Sử dụng các runtime JS khác (Deno/Bun) | Thử nghiệm |
Hệ sinh thái
- Gluon: khung công cụ Gluon (NodeJS)
- Glugun: xây dựng các ứng dụng Gluon thành phiên bản phát hành với tùy chọn gói gọn (sắp tới)
Ứng dụng
- Gluworld: Ứng dụng minh họa Hello World với thông tin phiên bản hiển thị
- Gludoom: Doom chạy dưới dạng WASM, được biến thành một ứng dụng có giao diện trông giống như ứng dụng native với Gluon
- Glucord: Ứng dụng máy tính desktop tối giản cho Discord tải ứng dụng web chính thức (ví dụ minh họa)
API IPC
Gluon có một API IPC không đồng bộ dễ sử dụng, nhưng mạnh mẽ. Ví dụ:
// In your website's JS
const reply = await Gluon.ipc.send('my type', { more: 'data' });
console.log(reply); // { give: 'back', different: 'stuff' }
// In your Node backend
import * as Gluon from '@gluon-framework/gluon';
const Window = await Gluon.open(...);
Window.ipc.on('my type', data => { // { more: 'data' }
return { give: 'back', different: 'stuff' };
});
So sánh
Bên trong
Phần | Gluon | Electron | Tauri | Neutralinojs |
---|---|---|---|---|
Giao diện | Trình duyệt Chromium hoặc Firefox đã cài đặt trên hệ thống | Trình duyệt Chromium tự chứa | Webview đã cài đặt trên hệ thống | Webview đã cài đặt trên hệ thống |
Backend | Node.JS đã cài đặt trên hệ thống hoặc đã gói gọn | Node.JS tự chứa | Native (Rust) | Native (Bất kỳ) |
IPC | Đối tượng Window | Tiền tải | Đối tượng Window | Đối tượng Window |
Trạng thái | Đang trong quá trình phát triển | Sẵn sàng hoạt động | Có thể sử dụng | Có thể sử dụng |
Hệ sinh thái | Tích hợp | Phân phối | Tích hợp | Tích hợp |
Đánh giá / Thống kê
Bản demo Chào thế giới cơ bản (đơn giản với HTML), đo lường trên Windows 10 mới nhất, trên máy tính của tôi (kết quả của bạn có thể khác). Sử dụng phiên bản ổn định mới nhất của tất cả các khung công cụ tính đến ngày 9 tháng 12 năm 2022. (Thực tế không nên sử dụng số liệu thống kê ngẫu nhiên để so sánh khung công cụ, điều này chỉ để bạn biết Gluon như thế nào so với các dự án tương tự khác.)
Thống kê | Gluon | Electron | Tauri | Neutralinojs |
---|---|---|---|---|
Kích thước Build | <1MB[^hệ thống][^gluon][^1] | ~220MB | ~1.8MB[^hệ_thống] | ~2.6MB[^hệ_thống] |
Sử dụng Bộ nhớ | ~80MB[^gluon] | ~100MB | ~90MB | ~90MB |
Sử dụng Bộ nhớ Backend[^2] | ~13MB[^gluon] (Node) | ~22MB (Node) | ~3MB (Native) | ~3MB (Native) |
Thời gian Xây dựng | ~0.7s[^3] | ~20s[^4] | ~120s[^5] | ~2s[^3][^6] |
Thông tin bổ sung: Tất cả HTML/CSS/JS không được tối giản (bao gồm cả Gluon). Được xây dựng trong cấu hình phát hành. Tất cả các tệp nhị phân được biên dịch với các tối ưu hóa kích thước thông thường được kích hoạt cho ngôn ngữ đó, không có việc loại bỏ/gói gọn nào được thực hiện.
Chú giải
Không bao gồm các thành phần đã cài đặt trong hệ thống. ↩ ↩2 ↩3
Sử dụng Chrome làm trình duyệt hệ thống. Dữ liệu sớm/đang được phát triển, có thể thay đổi trong tương lai. ↩ ↩2 ↩3
Tại sao Gluon nhỏ gọn như vậy? Bởi vì NodeJS được kỳ vọng là một thành phần được cài đặt trong hệ thống, nó được “chỉ” gói gọn và tối giản hóa mã Node. ↩
Backend giống như không phải Web (không phải Chromium/WebView2/v.v). ↩
Bao gồm thời gian khởi chạy của Node.JS. ↩ ↩2
Được xây dựng cho win32 zip (không phải Squirrel) như một so sánh công bằng hơn. ↩
Xây dựng lạnh (bao gồm việc biên dịch phụ thuộc) trong chế độ phát hành. ↩
Sử dụng neu build -r
. ↩
Chi tiết Tải xuống:
Tác giả: Gluon-framework
Mã nguồn: https://github.com/gluon-framework/gluon
Giấy phép: MIT license