Roadmap

Where Perry is today and where it's headed. From native compilation to a full cross-platform development ecosystem.

Shipped

Native TS → executable compilation

SWC parsing + Cranelift code generation for AOT compilation of TypeScript to native machine code.

6-platform native UI with full feature parity

AppKit, UIKit, Android Views (JNI), GTK4, Win32 — 20+ widgets, Canvas, Table, system APIs on all platforms.

React compatibility layer (perry-react)

Optional bridge: write React/JSX and it compiles to perry/ui widgets underneath. Phase 1 shipped.

Prisma-compatible ORMs (MySQL, PostgreSQL, SQLite)

Drop-in @prisma/client replacements backed by Rust FFI + sqlx. Full CRUD, transactions, raw SQL — zero runtime overhead.

Universal push notifications (perry-push)

APNs, FCM, Web Push, and WNS from a single library with Rust FFI. ES256/RS256 JWT, OAuth 2.0, VAPID.

Perry Hub + distributed build workers

Cloud build orchestration server with macOS and Linux workers. Code signing, notarization, App Store and Play Store publishing.

Pry: native JSON viewer on 5 platforms

Flagship app shipping on Mac App Store and Google Play. Same TypeScript codebase, five native binaries.

27+ native npm package implementations

mysql2, pg, mongodb, axios, bcrypt, express, ws, jsonwebtoken, uuid, chalk, and more — compiled natively.

Async/await, Promises, generators, closures, generics

Full support for modern TypeScript features including generics with monomorphization.

Classes with inheritance, private fields, static members

Complete class support including extends, private fields (#field), and static methods/properties.

Optional V8 runtime for JS npm compatibility

Embed V8 to run uncompiled JavaScript npm packages when native implementations aren't available.

Cross-compilation (macOS → Linux, macOS → iOS)

Build for other platforms from your development machine without needing the target OS.

In Progress

perry/ui expansion

Drag and drop, accessibility labels, custom context menus, DatePicker, and more layout primitives across all platforms.

perry-verify: automated app verification

Post-build verification pipeline with AI-assisted auth flows, state checks, and screenshot capture.

Full regex support

Complete ECMAScript-compatible regular expression engine compiled to native code.

Performance optimization

Improving string operations, object creation, and memory management for even faster binaries.

Framework compatibility layers

Improving React, Angular, and Ionic bridges as on-ramps — all mapping to perry/ui underneath.

Planned

Hub public beta

Opening distributed builds to external users — push TypeScript, get signed native binaries for all platforms.

WASM compilation target

Compile TypeScript to WebAssembly for browser and edge runtime deployment.

Multi-threading support

Native thread spawning and shared memory for CPU-intensive workloads.

Stream module

Node.js-compatible Readable, Writable, Transform, and Duplex stream implementations.

Source maps & debug info

DWARF debug info and source maps for native debugging with lldb/gdb and IDE integration.

VS Code extension

Language server, build integration, and debugging support directly in VS Code.

Perry package registry

A registry for Perry-optimized packages with pre-compiled native implementations.

Vision

One TypeScript codebase → native apps on all 6 platforms

Write once, compile to native GUI and CLI apps on macOS, iPadOS, iOS, Android, Linux, and Windows.

Full perry/ui framework with layout engine

Advanced layout system, animations, gestures, and accessibility — the most complete native UI toolkit for TypeScript.

Hot reload for native UI development

Instant preview of UI changes during development without recompiling the entire binary.