All Projects → MichaelKim → webview

MichaelKim / webview

Licence: MIT license
Cross-platform header-only webview library for C++

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects
HTML
75241 projects

Labels

Projects that are alternatives of or similar to webview

btt
Low level MacOS management in JavaScript via BetterTouchTool
Stars: ✭ 92 (+55.93%)
Mutual labels:  webview
Vanadium
Privacy and security enhanced releases of Chromium for GrapheneOS. Vanadium provides the WebView and standard user-facing browser on GrapheneOS. It depends on hardening in other GrapheneOS repositories and doesn't include patches not relevant to the build targets used on GrapheneOS.
Stars: ✭ 365 (+518.64%)
Mutual labels:  webview
TeadsSDK-iOS
Teads SDK iOS Sample App - Check out an open-source sample of the Teads iOS SDK implementation
Stars: ✭ 22 (-62.71%)
Mutual labels:  webview
MediumUnlimited
Android App written with Flutter/Dart to navigate medium.com without limitations.
Stars: ✭ 28 (-52.54%)
Mutual labels:  webview
Bloop
A light weight scratch pad inspired and derived from https://github.com/IvanMathy/Boop.
Stars: ✭ 54 (-8.47%)
Mutual labels:  webview
RichEditorView
Android 基于WebView的富文本编辑器 - 仿简书编辑器
Stars: ✭ 77 (+30.51%)
Mutual labels:  webview
TrendingCustomAlert
You can use a ready-made custom alert controller.
Stars: ✭ 25 (-57.63%)
Mutual labels:  webview
X5Bridge
Three party libraries of Tencent x5webview and JS interaction
Stars: ✭ 17 (-71.19%)
Mutual labels:  webview
HybridCache
a library which can intercept the loading process of webpage resource and cache all the resource files we are interested, just like css files,js files, images files ,html files and so on.So we can share the cache between the web view and our native logic.(这个库可以帮组我们拦截webview加载网页的时候所有的资源请求,并且根据实际的需求策略进行缓存管理。基于此,可以帮助我们实现webview与natvie的逻辑的缓存共存,比如web…
Stars: ✭ 64 (+8.47%)
Mutual labels:  webview
nativescript-webview-interface
Plugin for bi-directional communication between webView and android/ios
Stars: ✭ 87 (+47.46%)
Mutual labels:  webview
electric-webview
Electric WebView is a scriptable WebView for developers.
Stars: ✭ 16 (-72.88%)
Mutual labels:  webview
FlexHybridApp-Android
WebView bridge interface with Promise pattern
Stars: ✭ 20 (-66.1%)
Mutual labels:  webview
MHWebViewController
An Instagram inspired Web View Controller.
Stars: ✭ 75 (+27.12%)
Mutual labels:  webview
WebViewExample
work as a webview testing environment for frontend developers
Stars: ✭ 19 (-67.8%)
Mutual labels:  webview
Webview
Android WebView,Js互调
Stars: ✭ 22 (-62.71%)
Mutual labels:  webview
Hybrid-Web-Platform
Full-fledged WebView as Xamarin.Forms plugin with cross-platform C# to JavaScript and JavaScript to C# calls support. Eventually invented for painless hybrid apps creation.
Stars: ✭ 19 (-67.8%)
Mutual labels:  webview
UIFramework
A powerful UI framework for the game Onset (https://playonset.com/)
Stars: ✭ 13 (-77.97%)
Mutual labels:  webview
webview
Build cross platform desktop apps with Elixir and web technologies.
Stars: ✭ 18 (-69.49%)
Mutual labels:  webview
coc-webview
Using an external browser to support the webview in coc.nvim.
Stars: ✭ 21 (-64.41%)
Mutual labels:  webview
vscode-http-client
Simple way to do HTTP requests in Visual Studio Code.
Stars: ✭ 26 (-55.93%)
Mutual labels:  webview

webview

CMake CI

A tiny cross-platform webview library written in C++ using Edge on Windows (both EdgeHTML and Chromium), Webkit on MacOS, and WebkitGTK on Linux.

Inspired from zerge's webview, this library was rewritten with several priorities:

  • A more "C++"-like API
  • Support for Microsoft Edge on Windows
  • Replaced Objective-C runtime C code with actual Objective-C code

Support

Windows Windows MacOS Linux
Version Windows 10, v1809+ Windows 7, 8.1, 10 Tested on MacOS Mojave, Catalina Tested on Ubuntu 18.04.02 LTS
Web Engine EdgeHTML Chromium Webkit WebKit
GUI Windows API Windows API Cocoa GTK

Documentation

Usage

#include "webview.h"

WEBVIEW_MAIN {
  // Create a 800 x 600 webview that shows Google
  wv::WebView w{800, 600, true, true, Str("Hello world!"), Str("http://google.com")};

  if (w.init() == -1) {
    return 1;
  }

  while (w.run() == 0);

  return 0;
}

Since Windows (WinAPI) uses std::wstrings, all string literals should be wrapped in the macro Str(s).

The following URL schemes are supported:

  • HTTP(S): http:// and https://
  • Local file: file:///, make sure to point to an html file
  • Inline data: data:text/html,<html>...</html>

Check out example programs in the examples/ directory in this repo.

Note: WEBVIEW_MAIN is a macro that resolves to the correct entry point:

#ifdef WEBVIEW_WIN
#define WEBVIEW_MAIN int __stdcall WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
#else
#define WEBVIEW_MAIN int main(int, char **)
#endif

This is needed since Win32 GUI applications uses WinMain as the entry point rather than the standard main. You can write your own main for more control, but make sure to use WinMain if you need to support Windows.

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