Closed ncalexan closed 7 years ago
We discussed this briefly in Slack:
nalexander: jsantell what would it take to get Tofino running as a web app?
jsantell: nalexander run as in actually work, or just render mostly?
nalexander: jsantell either or both. How about just render for now? Do we have tickets tracking jsantell: swap out webviews for iframes, add something to handle the ipc calls (maybe just stub out)
jsantell: any node api's used have web-versions available (webpack/browserify handle these)
jsantell: last time i tried, there were issues in firefox due to some ES features (like `for (const x of array){}` or maybe `let` only works in chrome) that we didn't anticipate
victor: those can be babeled
victor: main issue is using native node modules in the content process
victor: and the webview element
victor: webview can become iframe if we [don't care] about security
victor: and native node modules can go, probably
jsantell: victor what native modules are used in content? there was some logging thing but that would just silently break
victor: i’d just remove logging altogether and use console.log
victor: screw stuff we don’t /really/ care about
victor: there’s a few other things like os-level menus, but again, can ignore those
victor: prolly a couple of weeks of work to get a barebones tofino working as a webpage
jsantell: yeah context menus would break without ipc, and using iframes
From this conversation, it sounds like the main things are:
postMessage
This ticket tracks making Tofino run in an existing browser (Firefox, Chrome, Safari, Edge, ...) as an unprivileged web app. That is, you might navigate to
https://tofino.mozilla.com
orfile:///tofino.html
and have a mostly functional Tofino UI inside your existing browser.