Skip to content

Webinizer is a collection of tools to convert native applications, such as these programmed by C/C++/Rust, to Web applications which are constructed by HTML/CSS/JavaScript and WebAssembly.

License

Notifications You must be signed in to change notification settings

web-devkits/webinizer

Webinizer

Important

Webinizer is now in Beta trial. We'd greatly appreciate your feedback!

About

Webinizer is a collection of tools to convert native applications, such as these programmed by C/C++/Rust, to Web applications which are constructed by HTML/CSS/JavaScript and WebAssembly.

Webinizer consists of two parts; a core engine that analyzes the code and then either fixes or highlights issues, and a web frontend to configure projects and display results. This repo consists of the core engine, for the web frontend see the webinizer-webclient repo.

We also provide the webinizer-demo repo that holds the demo projects and build scripts to setup Webinizer.

Setting up Webinizer

Run with Docker (recommended)

Webinizer provides scripts to build a Docker image that will setup everything for you and make Webinizer ready to use out of the box.

Please follow the Docker installation and setup guide for the detailed instructions.

Run locally

The Webinizer also supports running locally without Docker. Currently this is validated on Linux (Ubuntu 20.04).

Please follow the Run locally guide for the detailed instructions.

Documentation

Webinizer User Manual is available under documentation/ folder with below structure.

Using Webinizer

Extending Webinizer

Webinizer provides an extension mechanism for developers to extend the capabilities of the tool.

Areas under development

We're considering how to create a package format and repository hosting for libraries and applications ported to Wasm. There are proposals for module format and registry hosting in our wiki.

Setting up the development environment

The steps to setup the development environment are similar to those described in Run Webinizer locally.

Basic commands

  • npm run serve to launch the core engine server and start at port 16666.
  • npm run test to run the unit tests, see tests/README.md for details.
  • npm run lint-fix to format code with ESLint.
  • npm run doc to generate the Webinizer Extension API document into ./docs.
  • npm run swagger-autogen to generate the swagger specification for server RESTful APIs , see generate swagger specification for details.

Recommended IDE setup

It's preferred to use VS Code for development.

It's preferred to use Prettier formatter, along with Format on Save. Please setup the Prettier and ESLint extensions and configure them accordingly.

NOTE that we set printWidth as 100 and tab width as 2.

Contributing

We welcome contributions to Webinizer. You can find more details in CONTRIBUTING.md .

About

Webinizer is a collection of tools to convert native applications, such as these programmed by C/C++/Rust, to Web applications which are constructed by HTML/CSS/JavaScript and WebAssembly.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published