Build cross-platform desktop apps with C++ & Web Technologies
The documentation can be found here.
Examples can be found here.
Learn how to create your first saucer app here.
Saucer is a modern C++ webview library that allows you to build cross-platform desktop applications with ease.
It supports all three major desktop operating systems (Windows, Linux, MacOS) and has several backend implementations.
๐ป Cross Platform
Windows Linux MacOS Backend Win32 & WebView2 GTK4 & WebKitGtk Cocoa & WKWebView Qt5 / Qt6 & QWebEngine๐พ Feature-Rich
Supports custom schemes, script injection, favicons, and much more!
๐ Seamless C++ / JavaScript interoperability
๐ฆ Supports Embedding Frontend into binary
๐ชถ Lightweight
By using the operating systems native web renderer (or a commonly used one), it is possible to create binaries as small as ~250KB
๐งฐ Customizability
Modules allow access to platform specific implementations, making it possible to tweak the library to your hearts content
๐ฅ๏ธ saucer/desktop
๐ File-Picker, Mouse-Position retrieval and URI-Launch support
๐จ๏ธ saucer/pdf
๐ Print current page as PDF
๐๏ธ Bindings
Saucer also exposes a C-Interface, thus making it possible to write bindings for it in your favorite language!
๐ฆบ Thread-Safe
๐งจ No Exceptions
Compiles with
-fno-exceptions
!
๐ No RTTI
Compiles with
-fno-rtti
!
โ๏ธ FOSS
Licensed under MIT!
๐ช Built-in support for frame-less windows and transparency
#include <saucer/smartview.hpp> int main() { auto app = saucer::application::init({ .id = "example", }); saucer::smartview webview{{ .application = app, }}; webview.set_size(900, 700); webview.set_title("Hello World!"); webview.expose( "add_random", [&](float number) { auto random = webview.evaluate<float>("Math.random()").get(); return number + random; }, saucer::launch::async); webview.set_file("index.html"); webview.show(); app->run(); return 0; }
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4