Karşılaştırmalara geri dön
Çapraz platform UI

Perry vs React Native

React Native; iOS ve Android'de yerel UI'ı süren JavaScript/TypeScript yazmanıza izin verir — UI bileşenleri bir JS-yerel köprü (veya Yeni Mimari'de aynı kavramsal şekle sahip bir JSI / Fabric katmanı) aracılığıyla platform widget'larına eşlenir. Perry farklı bir yaklaşım benimser: TypeScript ahead-of-time olarak yerel makine koduna derlenir ve yerel UI, çalıştırma zamanı köprüsü değil, derlenmiş ikili dosyanın bir parçasıdır.

React Native nedir?

React Native, Meta'nın React kullanarak mobil uygulamalar inşa etmek için framework'üdür. JavaScript gömülü bir motorda çalışır — varsayılan olarak Hermes veya JavaScriptCore — ve yerel iOS/Android widget'larıyla bir köprü (eski) veya JSI/Fabric (Yeni Mimari) aracılığıyla etkileşime girer. Framework mobil önceliklidir (iOS ve Android); Microsoft, Windows ve macOS için topluluk fork'larını korur. React Native; Meta, Microsoft, Shopify, Discord ve daha birçok yerde uygulamaları çalıştırmıştır.

Perry nedir?

Perry, TypeScript'i doğrudan yerel makine koduna derler. perry/ui modülü, derleme zamanında yerel platform widget'larına derlenen SwiftUI tarzı bildirimsel bir UI sistemidir — ikili dosyada JS çalıştırma zamanı yok, köprü yok ve JSI yok. Aynı TypeScript kod tabanı; macOS, iOS, iPadOS, Android, Linux, Windows, watchOS, tvOS, Wear OS, WebAssembly ve Web'e derlenir.

Yan yana

ÖzellikPerryReact Native
Yürütme modeliAOT-derlenmiş yerel makine koduJS motoru (Hermes/JSC) + yerel köprü (veya JSI/Fabric)
Uygulamada JS motoruYokHermes (varsayılan) veya JavaScriptCore
UIYerel widget'lar — SwiftUI tarzı bildirimsel APIReact + köprü / Fabric ile yerel widget'lar
Birincil hedeflermacOS, iOS, iPadOS, Android, Linux, Windows, watchOS, tvOS, WASM, WebiOS, Android (Windows/macOS topluluk fork'ları aracılığıyla)
Sunucu / CLI / masaüstü ikili dosyalarıEvet (CLI araçları, sunucular, masaüstü uygulamaları)Hayır (mobil UI framework'ü)
JS ve yerel arasında köprüKöprü yok — yerel kod programın kendisidirEvet (eski köprü veya JSI/Fabric)
Geliştirme sırasında hot reloadperry dev (watch-mode otomatik yeniden derleme)Fast Refresh (çok hızlı)
Olgunluk1.0 öncesiKararlı, üretimde geniş çapta dağıtılmış
Bileşen kütüphanesiperry/ui temel widget'lar + perry-react React-uyum katmanıDevasa — React Native + topluluk paketleri

Perry'nin kazandığı yerler

  • +Gönderilen uygulamada JS motoru yok. Perry ile derlenmiş ikili dosyalar Hermes veya JSC taşımaz; TypeScript çalıştırılabilir dosyanın kendisidir.
  • +Köprü / JSI maliyeti yok. Yerel UI çağrıları doğrudan derlenmiş fonksiyon çağrılarıdır, JS-yerel marshaling değil.
  • +Daha geniş platform erişimi. Tek bir Perry kod tabanı; masaüstü (macOS/Linux/Windows), mobil (iOS/iPadOS/Android), giyilebilir (watchOS/Wear OS), TV (tvOS), WASM ve Web'e derlenir. React Native mobil önceliklidir.
  • +Aynı derleyiciden sunucu tarafı ve CLI ikili dosyaları — Perry sadece bir UI framework'ü değil, aynı zamanda bir sunucu çalışma zamanıdır.
  • +AOT-derlenmiş hesaplama performansı — ısınma yok, JIT yok, köprü gidiş-dönüşleri yok.
  • +perry-react size yerel widget'lara derlenen React/JSX verir; böylece React zihinsel modeli, ikili dosyada JS motoru olmadan kullanılabilir.

React Native'in kazandığı yerler

  • +Devasa topluluk desteği, kütüphaneler ve araçlarla olgun, savaşta test edilmiş ekosistem.
  • +Geliştirme sırasında Fast Refresh sınıfının en iyisidir — kod değişiklikleri yeniden derleme olmadan milisaniyeler içinde görünür.
  • +Geniş yetenek havuzu. React Native geliştirici işe almak kolaydır; Perry yenidir.
  • +Yerleşik CI/CD, App Store / Play Store yayınlama pipeline'ları ve codepush tarzı OTA güncellemeler.
  • +JSI/Fabric ve Yeni Mimari, React programlama modelini koruyarak yerel ile arasındaki tarihsel performans farkının çoğunu kapatmıştır.
  • +Meta ve büyük benimseyenlerden (Microsoft, Shopify, Amazon) doğrudan destek framework'ü hareket halinde tutar.

Perry'i ne zaman seçmeli

Mobil, masaüstü, watch, TV, WASM ve web genelinde tek bir TypeScript kod tabanı istiyorsanız; gönderilen uygulamanızda JS çalıştırma zamanı istemiyorsanız; köprü olmadan yerel UI istiyorsanız ya da zaten TypeScript'e yatırım yaptıysanız ve JS motoru yerine yerel derleme istiyorsanız Perry'yi seçin.

React Native'i ne zaman seçmeli

Mobil uygulamalar inşa ediyorsanız ve en olgun çapraz platform yerel-UI framework'ünü istiyorsanız, mevcut bir React ekibiniz varsa, React Native kütüphane ekosistemine bağımlıysanız ya da bugünkü endüstri standardı mobil çapraz platform yığınına ihtiyacınız varsa React Native'i seçin.

Karar

React Native, JS çalıştırma zamanı ve (artık iyileştirilmiş) bir köprüsü olan mobil öncelikli bir framework'tür. Perry ise TypeScript'ten yerel ikili dosyalar üreten ve yerel UI'ı derleme çıktısının bir parçası olarak veren bir derleyicidir. Mobil üzerinde en derin ekosisteme sahip React istiyorsanız, bugünkü cevap React Native'dir. Uygulamada JS çalıştırma zamanı olmadan mobil + masaüstü + watch + TV'ye derlenen tek bir TypeScript kod tabanı istiyorsanız, cevap Perry'dir.

Perry'yi deneyin

TypeScript'inizi bugün yerel koda derleyin.

Başlayın