Giter VIP home page Giter VIP logo
Ardaku Systems photo

ardaku Goto Github PK

repos: 63.0 gists: 0.0

Name: Ardaku Systems

Type: Organization

Bio: Multimedia & WebAssembly

Twitter: ardaku_systems

Location: United States of America

Ardaku

Ardaku is a general-purpose WebAssembly application engine. It's intended to run in any userspace program or on bare metal as sandboxing for an OS (see the Quantii project).

Getting Started

To boot up Ardaku, you will need a startup application. The hello crate is provided in the root folder. To compile it, run:

cd hello/
./build.sh

This will create a hello.wasm file (~10kB). You can now run it locally with:

RUST_LOG=info cargo run --release --example demo hello/hello.wasm

Rust WebAssembly programs that use an allocator will always allocate at least 2 pages; this example is configured to allocate only 2:

  1. Stack (configured via rustc flags to only take up ½ page - default: 16), the remaining ½ page is used for the WebAssembly data section
  2. Heap allocated memory

Together this adds up to 128 kB (131_072 bytes) for the minimum runtime memory required by a WASM file in Ardaku.

API

Ardaku runs the daku API. You can build your own apps for Ardaku using the daku crate.

Usage

To use Ardaku on a custom target, all you need to do is implement the System trait, and Ardaku takes care of the rest!

Ardaku may be used to test Quantii apps and desktop environments without running Quantii itself. You may also use Ardaku as an alternative to Flatpak and other software similar to Electron (although not within a "web" context).

Ardaku Systems's Projects

alloy icon alloy

A fast and minimalistic image viewer forked from the now discontinued emulsion.

ardaku icon ardaku

General-purpose application engine for WebAssembly. Implementation of the Daku API.

audio icon audio

A collection of safe Rust audio encoder/decoder crates designed for usage with fon.

caved icon caved

Codecs for Audio and Video Encoding and Decoding for Rust.

coreutils icon coreutils

Cross-platform Rust rewrite of the GNU coreutils

cruith icon cruith

Cruith Maximum Contrast Theme; designed for usage with Sprengui.

daku icon daku

Asynchronous host interface abstraction API for WebAssembly plugins, drivers, applications, and more!

dimi icon dimi

Cross-Platform Async MIDI Instrument Library for Rust.

ember icon ember

Semantic filesystem implemented in Rust

externc-libm icon externc-libm

libm with the required `no_mangle` and `extern "C"` declarations for linking under `no_std` environments.

fetchy icon fetchy

Async HTTPS fetch API built on pasts

fon icon fon

Rust audio types, resampling, converting, and mixing library.

fonterator icon fonterator

Load fonts as vector graphics in pure Rust with advanced text layout.

human icon human

Human interface devices abstraction

kuru icon kuru

A simple programming language inspired by Rust and Python.

libm icon libm

A port of MUSL's libm to Rust.

lookit icon lookit

Rust crate to asynchronously get device connection events.

nucleide icon nucleide

A crate to manipulate custom sections of a WebAssembly module to view/edit application metadata.

one_alloc icon one_alloc

A custom allocator that allows a singular allocation of a specific size known ahead of time.

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.