OS.js icon indicating copy to clipboard operation
OS.js copied to clipboard

PWA support for OS.js applications and framework

Open grue-bleen opened this issue 3 years ago • 7 comments

By doing so, OS.js application packaging would align with PWA standards and WebPack support. This further paves a path to OS.js support for Web Package and Web Bundles which builds on this appmanifest standard.

In a nutshell, it would undoubtedly be a a great roadmap item for OS.js to evolve into an execution environment for bundled web applications. This includes both:

  • OS.js itself as a PWA, and
  • Web Package+Bundles for OS.js applications

grue-bleen avatar Apr 24 '22 10:04 grue-bleen

There's been a couple of discussions around stuff like this on Gitter etc. but never really went anywhere.

I'm not really sure if there's much gain in making OS.js interface itself PWA, but having direct support for launching bundles etc. would indeed be nice.

andersevenrud avatar Apr 24 '22 19:04 andersevenrud

I think an offline capable web-based application platform is powerful. PWA is perhaps a start, but would not rule out native clients for iOS/Android/Desktop if the need be.

This would be particularly interesting if OS.js were to leverage the wasmer ecosystem to enable offline-first connected application delivery for a true-blue web-based operating system. Perhaps even a self-hosting web operating system based on emception some day?

grue-bleen avatar Apr 26 '22 22:04 grue-bleen

I think an offline capable web-based application platform is powerful

Ah, yes. This skipped my mind :)

andersevenrud avatar May 01 '22 14:05 andersevenrud

I think an offline capable web-based application platform is powerful

Ah, yes. This skipped my mind :)

With navigator.keyboard.lock(), osjs could use more keybindings.

hello-smile6 avatar May 01 '22 19:05 hello-smile6

great idea, re 'navigator.keyboard.lock(), osjs could use more keybindings.' Could you submit a patch?

mikeblackstock avatar May 02 '22 03:05 mikeblackstock

I'm probably going to use mousetrap to implement a bunch of shortcuts on my fork in the near future, I'll try to bleed them over to the main OS.js whenever possible.

ajmeese7 avatar Aug 17 '22 01:08 ajmeese7

a self-hosting web operating system

this would require

  • a crash-tolerant runtime with hot-swapping and rollback, like nixos generations
  • an npm package manager with a "patch" feature
  • build must run in the browser (no node-gyp/python/gcc)
  • a versioned filesystem: isomorphic-git + cors proxy + BrowserFS + IndexedDB
  • a service manager? like systemd on linux, to manage service workers

hot-swapping

ideally, preserve the app state like figwheel

milahu avatar Nov 25 '22 15:11 milahu