Add a browser/PWA version
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- javascript, wasm
- Lĩnh vực
- desktop-dev, web-dev
Hướng nghiên cứu
Bắt đầu bằng cách so sánh hai cách tiếp cận được đề xuất, Broadway và Greenfield, đồng thời đọc tài liệu về Greenfield SDK và mục tương ứng trong example-applications.json. Xác định phạm vi và các yêu cầu hosting cho một playground Workbench chạy trên trình duyệt; được xem là hoàn tất khi đã thống nhất được hướng triển khai, thay vì chỉ có một thử nghiệm phía máy chủ.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Many other prototyping tools for UI frameworks have the option to run in the browser to make it easier to share examples or work without setting up a local development environment, even if the target primarily native platforms:
It would be great if it were possible to create a similar web-based playground for Workbench, whether for docs or examples, or just for experimental. There are two ways of achieving this with different complexities:
- Using Broadway. This way, an instance of Workbench can run on a server somewhere, and be exposed via the HTML/Canvas GTK renderer. This works well for simple examples, but more advanced usecases (OpenGL, embedding, Webviews, Videos etc.) don't work.
- Using Greenfield. This is a full Wayland compositor that runs in your browser, and can already run the Flatpak version of Workbench out of the box. It can either run apps with Wayland clients attaching natively on the browser site (through WebAssembly), or on the server side (with the raw Flatpak version). From my testing, this works extremely well; even the GTK inspector, video playback, webviews, and OpenGL all work. Also runs in Chrome, Firefox and Safari/GNOME Web without problems.
Here is Workbench, rendering a WebKit webview, running in the browser with the second method:
Which was as simple as setting up a new app in Greenfield's example-applications.json:
"/workbench": {
"name": "Workbench",
"executable": "flatpak",
"args": ["run", "re.sonny.Workbench"],
"env": {}
},
Ofc, this would require a server (not just a CDN) to actually host the app similarly to how Broadway would require a server. A better way would be to compile Workbench using the Greenfield SDK, which would mean that it could run natively in the browser using Wasm, but I'm fairly certain that this would require some porting work. The Greenfield talk from FOSDEM 2024 contains a lot of interesting info on how this works internally.
- Ngôn ngữ chính
- JavaScript
- Star
- 846
- Fork
- 91
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của workbenchdev/Workbench
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 25/100
workbenchdev/Workbench#1028 · 11 bình luận ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
workbenchdev/Workbench#1019 ·
-
editor needs settingsĐang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 30/100
workbenchdev/Workbench#1014 ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
workbenchdev/Workbench#1007 · 1 bình luận ·
-
How could I work with multiple user interfaces (e.g. multiple .ui files, or multiple blueprints)?Đang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
workbenchdev/Workbench#1006 · 1 bình luận · 1 reaction ·
Tất cả issue của workbenchdev/Workbench
Issue tương tự
-
bug user-priority/P2
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 92/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 Dưới một giờ Mức phù hợp với người mới 78/100
opencart/opencart#15763 · 2 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
neondatabase/agent-skills#139 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Effect-TS/effect#8881 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
mail processing verified
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 7 ngày