Perry so với các lựa chọn thay thế
Cách Perry so sánh với các phương thức xuất bản TypeScript khác: runtime, trình biên dịch và framework UI đa nền tảng. Trung thực, có nguồn dẫn, kèm số liệu đo được khi có.
Perry vs Bun
Bun là một runtime JavaScript/TypeScript tất-cả-trong-một, kèm bundler, trình quản lý gói và test runner; nó cũng có thể tạo tệp thực thi đơn lẻ bằng cách đóng gói runtime của mình cùng mã của bạn. Perry đi theo một con đường khác: biên dịch TypeScript trực tiếp thành mã máy gốc qua LLVM — không có engine JavaScript trong binary, không có runtime, chỉ là một tệp thực thi gốc nhỏ gọn. Bun và Perry chồng lấn ở đầu ra TS-to-binary nhưng bất đồng về việc có nên có engine JavaScript trong binary đó hay không.
Perry vs Deno
Deno là một runtime JavaScript và TypeScript hiện đại được xây dựng trên V8, với hỗ trợ TypeScript hạng nhất, mô hình bảo mật dựa trên quyền và lệnh `deno compile` tạo ra một tệp thực thi duy nhất bằng cách đóng gói V8 với ứng dụng của bạn. Perry biên dịch TypeScript trực tiếp thành mã máy gốc — không có V8 trong đầu ra, không có lớp runtime, chỉ là một binary gốc nhỏ.
Perry vs Static Hermes
Static Hermes (`shermes`) là nỗ lực ở giai đoạn nghiên cứu của Meta nhằm biên dịch ahead-of-time một tập con JavaScript/TypeScript có kiểu mạnh thông qua engine Hermes, chủ yếu nhắm đến React Native. Perry là một canh bạc khác trên cùng ý tưởng chung — TypeScript biên dịch sang gốc — nhưng được xây dựng độc lập bằng Rust trên LLVM, với một trình biên dịch hoạt động được, hơn 25 widget UI gốc và 10 mục tiêu biên dịch đang phát hành ngay hôm nay. Tính đến tháng 4/2026, bộ benchmark riêng của Perry báo cáo rằng Static Hermes đã được thử như một peer và không thể cài đặt sạch sẽ qua các trình quản lý gói tiêu chuẩn được thử.
Perry vs Electron
Electron cho phép bạn xây dựng ứng dụng desktop đa nền tảng bằng công nghệ web (HTML/CSS/JS) bằng cách đóng gói Chromium và Node.js cùng ứng dụng. Perry biên dịch TypeScript trực tiếp thành mã máy gốc và render UI qua widget nền tảng thực sự — AppKit, UIKit, GTK4, Win32, JNI. Lập trường của Electron là tái sử dụng công nghệ web; lập trường của Perry là binary gốc nhỏ với UI gốc từ TypeScript.
Perry vs Tauri
Tauri là một framework để xây dựng ứng dụng desktop đa nền tảng (và ngày càng nhiều cho di động) với backend Rust và frontend chạy bên trong webview tích hợp của hệ điều hành — WebView2 trên Windows, WKWebView trên macOS, WebKitGTK trên Linux. Ứng dụng Tauri nhỏ hơn đáng kể so với Electron vì webview của OS không được đóng gói. Perry đi theo một con đường khác: hoàn toàn không có webview, không render HTML, chỉ là TypeScript được biên dịch thành mã máy gốc điều khiển widget nền tảng thực sự.
Perry vs React Native
React Native cho phép bạn viết JavaScript/TypeScript điều khiển UI gốc trên iOS và Android — các thành phần UI ánh xạ đến widget nền tảng qua một bridge JS-to-native (hoặc, trong New Architecture, một lớp JSI / Fabric với cùng hình dạng khái niệm). Perry đi theo một cách tiếp cận khác: TypeScript được biên dịch ahead-of-time thành mã máy gốc, và UI gốc là một phần của binary đã biên dịch, không phải bridge tại runtime.