/webview-nodejs

A Node.js binding to webview

Primary LanguageC++Apache License 2.0Apache-2.0

webview-nodejs

npm version npm bundle size (version) npm download last commit license FOSSA Status

English | 中文(简体)

A Node.js binding and wrapper for webview, a tiny cross-platform webview library to build modern cross-platform desktop GUIs using WebKit (Gtk/Cocoa) and Edge (Windows).

screenshot

Getting Started

  1. Prerequisites
  • Node.js >= 12
  • CMake, you can install it by winget install Kitware.CMake, apt install cmake or brew install cmake (please reopen your console after the installation)
  • Windows: Webview 2 Runtime, Visual Studio Build Tools or Visual Studio with C++ support
  • Linux: webkitgtk2, gcc
  • macOS: XCode
    For more information, see webview#prerequisites
  1. Install webview-nodejs
npm install webview-nodejs

v0.4.0 uses new SWIG and NAPI technologies and are not widely tested, You can still use webview-nodejs@0.1.5 powered by ffi-api with the same API.

  1. Import and use webview
const { Webview } = require('webview-nodejs');

let w = new Webview();
w.title("Hello World");
w.size(800,600);
w.navigate("https://example.com");
w.show();

For more examples like interacting between Node.js and webview and more detailed instructions, see Tutorial.

Help

Contribution

All suggestions, pull requests, issues, discussions and other contributions are welcome and appreciated.

License

Copyright 2022-2023 Winterreisender and other contributors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.