Giter Club home page Giter Club logo

muban's Introduction

Muban

A template of the Yue library for building cross-platform desktop apps with system webview and native GUI widgets.

Features

  • Quickly build desktop apps with HTML and JavaScript.
  • Generate single-file executables for macOS/Linux/Windows.
  • Source code encryptions.
  • Use system webviews to minimize binary size.
  • Use native GUI widgets to extend the UI.
  • Extremely easy to add C++ native bindings to web pages.
  • Custom protocols in webview.

How to use

  1. Clone the project
  2. Put your web app in app/
  3. npm install to build
  4. npm start to start the app
  5. npm run dist to create distribution

Screenshots (in Debug mode)

macOS Linux Windows

Docs

License

Public domain.

Contributions

Since this project mostly serves as a template with minimal features, pull requests to add new features might be rejected.

Limitations

Please consider following limitations before writing your app with Yue, some of them are impossible to solve even in future versions.

Webview

Due to using system webview, there is no way to choose browser engine or browser version, so we can not control how web page is rendered or which HTML5 features are available, thus the pain of browser compatibility.

The good news is, because Yue uses webkit2gtk on Linux and WKWebView on macOS, you can at least expect modern web engines on these two platforms.

The APIs provided in Yue are also highly limited to what system APIs have, and we can only provide APIs based on existing system APIs.

Source code protection

While the source code of your app is encrypted with a secure algorithm, there is really nothing we can do to prevent a determined hacker to get the source code from the executable files.

Accessibility

On macOS and Linux, widgets of Yue are just wrappers of existing native widgets, so you have the same level of accessibility with system toolkits.

However on Windows certain widgets (for example buttons) are windowless and do not have accessibility implemented yet, while it is of high priority on my TODO list, please only use the widgets with accessibility implemented (for example webview and text editor) if this is important to you.

muban's People

Contributors

paralax avatar zcbenz avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.