Torna ai confronti
UI multipiattaforma

Perry vs React Native

React Native permette di scrivere JavaScript/TypeScript che pilota UI nativa su iOS e Android — i componenti UI mappano su widget della piattaforma tramite un bridge JS-to-native (o, nella New Architecture, un layer JSI / Fabric con la stessa forma concettuale). Perry sceglie un approccio diverso: TypeScript è compilato ahead-of-time in codice macchina nativo, e l'UI nativa è parte del binario compilato, non un bridge a runtime.

Cos'è React Native?

React Native è il framework di Meta per costruire app mobile usando React. JavaScript gira in un motore embedded — Hermes di default, o JavaScriptCore — e interagisce con i widget nativi iOS/Android tramite un bridge (legacy) o JSI/Fabric (New Architecture). Il framework è mobile-first (iOS e Android); Microsoft mantiene fork della community per Windows e macOS. React Native ha alimentato app in Meta, Microsoft, Shopify, Discord e molte altre.

Cos'è Perry?

Perry compila TypeScript direttamente in codice macchina nativo. Il suo modulo perry/ui è un sistema UI dichiarativo in stile SwiftUI che compila in widget nativi della piattaforma a build time — non c'è alcun runtime JS nel binario, nessun bridge e nessun JSI. Lo stesso codice TypeScript compila per macOS, iOS, iPadOS, Android, Linux, Windows, watchOS, tvOS, Wear OS, WebAssembly e il Web.

Fianco a fianco

CaratteristicaPerryReact Native
Modello di esecuzioneCodice macchina nativo compilato AOTMotore JS (Hermes/JSC) + bridge nativo (o JSI/Fabric)
Motore JS nell'appNessunoHermes (default) o JavaScriptCore
UIWidget nativi — API dichiarativa in stile SwiftUIWidget nativi via React + bridge / Fabric
Target principalimacOS, iOS, iPadOS, Android, Linux, Windows, watchOS, tvOS, WASM, WebiOS, Android (Windows/macOS via fork della community)
Binari per server / CLI / desktopSì (strumenti CLI, server, app desktop)No (framework UI mobile)
Bridge tra JS e nativoNessun bridge — il codice nativo è il programmaSì (bridge legacy o JSI/Fabric)
Hot reload durante lo sviluppoperry dev (ricompilazione automatica in watch-mode)Fast Refresh (molto veloce)
MaturitàPre-1.0Stabile, ampiamente distribuito in produzione
Libreria di componentiWidget core di perry/ui + layer di compatibilità perry-reactVasta — React Native + pacchetti della community

Dove vince Perry

  • +Nessun motore JS nell'app distribuita. I binari compilati da Perry non trasportano Hermes o JSC; il TypeScript è l'eseguibile.
  • +Nessun costo di bridge / JSI. Le chiamate UI native sono chiamate di funzione compilate dirette, non marshaling JS-to-native.
  • +Copertura di piattaforme più ampia. Un unico codice Perry compila per desktop (macOS/Linux/Windows), mobile (iOS/iPadOS/Android), wearable (watchOS/Wear OS), TV (tvOS), WASM e Web. React Native è mobile-first.
  • +Binari server-side e CLI dallo stesso compilatore — Perry è anche un runtime server, non solo un framework UI.
  • +Prestazioni di calcolo compilate AOT — nessun warmup, nessun JIT, nessun round trip sul bridge.
  • +perry-react ti offre React/JSX che compila in widget nativi, così il modello mentale di React è disponibile senza un motore JS nel binario.

Dove vince React Native

  • +Ecosistema maturo e collaudato sul campo con enorme supporto della community, librerie e tooling.
  • +Fast Refresh durante lo sviluppo è il migliore della categoria — i cambiamenti del codice appaiono in millisecondi senza ricompilazione.
  • +Enorme bacino di talenti. Assumere sviluppatori React Native è facile; Perry è nuovo.
  • +Pipeline consolidate di CI/CD, pubblicazione su App Store / Play Store e aggiornamenti OTA in stile codepush.
  • +JSI/Fabric e la New Architecture hanno chiuso gran parte del divario di prestazioni storico con il nativo, preservando il modello di programmazione di React.
  • +Supporto diretto da Meta e dai principali adopter (Microsoft, Shopify, Amazon) mantiene il framework in movimento.

Quando scegliere Perry

Scegli Perry se vuoi un unico codice TypeScript su mobile, desktop, watch, TV, WASM e il web; se non vuoi alcun runtime JS nella tua app distribuita; se vuoi UI nativa senza bridge; o se sei già investito in TypeScript e vuoi compilazione nativa piuttosto che un motore JS.

Quando scegliere React Native

Scegli React Native se stai costruendo app mobile e vuoi il framework di UI nativa multipiattaforma più maturo, hai un team React esistente, dipendi dall'ecosistema di librerie React Native, o hai bisogno dello stack mobile multipiattaforma standard del settore di oggi.

Verdetto

React Native è un framework mobile-first con un runtime JS e un bridge (ora migliorato). Perry è un compilatore che produce binari nativi da TypeScript, con UI nativa come parte dell'output di compilazione. Se vuoi React su mobile con l'ecosistema più profondo, React Native è la risposta oggi. Se vuoi un unico codice TypeScript che compila per mobile + desktop + watch + TV senza runtime JS nell'app, Perry è la risposta.

Prova Perry

Compila il tuo TypeScript in nativo oggi.

Inizia