NOTE: This API is not yet guarenteed to be stable or backward-compatible until v1.0, so breaking changes may occur at any time.
Interstellar is an F# library providing a standard, mixed-paradigm API for accessing browser controls on various platforms. Currently, there are 3 combinations platform and browser hosts available. See Examples for a simple sample application. See https://github.com/jwosty/InterstellarFableHelloWorld for an example of combining Interstellar with Fable, achieving a cross-platform desktop app built completely in F#.
This project is composed of several NuGet packages. Let's break them down and describe their purposes:
I intend to create a Windows package that uses the built-in Windows browser control (likely Edge with Chromium), as well as a macOS package that uses CEF (however this is a bigger undertaking as non of the CEF .NET bindings work on macOS yet). Contributions for either of these are welcome, as well as any other possible targets! Linux would be nice to support, but I don't have GTK experience (or whatever you'd use to wrap a browser control).
dotnet tool restore
dotnet paket restore
dotnet fake build
After building, run:
dotnet fake build -t Pack
The resuling *.nupkg files will end up in ./artifacts/
dotnet fake build -t BuildDocs
// to actually release docs, assuming you have push priveleges to the repo:
dotnet fake biuld -t ReleaseDocs
Sometimes, dotnet fake build
will start failing with messages similar to:
NotSupportedException: Unsupported log file format. Latest supported version is 9, the log file has version 14.
Fix this by running:
bash git clean -xdf rm build.fsx.lock
You may also have to run:
bash dotnet tool uninstall fake-cli dotnet tool install fake-cli
The build should succeed again now. You can commit the changes.
The default maintainer account for projects under "fsprojects" is @fsprojectsgit - F# Community Project Incubation Space (repo management)