All Projects → javalikescript → webview-c

javalikescript / webview-c

Licence: other
A tiny cross-platform webview C library to build modern cross-platform GUIs

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language

Labels

Projects that are alternatives of or similar to webview-c

Webview
Tiny cross-platform webview library for C/C++/Golang. Uses WebKit (Gtk/Cocoa) and Edge (Windows)
Stars: ✭ 9,200 (+20809.09%)
Mutual labels:  webui
Alpine Sqs
Dockerized ElasticMQ server + web UI over Alpine Linux for local development
Stars: ✭ 183 (+315.91%)
Mutual labels:  webui
Elkarbackup
Open source backup solution for your network
Stars: ✭ 247 (+461.36%)
Mutual labels:  webui
Beefweb
Web interface plugin for DeaDBeeF and foobar2000 players
Stars: ✭ 116 (+163.64%)
Mutual labels:  webui
Xluci2
DEPRECATED. xLuCI2 is a JavaScript Webgui for embedded devices running OpenWRT or LEDE
Stars: ✭ 148 (+236.36%)
Mutual labels:  webui
Auproximity
AUProximity is an open source proximity voice chat platform, primarily aimed at Among Us.
Stars: ✭ 194 (+340.91%)
Mutual labels:  webui
Ariang
AriaNg, a modern web frontend making aria2 easier to use.
Stars: ✭ 8,339 (+18852.27%)
Mutual labels:  webui
WebView
Efficient UE browser uses CEF open source kernel; When the frame rate is 60 per second and the resolution is 4K, a single GPU is rendered, and the UE and browser will not lose frames. 8K frame rate does not decrease under multi GPU binding.
Stars: ✭ 157 (+256.82%)
Mutual labels:  webui
Promansible
PromAnsible, 集成了Prometheuse(基于时间序列数据的服务监控系统)和Ansible(超级简单好用的IT自动化系统),并通过事件报警机制把二者紧密的结合在一起,并配以简单易用的WebUI,真正实现了监控-报警-处理一条龙的全自动化服务。
Stars: ✭ 183 (+315.91%)
Mutual labels:  webui
Ddns Updater
Container to update DNS records periodically with WebUI for many DNS providers
Stars: ✭ 216 (+390.91%)
Mutual labels:  webui
Xd
i2p bittorrent client
Stars: ✭ 140 (+218.18%)
Mutual labels:  webui
Azkarra Streams
🚀 Azkarra is a lightweight java framework to make it easy to develop, deploy and manage cloud-native streaming microservices based on Apache Kafka Streams.
Stars: ✭ 146 (+231.82%)
Mutual labels:  webui
Yaaw
Yet Another Aria2 Webui in pure HTML/CSS/Javascirpt
Stars: ✭ 2,288 (+5100%)
Mutual labels:  webui
Airdcpp Webclient
Communal peer-to-peer file sharing application for file servers/NAS devices
Stars: ✭ 106 (+140.91%)
Mutual labels:  webui
TerraDepot
A terraform http backend written in python, deployed on aws lambda.
Stars: ✭ 60 (+36.36%)
Mutual labels:  webui
Simple Mpv Webui
A web based user interface with controls for the mpv mediaplayer.
Stars: ✭ 58 (+31.82%)
Mutual labels:  webui
Pyload
The free and open-source Download Manager written in pure Python
Stars: ✭ 2,393 (+5338.64%)
Mutual labels:  webui
Molder
BDD steps libraries for test automation databases, web services, and WebUI
Stars: ✭ 16 (-63.64%)
Mutual labels:  webui
ServerStatus-web
Web UI for ServerStatus
Stars: ✭ 96 (+118.18%)
Mutual labels:  webui
Webloyer
Webloyer is a web UI for managing Deployer deployments
Stars: ✭ 199 (+352.27%)
Mutual labels:  webui

Overview

A tiny cross-platform webview C library to build modern cross-platform GUIs.

It supports two-way JavaScript bindings, to call JavaScript from C and to call C from JavaScript.

It uses Cocoa/WebKit on macOS, gtk-webkit2 on Linux and MSHTML (IE10/11) or Edge (Chromium) on Windows.

This library is a fork of the webview library. The goal of this fork is mainly to retain the support of MinGW, the C language and the IE fallback on Windows.

A Lua binding is available.

Limitations

Opening multiple webviews is not supported.

Mac OS is not supported as I do not have access to a development environment on this OS.

Example

Look at the example webview-example.c.

#define WEBVIEW_IMPLEMENTATION
/* don't forget to define WEBVIEW_WINAPI,WEBVIEW_GTK or WEBVIEW_COCAO */
#include "webview.h"

int main() {
  /* Open Lua in a 800x600 resizable window */
  webview_run("Minimal webview example", "https://www.lua.org", 800, 600, 1);
  return 0;
}

Build it using the following command line.

# Linux
gcc webview-example.c -DWEBVIEW_GTK=1 `pkg-config --cflags --libs gtk+-3.0 webkit2gtk-4.0` -o webview-example

# MacOS
gcc -ObjC -DOBJC_OLD_DISPATCH_PROTOTYPES=1 webview-example.c -DWEBVIEW_COCOA=1 -framework WebKit -o webview-example

# Windows (MinGW)
gcc webview-example.c -DWEBVIEW_WINAPI=1 -Ims.webview2/include -lole32 -lcomctl32 -loleaut32 -luuid -lgdi32 -o webview-example.exe

Edge

The Edge (Chromium) implementation requires the extra library WebView2Loader.dll part of the Microsoft Edge WebView2 SDK. The environment variable WEBVIEW2_WIN32_PATH can be used to pass the folder containing the extra library.

The WebView2 Runtime shall be installed with the same architecture, x64 or x86.

There is a minimum Microsoft Edge version required, here 86.0.616 (full compatibility: 96.0.1245) for 1.0.1245.

The WebView2 SDK may fail to auto detect the WebView2 Runtime installation path to use, you could indicate the correct installation path by using the environment variable WEBVIEW2_BROWSER_EXECUTABLE_FOLDER.

The Microsoft Edge Stable channel is unavailable for WebView2 usage to prevent apps from taking a dependency on the browser in production. If you still want to use an Microsoft Edge Stable channel for WebView2 you may create a symbolic link named Edge-Application using the following command as administrator.

cd "\Program Files (x86)\Microsoft"
mklink /D Edge-Application Edge\Application

Note that this implementation creates a folder for the user data, you could specify a user data folder by using the environment variable WEBVIEW2_USER_DATA_FOLDER.

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].