Add a browser/PWA version
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 25/100
- Tipo de issue
- Funcionalidade
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Estagnada
- Stack de tecnologia
- javascript, wasm
- Domínio
- desktop-dev, web-dev
Direção de pesquisa
Comece comparando as duas abordagens propostas, Broadway e Greenfield, e leia o material do Greenfield SDK e sua entrada em example-applications.json. Determine o escopo e os requisitos de hospedagem para um playground do Workbench baseado em navegador; o trabalho estará concluído quando houver um caminho de implementação acordado, e não apenas um experimento no lado do servidor.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- JavaScript
- Estrelas
- 846
- Forks
- 91
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de workbenchdev/Workbench
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 25/100
workbenchdev/Workbench#1028 · 11 comentários ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
workbenchdev/Workbench#1019 ·
-
editor needs settingsAberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 30/100
workbenchdev/Workbench#1014 ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
workbenchdev/Workbench#1007 · 1 comentário ·
-
How could I work with multiple user interfaces (e.g. multiple .ui files, or multiple blueprints)?Aberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
workbenchdev/Workbench#1006 · 1 comentário · 1 reação ·
Todas as issues de workbenchdev/Workbench
Issues semelhantes
-
bug require-triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
expressjs/expressjs.com#2549 · 1 reação ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
vercel-labs/agent-skills#348 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
NanmiCoder/dsh-agent-teams#289 ·
Mantenedores costumam responder em até 1 dia