Confronto: React Native vs Sviluppo di app native

Pubblicato: 2021-10-05

Il framework React Native RoR potrebbe competere con lo sviluppo di app native ?

In realtà è una di quelle app ibride di cui sentiamo così tante opinioni in questi giorni. Esistono molti strumenti di sviluppo multipiattaforma, ma quello a cui prestiamo attenzione in questo testo è il framework React Native RoR. React Native è nativo? Indaghiamo allora la questione.

Per quanto multi optional sia diventato il nostro mondo ora, possiamo prendere circa 3500 decisioni ogni giorno, e questo non è nemmeno il culmine. Questo fattore multi-optional ha influito anche sul mondo dello sviluppo nativo di iOS (e Android): ci sono molti modi per creare un'applicazione. Puoi avere la tua app su diverse piattaforme, potrebbe essere web o mobile, nativa o multipiattaforma, tutto potrebbe essere capito a seconda delle tue esigenze e dei tuoi valori. Cercheremo di evidenziare i pro e i contro di ciascun caso.

I percorsi di sviluppo di applicazioni conosciuti e seguiti sono quelli nativi e multipiattaforma. Lo sviluppo di app native funziona molto bene per i dispositivi mobili ed è un tipo ufficiale di sviluppo per uno scopo specifico (iOS o Android), all'interno di un IDE specifico ( XCode o Android Studio ) e su un determinato linguaggio ( Kotlin/Java per Android, Swift/ Obiettivo-C per iOS ).

Il secondo tipo di app sviluppate si chiama ibrido. Qual è la differenza tra lo sviluppo multipiattaforma (ad esempio React Native) e lo sviluppo di app native? Lo sviluppo di applicazioni multipiattaforma è leggermente diverso da quello nativo, poiché nella maggior parte dei casi include un framework open source che mescola i concetti di sviluppo mobile e web, e molto spesso è scritto su Java Script, anche se un risultato finale potrebbe essere un file dell'applicazione "simili a nativi". La rivalità "app native vs app ibride" sta raggiungendo il suo meridiano in questi giorni.

Mentre tutto è chiaro con piattaforme e linguaggi "nativi", le app ibride hanno una classificazione più ampia. I framework JS multipiattaforma più comunemente utilizzati sono i seguenti:

  • Struttura ionica 3
  • Xamarin
  • Cordova (ex PhoneGap)
  • React Native RoR framework

Perché oggi scegliere app ibride e su quale framework costruirle? Cosa scegliere - React Native vs Ionic? Xamarin vs React nativo? Uno dei framework più utilizzati per lo sviluppo di app multipiattaforma è React Native , ma cosa fa sì che le persone lo utilizzino? Ho cercato di indagare sulla questione.

Reagisci più velocemente.

app basate su react native
[Fonte immagine: Facebook React Native]

Scommetto che hai riconosciuto ognuna di queste icone. Tutti (in passato, o anche attualmente) sono stati o sono costruiti utilizzando React Native. A proposito, la società di Facebook è fondamentalmente un proprietario e un promotore attivo dello sviluppo di app React Native. Tuttavia, la stessa società nega di essere uno "strumento per app ibride". Come affermano sul loro sbarco ufficiale,

"Con React Native, non crei un'"app Web mobile", un'"app HTML5" o un'"app ibrida". Costruisci una vera app mobile che è indistinguibile da un'app creata utilizzando Objective-C o Java. React Native utilizza gli stessi elementi fondamentali dell'interfaccia utente delle normali app iOS e Android. Metti insieme questi elementi costitutivi usando JavaScript e React.

[Fonte: Facebook Github]

Ma React Native funziona davvero contro lo sviluppo di app native? Beh, non del tutto. Prima di tutto, anche il processo di creazione dell'app è diverso qui.

Come creare un'app nativa di reazione? Avvolgetelo.

React Native per Android (e iOS) stesso è un wrapping sulla compilazione nativa, in cui lo strumento JS ti consente di creare app in modo molto più semplice. Ha anche una struttura semplificata: i componenti sembrano i tag HTML di base. Il codice che scrivi in ​​React Native è unico per ogni piattaforma mobile, ma ci sono molti strumenti universali che possono essere riutilizzati e riapplicati su iOS o Android. Inoltre, puoi avere alcune destinazioni di compilazione, il che mi fa chiamare lo sviluppo di React Native non solo un framework multipiattaforma, ma anche un cross-device. Puoi adottare la tua applicazione per iOS, come AppleTV e Mac OS.

Le applicazioni sviluppate in React Native non richiedono un IDE nativo (XCode o Android Studio), anche se potresti svilupparle utilizzandole, poiché l'IDE personalizzato di Expo - React Native ha meno funzionalità di debug da offrire. Il framework RN non sofistica anche la struttura dei componenti - piuttosto semplice è, e se stai cercando uno più complesso, devi utilizzare parti iOS o Android native, avvolte nella copertura JS in alto (che è, abbastanza , abbastanza disordinato). Alcuni componenti sono vestiti in modo a , che ti aiuta a inserire vari oggetti di scena.

Alcuni vantaggi che rendono React Native un buon affare per gli sviluppatori di applicazioni multipiattaforma in tutto il mondo :

1. Richiede meno risorse da parte tua.

Come con ogni soluzione multipiattaforma, è più economica e un po' più economica; non è necessario assumere due team di sviluppo di app separati: puoi svilupparne uno, ma il risultato coprirebbe entrambe le piattaforme se lo desideri. La quantità di risorse e costi spesi per la creazione di queste app sarà, ovviamente, significativamente inferiore a quella che richiederebbe lo sviluppo di app native.

