#browser #webview #electron #chromium #setup

browser-window

A simple, optionally async, optionally threadsafe, electron-like browser toolkit for Rust

28 releases (10 breaking)

0.12.3 Mar 16, 2024
0.11.2 Mar 6, 2024
0.7.0 Oct 15, 2021
0.5.6 Mar 25, 2021
0.4.1 Nov 18, 2020

#183 in GUI

Download history 317/week @ 2024-02-18 551/week @ 2024-02-25 482/week @ 2024-03-03 488/week @ 2024-03-10 75/week @ 2024-03-17 4/week @ 2024-03-24 81/week @ 2024-03-31

722 downloads per month

MIT license

380KB
11K SLoC

Rust 9K SLoC // 0.0% comments C 1K SLoC // 0.1% comments C++ 751 SLoC // 0.1% comments Shell 39 SLoC // 0.2% comments PowerShell 31 SLoC // 0.1% comments Batch 3 SLoC

BrowserWindow

BrowserWindow is a simple Rust crate for utilizing a browser engine to create a graphical user interface. Just like Electron.js, you can use it to build a GUI with HTML, CSS & JS, or just to have some basic browser functionality at your disposal.

Introduction

BrowserWindow is designed to be easy to use, and work cross-platform. It utilizes the async/await syntax & it even has optional thread-safe handles. There are currently three different underlying browser frameworks that can be selected: CEF, WebkitGTK or Edge WebView2. Each framework has their pros and cons, but CEF will be the most feature complete because it has the best cross-platform support and the browser engine is regularely updated. However, if you only need some very basic functionality, the other frameworks are easier to set up.

You can look at some examples to get an idea how you can use the api.

Getting Started

The underlying browser framework does need some things to be set up on your system (although Edge WebView2 may out-of-the-box on newer Windows installations). But otherwise there is a guide to get you started with using BrowserWindow on your system.

License

This software is available as open source software under a MIT license, for maximum freedom and minimum restrictions.

Missing a feature?

At the moment, there is a decent set of basic functionality available, but if you need something that isn't there yet, please submit an issue for it.

Dependencies

~5–12MB
~310K SLoC