All Projects → Gurkengewuerz → cefgo

Gurkengewuerz / cefgo

Licence: GPL-3.0 license
Go bindings for the Chromium Embedded Framework (CEF)

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to cefgo

Cefpython
Python bindings for the Chromium Embedded Framework (CEF)
Stars: ✭ 2,498 (+12390%)
Mutual labels:  gui-toolkit, chromium, cef
chromium-swt
Create and render web UIs in Java SWT and Eclipse RCP applications.
Stars: ✭ 121 (+505%)
Mutual labels:  chromium, cef
Journey
JCEF-powered cross-platform web browser
Stars: ✭ 85 (+325%)
Mutual labels:  chromium, cef
cef-mixer
High Performance off-screen rendering (OSR) demo using CEF
Stars: ✭ 183 (+815%)
Mutual labels:  chromium, cef
jcefbuild
Binary builds of java-cef
Stars: ✭ 160 (+700%)
Mutual labels:  chromium, cef
FoldingBrowser
FoldingCoin & CureCoin All-In-One Installer
Stars: ✭ 48 (+140%)
Mutual labels:  chromium, cef
Cef2go
Go lang bindings for the Chromium Embedded Framework (CEF)
Stars: ✭ 780 (+3800%)
Mutual labels:  chromium, cef
cefHtmlSnapshot
Command-line utility for Windows take snapshots of HTML pages and save them as images or PDF
Stars: ✭ 23 (+15%)
Mutual labels:  chromium, cef
Journey
JCEF-powered cross-platform web browser
Stars: ✭ 68 (+240%)
Mutual labels:  chromium, cef
Chromium.swt
Chromium widget for SWT
Stars: ✭ 105 (+425%)
Mutual labels:  chromium, cef
Pandomium
Pandomium is the JCEF (Java Chromium Embedded Framework) implementation dedicated for the Maven based projects
Stars: ✭ 146 (+630%)
Mutual labels:  chromium, cef
GModCEFCodecFix
Automatic Patching/Updating of GMod CEF
Stars: ✭ 68 (+240%)
Mutual labels:  chromium, cef
NIM PC Demo
云信Windows(PC) C/C++ Demo源码仓库
Stars: ✭ 200 (+900%)
Mutual labels:  chromium, cef
Bas
BrowserAutomationStudio can automate everything that Chrome can.
Stars: ✭ 203 (+915%)
Mutual labels:  chromium, cef
BlazorCefApp
Build windows desktop GUI app via CEF / WinForms / Blazor server-site
Stars: ✭ 28 (+40%)
Mutual labels:  chromium, cef
cefau3
Chromium Embedded Framework for AutoIt3
Stars: ✭ 23 (+15%)
Mutual labels:  chromium, cef
OldCEF4Delphi
OldCEF4Delphi is an open source project to embed Chromium-based browsers in applications made with Delphi.
Stars: ✭ 55 (+175%)
Mutual labels:  chromium, cef
Uranium
Fast and versatile implementation of CEF for Unreal Engine
Stars: ✭ 51 (+155%)
Mutual labels:  chromium, cef
Cef4delphi
CEF4Delphi is an open source project to embed Chromium-based browsers in applications made with Delphi or Lazarus/FPC for Windows, Linux and MacOS.
Stars: ✭ 785 (+3825%)
Mutual labels:  chromium, cef
Nim pc demo
云信Windows(PC) C/C++ Demo源码仓库
Stars: ✭ 147 (+635%)
Mutual labels:  chromium, cef

cefgo

These are simple bindings for CEF C API in Go. It's not documented yet, but you can follow the example to figure out how to use. It's pretty simple.
In order to run the examples, the CEF supporting files must be placed beside the executable.

Features

  • JS to Go callbacks
  • Go to JS eval
  • frameless window
  • single and sub executable support
  • Tested on Windows and Linux (macOS should work using seperate processes)
  • window functions (maximize, minimize, show, always on top, etc)
  • application icon

CEF Version and Compatibility

This lib is compiled against CEF 94.4.9+g09ee681+chromium-94.0.4606.71 / Chromium 94.0.4606.71 from https://cef-builds.spotifycdn.com/index.html

Installation

  1. Download the CEF SDK for your system from Spotify.
  2. Locate your installation of cefgo (typically in $GOPATH/src/github.com/Gurkengewuerz/cefgo or $GOPATH/pkg/mod/github.com/Gurkengewuerz/cefgo), and extract the CEF SDK.
    Copy include/* to cefgo/include
    Copy Release/* to cefgo/Release
    Copy Resources/* to cefgo/Release
  3. Run your binaries inside the Release folder

Usage on macOS

Because i don't have the opportunity to test cefgo on a mac i need your help. Theoretically cefgo should compile on macOS. Because macOS is different the application needs a bit more preperation.
Please read the CEF Wiki carefully and set up your enviroment. Feel free to share your experience.

About JS callbacks

Callbacks need to be registered before browsers are created. Currently only basic type conversions are supported (undefined/null, bool, int/uint, double, string). Objects and Arrays are possible, but not done. If you are running in multi-process mode (the default - as opposed to single-process) keep in mind the callback will be executed in the browser process and not in the main process.

DevTools

Set the a RemoteDebuggingPort in the Settings struct. Start your application and point your browser to http://127.0.0.1:<port>.

Updating the CEF Version

The process for updating CEF to a newer version is relatively simple.

  1. Download a new version from Spotify and extract.
  2. Update the headers inside the include folder
  3. Extract the new cef resources and libs to the Release folder
  4. Try to compile the test application: go clean -cache -testcache && CGO_ENABLED=1 go build -o Release/test.exe examples/main.go
  5. Fix any incompatibilities with new APIs until the application compiles.
  6. Push the new version, and update the version listed in this README.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].