# Multi-Runtime

<figure><img src="/files/MULyRCAXGabK8GnDXuGJ" alt=""><figcaption></figcaption></figure>

BoxLang has been designed with a lightweight, fast, and modular core. The operating system binary is a whopping **8MB** in size. This allows us to build on this binary according to the deployed runtime of choice. Check out our [installation methods.](/getting-started/installation.md)

### Available Runtimes

The currently available and in-development runtimes are the following:

| Runtime                                                                                  | Description                                         | Status        |
| ---------------------------------------------------------------------------------------- | --------------------------------------------------- | ------------- |
| **Android**                                                                              | Ability to run BoxLang in Android Devices           | *In Planning* |
| [**AWS Lambda**](/getting-started/running-boxlang/aws-lambda.md)                         | Ability to run BoxLang with AWS Lambda              | **Available** |
| **Azure Functions**                                                                      | Ability to run BoxLang with Microsoft Functions     | *In Progress* |
| [**CommandBox**](/getting-started/running-boxlang/commandbox.md)                         | A BoxLang engine for CommandBox                     | **Available** |
| [**Docker**](/getting-started/running-boxlang/docker.md)                                 | BoxLang CLI, MiniServer and CommandBox images       | **Available** |
| **Desktop**                                                                              | BoxLang native Desktop Applications                 | **Available** |
| [**DigitalOcean App Platform**](/getting-started/running-boxlang/digitalocean-app.md)    | DigitalOcean App Platform applications              | **Available** |
| **iOS**                                                                                  | Ability to run BoxLang in iOS Devices               | *In Planning* |
| [**Google Cloud Functions**](/getting-started/running-boxlang/google-cloud-functions.md) | Ability to run BoxLang with Google Cloud Functions  | **Available** |
| [**JSR-223**](/getting-started/running-boxlang/jsr-223-scripting.md)                     | Java scripting interfaces                           | **Available** |
| [**MiniServer**](/getting-started/running-boxlang/miniserver.md)                         | A pure Java webserver built with BoxLang            | **Available** |
| [**Spring Boot**](/getting-started/running-boxlang/spring-boot.md)                       | A Spring Boot starter and auto configurator         | **Available** |
| **Servlet WAR**                                                                          | A servlet capable `war`                             | **Available** |
| [**OS**](/getting-started/running-boxlang.md)                                            | Bare metal runtime for any OS Java runs in          | **Available** |
| **WebAssembly**                                                                          | Ability to run BoxLang as WebAssembly compiled code | **Available** |

The core impetus of BoxLang is to grow through a hierarchical approach, targeting specific runtimes with specific behaviors. For example, the concepts of FORM, URL scope, web functions, and components are available only to runtimes that support web.

**Just because a runtime isn't listed here doesn't mean BoxLang can't run on it. These are just a collection of officially supported runtimes. You can use the core runtime and run it anywhere the JVM can run. You can embed it now in Android, Azure, OpenWhisk, and more. However, once we have official runtimes, we will post them here.**

{% hint style="success" %}
All of our runtime source code can be found in our organization: <https://github.com/ortus-boxlang>
{% endhint %}

### Third-Party Runtimes

We love our community. If you have created custom runtimes for BoxLang, please let us know, and we will add them here.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://boxlang.ortusbooks.com/getting-started/overview/multi-runtime.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
