Add a browser/PWA version
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 25/100
- Type d'issue
- Fonctionnalité
- Clarté
- À clarifier
- Activité
- À l'abandon
- Stack technique
- javascript, wasm
- Domaine
- desktop-dev, web-dev
Piste de recherche
Commencez par comparer les deux approches proposées, Broadway et Greenfield, puis consultez la documentation de Greenfield SDK et son entrée dans example-applications.json. Déterminez la portée et les exigences d’hébergement d’un playground Workbench accessible depuis un navigateur ; le travail sera considéré comme terminé lorsqu’un chemin d’implémentation approuvé aura été défini, et pas seulement lorsqu’une expérimentation côté serveur aura été réalisée.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- JavaScript
- Étoiles
- 846
- Forks
- 91
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de workbenchdev/Workbench
-
Difficulté 4/5 3-5 jours Accessibilité débutants 25/100
workbenchdev/Workbench#1028 · 11 commentaires ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
workbenchdev/Workbench#1019 ·
-
editor needs settingsOuverte
Difficulté 4/5 3-5 jours Accessibilité débutants 30/100
workbenchdev/Workbench#1014 ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
workbenchdev/Workbench#1007 · 1 commentaire ·
-
How could I work with multiple user interfaces (e.g. multiple .ui files, or multiple blueprints)?Ouverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
workbenchdev/Workbench#1006 · 1 commentaire · 1 réaction ·
Toutes les issues de workbenchdev/Workbench
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
Les mainteneurs répondent en général sous 1 jour
-
`yarn vitest:update` (documented) throws locally; local Cypress scripts target an unserved portOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
rescript-lang/rescript-lang.org#1415 ·
Les mainteneurs répondent en général sous 2 jours
-
[Bug]: agent capture drops long Unicode text as punctuationPeut-être pris @ktz03 l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
volcengine/OpenViking#5801 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
Deepak3699/Ai_Mentor#244 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
nextcloud/collectives#2843 ·
Les mainteneurs répondent en général sous 1 jour