2. React Il potere nativo è nei suoi componenti.

Come è già stato affermato, l'elenco dei componenti accettabili per React Native è enorme. A loro volta, questi componenti potrebbero certamente essere riutilizzati in altri progetti, se presentassero alcune somiglianze comuni.

3. Ha una comunità enorme.

Reagire comunità nativa

Quante persone pensi che abbia la community ufficiale di Facebook React Native? Al momento della pubblicazione di questo articolo, il numero ha superato 23 000. La cosa più bella dell'essere parte di una grande comunità è un senso di inclusione certa + capacità di estrarre nuovi componenti da essa. I componenti che crei per i tuoi scopi personalizzati possono essere facilmente distribuiti all'interno del gruppo e così puoi trovare una soluzione pronta quando ne hai bisogno, senza doverla riscrivere da zero.

4. È promosso da...

azienda facebook

La società di Facebook nel suo insieme può già essere nominata "Branded Brand", quindi l'intero Facebook-dietro-it offre un enorme vantaggio al framework React Native (se prendiamo anche il confronto tra Ionic e React Native). Gli utenti credono che questo social network sia abbastanza durevole da sostenere i prodotti che pubblicizza e su cui afferma di fare affidamento.

Una taglia non va bene per tutti.

Dall'altra parte del ring, dove si trovano gli sviluppatori di applicazioni native, ci sono anche valori e vantaggi che acquisti quando paghi per "diventare nativi".

1. Nativo = più reattivo.

La reattività di un'interfaccia è qualcosa che i designer di UX bramano e per cui fanno dozzine di sforzi. Quando si tratta di un'applicazione nativa, ogni singola schermata di progettazione è progettata e adattata separatamente alle linee guida dei negozi per adattarsi allo stile, sia piatto che materiale .

2. Lingue native = sviluppate ufficialmente da Apple e Google Store.

Native App Store e Google Play accettano le applicazioni costruite sui linguaggi sviluppati e supportati dalle piattaforme. Se segui le linee guida, la tua scala per il negozio è pronta. Con un'applicazione multipiattaforma hai ancora la possibilità di accettare, ma è probabile che tu venga rifiutato solo per un po' di interfaccia o navigazione "webbish".

3. "Necessità di velocità".

Uno dei principi fondamentali dell'ingegneria dell'usabilità è sinonimo di interazioni rapide: "1,0 secondi è circa il limite per il flusso di pensiero dell'utente per rimanere ininterrotto". Mentre le app native reagiscono e funzionano abbastanza velocemente da mantenere gli utenti all'interno del ritmo del sistema, i prodotti ibridi spesso rallentano.

4. Nativo = più sofisticato.

app native = app sofisticate

Le soluzioni multipiattaforma vanno bene quando stai cercando di creare qualcosa che già esiste, con caratteristiche fuori dalla classe "media". Quando si tratta di cose complesse (tutti quegli algoritmi alla moda di IoT, AR/VR, Big Data Mining sono in questo elenco), le app ibride mancano delle capacità tecniche per realizzare ciò che desideri. D'altra parte, gli IDE e i linguaggi nativi hanno infinite prospettive tecnologiche: su di essi si potrebbe scrivere un sacco di cose.

Scegli con cura.

Se stai cercando un'applicazione semplice da costruire (elenchi e niente di più complesso di quello), allora React Native è uno spasso. Se sono necessarie ulteriori prestazioni dell'app, sorgeranno procedure di sviluppo più complicate: devi già passare a Swift oa Kotlin, e poi avvolgere tutto nella scintillante copertina di Java Script; e questa non sembra una cosa facile da fare. Quindi, per cose come streaming video o audio, routing, chat in tempo reale, fotoritocco, ecc., sarà meglio iniziare con lo sviluppo nativo fin dall'inizio, evitando questi svantaggi.

Inoltre, React Native è un framework JavaScript completo e l'intero codice potrebbe anche essere scritto nell'editor di testo come TextMate o Notepad++. Tuttavia, quando si tratta di costruire un progetto, hai disperatamente bisogno di un particolare IDE o almeno di un emulatore.

Ci sono alcuni esempi di app decenti basate su RN:

  • App di Facebook, ovviamente
  • Applicazioni mobili di Airbnb (ibrido iOS e Android)
  • App mobile Walmart (poiché aveva un numero di visualizzazioni Web incorporate con la loro implementazione inferiore al previsto)

Puoi guardare l'intero elenco di prodotti basati su RN sul loro sito Web ufficiale e ancora una volta RN vince il concorso framework React Native vs Xamarin qui.

Per amore della prospettiva.

Secondo Flurry stats, "il consumatore statunitense oggi spende in media 2 ore e 38 minuti al giorno su smartphone e tablet. L'80% di quel tempo (2 ore e 7 minuti) viene speso all'interno di app". Il tuo prodotto deve in qualche modo adattarsi a quelle 2 ore al giorno. Tutti i punti considerati, il framework React Native RoR sarebbe una soluzione pratica per un piccolo progetto a breve termine; le recensioni dimostrano che è veloce, furioso e nuovo, o quando vuoi "testare il concetto". Tuttavia, a lungo termine, o quando si pianifica un'innovazione tecnica per dare il via al lancio, non si può fare affidamento su un'opzione già pronta. Hai bisogno che sia costruito da zero, hai bisogno che sia personalizzato, quindi hai bisogno che sia lo sviluppo di applicazioni native.

Scritto da Artem Chervichnik e Elina Bessarabova .