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.
macOS native UI (AppKit)
Full AppKit integration — NSWindow, NSView, NSButton, NSTextField, menus, and more.
iOS & iPadOS native UI (UIKit)
UIKit integration for iPhone and iPad — UIViewController, UIView, UIButton, UITableView.
Android native UI (JNI + Views)
Android support via JNI — Activity, View, Button, TextView, RecyclerView, and Android lifecycle.
Linux native UI (GTK4)
GTK4 integration — GtkWindow, GtkBox, GtkButton, GtkEntry, GtkListBox, and CSS theming.
Windows native UI (Win32)
Win32 API integration — CreateWindowEx, message loop, common controls, and GDI rendering.
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.
62/62 tests passing
Comprehensive test suite covering compilation, runtime behavior, and platform-specific features.
UI widget library expansion
Adding State<string>, SecureField, ProgressView, Alert, DatePicker, and more across all platforms.
Performance optimization
Improving string operations, object creation, and memory management for even faster binaries.
Full regex support
Complete ECMAScript-compatible regular expression engine compiled to native code.
Stream module
Node.js-compatible Readable, Writable, Transform, and Duplex stream implementations.
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.
Package manager integration
First-class integration with npm/yarn/pnpm for dependency resolution and native compilation.
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 GUI framework parity across all platforms
Every widget, layout, gesture, and animation available on every supported platform.
Hot reload for native UI development
Instant preview of UI changes during development without recompiling the entire binary.
Perry Cloud
CI/CD service for multi-platform builds — push TypeScript, get native binaries for all platforms.