Droe

Droe

Write once. Run anywhere.

A unified programming system that compiles high-level app definitions to native, web, mobile, and server runtimes.

Write once in .droe files and deploy to DroeVM bytecode, WebAssembly, or generate native code for Rust, Java, Node.js, Python, and more.

Multi-Target
Native & Web
Unified
One Source
High-Perf
DroeVM
hello.droe
// Welcome to Droe! 🦌
display "Hello, World!"

set name which is text to "Alice"
set age which is int to 25

display "Welcome [name], you are [age] years old!"

// Modern features
module greetings
  action say_hello with name which is text gives text
    give "Hello, " + name + "! 👋"
  end action
end module

set greeting from run greetings.say_hello with name
display greeting
$ droe run hello.droe
Hello, World!
Welcome Alice, you are 25 years old!
Hello, Alice! 👋

Why Droe?

A unified programming system that compiles to multiple targets with high-performance DroeVM runtime and developer-friendly syntax

Multi-Target Compilation

Compiles to DroeVM bytecode for optimal performance, WebAssembly for portability, or generates native code for Rust, Java, Python, Node.js and mobile platforms.

Type Safe

Strong static typing with int, text, flag, decimal, and collections. Catch errors at compile time.

Modular Design

Organize code with modules and parameterized actions. Build reusable components with clean interfaces.

Modern Syntax

String interpolation, concatenation, and expressive syntax that reads like natural language while staying concise.

Git Friendly

Clean, readable .droe files that work beautifully with version control. Merge conflicts are rare and easy to resolve.

Flexible Deployment

Deploy as single DroeVM binaries, WebAssembly modules, or integrate with existing ecosystems. Perfect for web, mobile, server, and embedded systems.

Get Started in Minutes

Install Droe and create your first program

Installation

Download installer
curl -sSL https://droe.dev/install | sh
Alternative: Download the GUI installer for macOS from our releases page.

Your First Program

hello.droe
display "Hello, Droe! 🦌"

set name which is text to "Developer"
display "Welcome to the future, [name]!"
Run it
droe run hello.droe