Roadmap
Where Perry is today and where it's headed. From native compilation to a full cross-platform development ecosystem.
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.
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.
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.
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.