GithubHelp home page GithubHelp logo

xwang98 / webinizer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from web-devkits/webinizer

0.0 0.0 0.0 14.54 MB

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: Apache License 2.0

Shell 0.01% JavaScript 2.42% C++ 0.07% C 0.07% TypeScript 97.33% Makefile 0.02% CMake 0.07%

webinizer's Introduction

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 .

webinizer's People

Contributors

lingyuncai avatar ningw101 avatar pgc avatar dependabot[bot] avatar amitrahman1026 avatar rdower 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.