tether
tether copied to clipboard
Add library recommendations.
Recommending other libraries is really important because you can't make an app with just a window. But, at the very least, they have to work inside the stupidly annoying UWP sandbox, and it'd be ideal if they worked on iOS and Android. Things that might be useful:
- a filepicker - if we're extremely lucky the one inside the web view can punch holes in the sandbox
- notifications - maybe HTML5 notifications work
- converting the executable into an app - this is super, super important for Windows and macOS
- application data directories - the
app_dirs
crate looks really good
I've used tinyfiledialogs
and nfd-rs
for file and folder pickers with webview
. The former is poorly-documented (though there's not much to it) but the latter doesn't work well on macOS (crashes if called on a non-main thread, windows don't close if followed by an event loop). I've also used app_dirs
, would 👍 that recommendation.
The current method to include things like binary content is by using a server on an ephemeral port, and for that, these libraries are the best that I've found:
- https://github.com/tomaka/rouille looks like the easiest-to-use web framework out there right now.
- https://github.com/tilpner/includedir to embed files into the executable so they can be served easily.
tinyfiledialogs has a nice API, but I'm not sure if it plays nicely with the application sandbox, because it calls out to AppleScript for every dialog (I'm still not sure if that's a brilliant or a terrible idea.) I think the most pragmatic solution would be to make a tether-dialogs
crate that wraps nfd-rs
and extends Window
with those methods, to statically verify that the application is on the main thread.
In addition, menubar menu-items are something I imagine many people (myself included) would want to be able to use. Whether this is provided by tether, or a third-party library I'm unsure of.