Karşılaştırmalara geri dön
TS-yerel derleyici

Perry vs Static Hermes

Static Hermes (`shermes`), Meta'nın güçlü tipli bir JavaScript/TypeScript alt kümesini Hermes motoru üzerinden ahead-of-time derlemeyi amaçlayan, esas olarak React Native'i hedefleyen araştırma aşamasındaki çabasıdır. Perry, aynı genel fikre — TypeScript yerel koda derleniyor — yapılan farklı bir bahistir, ancak bağımsız olarak Rust üzerine LLVM ile inşa edilmiştir; bugün çalışan bir derleyici, 25+ yerel UI widget'ı ve 10 derleme hedefi göndermektedir. Nisan 2026 itibarıyla, Perry'nin kendi benchmark suite'i Static Hermes'in eş olarak denendiğini ve test ettiği standart paket yöneticileri aracılığıyla temiz bir şekilde kurulamadığını rapor etmektedir.

Static Hermes nedir?

Hermes, Meta'nın React Native için inşa ettiği JavaScript motorudur — bytecode tabanlı, AOT-ön derlenmiş, mobil başlatma süresi için optimize edilmiştir. Static Hermes, Hermes'i tipli bir JavaScript alt kümesinin ahead-of-time yerel derlemesiyle genişletme araştırma çabasıdır ve React Native'e gerçek yerel koda giden bir yol sağlamayı amaçlar. Esas olarak bir derleyici Ar-Ge projesidir; Perry'nin benchmark notlarına göre macOS arm64 üzerinde rutin kurulum için henüz paketlenmemiştir (`shermes`, polyglot benchmark'tan 'macOS arm64 üzerinde temiz bir şekilde kurulan bir biçimde Homebrew veya npm üzerinde mevcut değildir' notuyla atlanmıştır — perry/benchmarks/README.md'ye bakın).

Perry nedir?

Perry; Rust ile yazılmış, ayrıştırma için SWC ve kod üretimi için LLVM kullanan yerel bir TypeScript derleyicisidir. Çalışan bir CLI (`perry compile`, `perry run`, `perry publish`), 25+ yerel UI widget'ı, 10 derleme hedefi, kendi kendini barındıran bir çalışma zamanı ve şeffaf koşullar altında ölçülen bir benchmark suite'i (M1 Max, RUNS=11) gönderir. Perry 1.0 öncesidir ama üretim hattıdır: insanlar onunla inşa edilmiş uygulamaları gönderiyor (Bloom Engine, Mango, Hone, Pry, dB Meter — perryts.com'a bakın).

Yan yana

ÖzellikPerryStatic Hermes
Durum1.0 öncesi (alfa) — üretim hattıAraştırma / deneysel
Kurulum yolu (macOS arm64)Homebrew, APT, npm (@perryts/perry)Yazıldığı sırada temiz kurulum için paketlenmemiş (perry/benchmarks'a göre)
BackendLLVMÖzel (Hermes tabanlı kod üretimi)
GirdiTypeScript (tam)Tipli JS/TS alt kümesi
Derleme hedefleri10: macOS, iOS, iPadOS, Android, Linux, Windows, watchOS, tvOS, WASM, Web/JSEsas olarak mobil (React Native bağlamı)
Yerel UIAppKit, UIKit, GTK4, Win32, JNI ile 25+ widgetReact Native köprüsü aracılığıyla (entegre edildiğinde)
Bağımsız CLI uygulama akışıEvet — `perry compile main.ts` bir ikili dosya üretirReact Native bağlamına bağlı
Genel benchmark suite'iEvet — Node, Bun, Rust, C++, Go, Swift, Java'ya karşı RUNS=11Dahili / araştırma makaleleri

Perry'nin kazandığı yerler

  • +Kullanılabilir bir araç olarak mevcuttur. Perry bugün Homebrew, APT veya `npm install @perryts/perry` ile kurulabilir ve `perry compile main.ts` ilk denemede bir ikili dosya üretir.
  • +Daha geniş kapsam. Perry; tek bir TypeScript kod tabanından bağımsız CLI uygulamaları, yerel masaüstü uygulamaları, mobil uygulamalar, watch uygulamaları, TV uygulamaları, WASM ve web derler. Static Hermes ise React Native'in yerel kod yoluna odaklanmıştır.
  • +Yerleşik yerel UI. Perry'nin perry/ui modülü AppKit/UIKit/GTK4/Win32/JNI widget'larına derlenen, çalışan bir SwiftUI tarzı bildirimsel UI katmanıdır. Static Hermes UI'yı host'una (React Native) bırakır.
  • +Belgelenmiş metodolojiyle açık, tekrarlanabilir benchmark suite'i — perry/benchmarks adlandırılmış derleyiciler ve çalışma zamanlarına karşı RUNS=11 boyunca medyan + p95 + σ gösterir.
  • +LLVM backend, Perry'nin onlarca yıllık olgun optimizasyon geçişlerini (autovectorization, IndVarSimplify, scalar replacement) miras almasını ve LLVM'in hedeflediği her platformu desteklemesini sağlar.

Static Hermes'in kazandığı yerler

  • +Meta tarafından destekleniyor — önemli mühendislik kaynakları ve React Native'de net bir stratejik bağlantı.
  • +Hermes, üretim React Native uygulamalarında zaten bir bytecode motoru olarak gönderilmektedir; Static Hermes bu ekosistemi ve araçları miras alır.
  • +AOT tipleme kuralları ve JS-alt-kümesi semantiği üzerinde gerçekten yenilikçi araştırma kalitesinde çalışma.
  • +Zaten React Native üzerindeyseniz, Static Hermes (mevcut olduğunda) farklı bir derleyiciye karşı yeniden yazmaktan daha kademeli bir yoldur.

Perry'i ne zaman seçmeli

Bugün çalışan bir TS-yerel derleyiciye ihtiyacınız varsa, masaüstü, mobil, watch, TV, WASM ve web'i hedeflemek için tek bir TypeScript kod tabanı istiyorsanız ya da React Native'in köprüsü olmadan yerel UI widget'ları istiyorsanız Perry'yi seçin.

Static Hermes'i ne zaman seçmeli

React Native'e bağlıysanız ve mobil üzerinde JavaScript/TypeScript'ten ahead-of-time derlenmiş yerel koda giden bir yol istiyorsanız ve araştırma araçları sınırında çalışmaktan rahatsanız (mevcut olduğunda) Static Hermes'i seçin.

Karar

Static Hermes, güvenilir bir ekipten ilginç araştırmadır. Perry, aynı genel fikir üzerinde çalışan, mobilden çok daha geniş kapsamlı ve bugün gönderilen bir üründür. Şu anda elinizde bir TS-yerel derleyiciye ihtiyacınız varsa, Perry tercihtir. React Native üzerindeyseniz ve bir araştırma projesini takip etmeye istekliyseniz, Static Hermes'i izleyin.

Perry'yi deneyin

TypeScript'inizi bugün yerel koda derleyin.

Başlayın