Kembali ke perbandingan
UI lintas platform

Perry vs React Native

React Native memungkinkan Anda menulis JavaScript/TypeScript yang menggerakkan UI native di iOS dan Android — komponen UI dipetakan ke widget platform melalui bridge JS-ke-native (atau, dalam New Architecture, lapisan JSI / Fabric dengan bentuk konseptual yang sama). Perry mengambil pendekatan berbeda: TypeScript dikompilasi ahead-of-time menjadi kode mesin native, dan UI native adalah bagian dari binary yang dikompilasi, bukan bridge runtime.

Apa itu React Native?

React Native adalah framework Meta untuk membangun aplikasi mobile menggunakan React. JavaScript berjalan di engine tertanam — Hermes secara default, atau JavaScriptCore — dan berinteraksi dengan widget native iOS/Android melalui bridge (legacy) atau JSI/Fabric (New Architecture). Framework ini berfokus pada mobile (iOS dan Android); Microsoft memelihara fork komunitas untuk Windows dan macOS. React Native telah memberdayakan aplikasi di Meta, Microsoft, Shopify, Discord, dan banyak lainnya.

Apa itu Perry?

Perry mengompilasi TypeScript langsung ke kode mesin native. Modul perry/ui-nya adalah sistem UI deklaratif gaya SwiftUI yang dikompilasi ke widget platform native pada waktu build — tidak ada runtime JS di binary, tidak ada bridge, dan tidak ada JSI. Kode sumber TypeScript yang sama dikompilasi ke macOS, iOS, iPadOS, Android, Linux, Windows, watchOS, tvOS, Wear OS, WebAssembly, dan Web.

Berdampingan

FiturPerryReact Native
Model eksekusiKode mesin native AOT-compiledEngine JS (Hermes/JSC) + bridge native (atau JSI/Fabric)
Engine JS dalam aplikasiTidak adaHermes (default) atau JavaScriptCore
UIWidget native — API deklaratif gaya SwiftUIWidget native via React + bridge / Fabric
Target utamamacOS, iOS, iPadOS, Android, Linux, Windows, watchOS, tvOS, WASM, WebiOS, Android (Windows/macOS via fork komunitas)
Binary server / CLI / desktopYa (tool CLI, server, aplikasi desktop)Tidak (framework UI mobile)
Bridge antara JS dan nativeTanpa bridge — kode native adalah programnyaYa (bridge legacy atau JSI/Fabric)
Hot reload saat developmentperry dev (auto-recompile mode watch)Fast Refresh (sangat cepat)
KematanganPra-1.0Stabil, banyak digunakan di produksi
Library komponenWidget inti perry/ui + lapisan kompat React perry-reactSangat luas — React Native + paket komunitas

Di mana Perry unggul

  • +Tanpa engine JS di aplikasi yang dikirim. Binary yang dikompilasi Perry tidak membawa Hermes atau JSC; TypeScript adalah executable-nya.
  • +Tanpa biaya bridge / JSI. Panggilan UI native adalah panggilan fungsi terkompilasi langsung, bukan marshaling JS-ke-native.
  • +Jangkauan platform lebih luas. Satu kode sumber Perry mengompilasi ke desktop (macOS/Linux/Windows), mobile (iOS/iPadOS/Android), wearable (watchOS/Wear OS), TV (tvOS), WASM, dan Web. React Native berfokus pada mobile.
  • +Binary server-side dan CLI dari kompiler yang sama — Perry juga merupakan runtime server, bukan hanya framework UI.
  • +Performa komputasi AOT-compiled — tanpa warmup, tanpa JIT, tanpa round trip bridge.
  • +perry-react memberi Anda React/JSX yang dikompilasi ke widget native, sehingga model mental React tersedia tanpa engine JS di binary.

Di mana React Native unggul

  • +Ekosistem yang matang dan teruji pertempuran dengan dukungan komunitas, perpustakaan, dan tooling yang sangat besar.
  • +Fast Refresh saat development adalah yang terbaik di kelasnya — perubahan kode muncul dalam milidetik tanpa rebuild.
  • +Kumpulan talenta yang besar. Mempekerjakan developer React Native mudah; Perry baru.
  • +Pipeline CI/CD yang mapan, publikasi App Store / Play Store, dan update OTA gaya codepush.
  • +JSI/Fabric dan New Architecture telah menutup banyak gap performa historis dengan native, sambil mempertahankan model pemrograman React.
  • +Dukungan langsung dari Meta dan adopter besar (Microsoft, Shopify, Amazon) menjaga framework tetap berkembang.

Kapan memilih Perry

Pilih Perry jika Anda ingin satu kode sumber TypeScript di mobile, desktop, watch, TV, WASM, dan web; jika Anda ingin tanpa runtime JS di aplikasi yang dikirim; jika Anda ingin UI native tanpa bridge; atau jika Anda sudah berinvestasi di TypeScript dan menginginkan kompilasi native daripada engine JS.

Kapan memilih React Native

Pilih React Native jika Anda membangun aplikasi mobile dan menginginkan framework UI native lintas platform yang paling matang, Anda memiliki tim React yang sudah ada, Anda bergantung pada ekosistem perpustakaan React Native, atau Anda butuh stack lintas platform mobile standar industri saat ini.

Kesimpulan

React Native adalah framework yang berfokus pada mobile dengan runtime JS dan bridge (yang sekarang ditingkatkan). Perry adalah kompiler yang menghasilkan binary native dari TypeScript, dengan UI native sebagai bagian dari output kompilasi. Jika Anda menginginkan React di mobile dengan ekosistem terdalam, React Native adalah jawabannya hari ini. Jika Anda ingin satu kode sumber TypeScript yang mengompilasi ke mobile + desktop + watch + TV tanpa runtime JS di aplikasi, Perry-lah jawabannya.

Coba Perry

Kompilasi TypeScript Anda menjadi native hari ini.

Mulai