• Stars
    star
    252
  • Rank 161,312 (Top 4 %)
  • Language
    Go
  • License
    Other
  • Created over 4 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

WebView2 bindings for pure Go, without CGo, based on the webview/webview bindings.

Go Go Report Card Go Reference

go-webview2

This package provides an interface for using the Microsoft Edge WebView2 component with Go. It is based on webview/webview and provides a compatible API.

Please note that this package only supports Windows, since it provides functionality specific to WebView2. If you wish to use this library for Windows, but use webview/webview for all other operating systems, you could use the go-webview-selector package instead. However, you will not be able to use WebView2-specific functionality.

If you wish to build desktop applications in Go using web technologies, please consider Wails. It uses go-webview2 internally on Windows.

Demo

If you are using Windows 10+, the WebView2 runtime should already be installed. If you don't have it installed, you can download and install a copy from Microsoft's website:

WebView2 runtime

After that, you should be able to run go-webview2 directly:

go run ./cmd/demo

This will use go-winloader to load an embedded copy of WebView2Loader.dll. If you want, you can also provide a newer version of WebView2Loader.dll in the DLL search path and it should be picked up instead. It can be acquired from the WebView2 SDK (which is permissively licensed.)

More Repositories

1

go-winloader

[WIP] Implementation of the Windows module loader in pure Go, with no CGo.
Go
63
star
2

OpenWebView2Loader

An open-source reimplementation of the Microsoft WebView2Loader, for using Edge WebView2.
C++
28
star
3

ytdl-pvr

A script/Docker image to continuously archive YouTube videos using ytdlp.
Shell
19
star
4

go-webview-selector

A Go library for getting a web view, using go-webview2 on Windows and webview/webview on other platforms.
Go
17
star
5

webview2-in-mingw

Proof of concept for embedding WebView2 in applications using the MinGW toolchain.
C++
14
star
6

go-notepad

Write directly to notepad from Go. To hell with it.
Go
9
star
7

go-tsf

Go wrapper around Win32 Text Services Framework (eternal WIP)
Go
9
star
8

nix-binary-ninja

Unofficial Nix flake for using Binary Ninja on NixOS.
Nix
9
star
9

deadbeef-vgmstream

A DeaDBeeF plugin for playing streaming video game music using vgmstream.
C
6
star
10

js-srp

A JavaScript SRP-6a implementation compatible with opencoff/go-srp and idlesign/srptools.
TypeScript
6
star
11

cleansheets

Experimental implementations of web technology in Go.
Go
5
star
12

resume

Program that generates my résumé from scratch, in PDF format.
Go
3
star
13

curvecp

Fork of David Anderson's Go CurveCP implementation. From http://code.google.com/p/curvecp
Go
3
star
14

protocat

Tool for inspecting raw protocol buffers wire data.
Rust
3
star
15

gcmtools

A couple programs and a library for interacting with gcm files (GameCube disk images.)
C++
2
star
16

flsplit

Simple tool to split FL Studio project files by playlist track.
Go
2
star
17

playerctl-inhibit

A small daemon that inhibits sleep when media is playing.
Go
2
star
18

nixos-config

My NixOS (desktop) config
Nix
2
star
19

winuse

Small Go program that uses the rstrtmgr API to query what programs are using a file on Windows.
Go
2
star
20

jtk

Experimental.
Go
1
star
21

webpnt

Prevents your browser from advertising WebP support.
JavaScript
1
star
22

tabcat

Experimental graphics tablet forwarding application.
Rust
1
star
23

SwitchOnDock

Small hack to adjust lid close behavior on Windows.
C++
1
star
24

fliteplay

messing around
Rust
1
star
25

asf-rs

Rust library for parsing Microsoft's ASF (Advanced Systems Format) container format. (WIP)
Rust
1
star
26

servicecontrol

[WIP] A Qt program that manages systemd units.
C++
1
star
27

bigboy

Gameboy emulator in Go. Perpetually WIP.
Go
1
star