-
Notifications
You must be signed in to change notification settings - Fork 15
Home
inNative is a cross-platform WebAssembly implementation, which can be embedded inside your program, or installed as a stand-alone runtime. It compiles WebAssembly modules into C binaries that can be linked as static or dynamic libraries and accessed through a simple C interface. While inNative is standards compliant, it provides you with options to tweak what parts of the standard you want to enforce, allowing you to specify just how sandboxed (or not) the resulting WebAssembly binaries are. This allows inNative to either safely execute sandboxed WebAssembly inside a host program, or compile modules that call kernel functions just like a native program.
The inNative runtime is most useful as a scripting engine. If you'd like to get started as quickly as possible, the Quick Start Guide will show you how to embed the SDK inside your own program and call a WebAssembly module with just a few lines of code.
The runtime is very adaptable, and there are many ways to integrate it into your project. It is recommended you first follow the Quick Start Guide before reading further. In general, you will need to either Install the runtime on your machine or Embed the runtime inside your program, and then Compile your code into WebAssembly that targets inNative. Most of the steps involved are fairly simple, the hard part is knowing which method is best for your use-case.
While the inNative runtime itself is all that's required to build WebAssembly modules, the SDK comes with several tools designed to make your life easier.
inNative provides a standards-compliant WebAssembly environment, but also allows for extensive customization, and includes some non-standard built-in functions to make life easier for native WebAssembly modules.
These pages provide in-depth documentation on the inNative external API and internal functions.