Qual è la struttura dell’applicazione Facebook iOS e Android?

Nel mondo dello sviluppo di app mobili, siamo sempre alla ricerca di cicli di sviluppo più brevi, tempi più rapidi per la distribuzione e migliori prestazioni delle app. Con due sistemi operativi che dominano il panorama, le aziende che creano app mobili si trovano spesso di fronte a un compromesso: app che forniscono una migliore esperienza utente, o app che sono più veloci da sviluppare ed eseguite su più piattaforme e dispositivi?

Al crocevia tra l'esperienza dell'utente e la facilità di sviluppo c'è l'app mobile ibrida: un'app costruita con la tecnologia che molti sviluppatori già conoscono (come JavaScript, o HTML5 e CSS) che è avvolta in un contenitore che le permette di essere eseguita in modo nativo su un dispositivo.

I framework delle app ibride hanno fatto molta strada per colmare il divario tra le prestazioni di un'app nativa e la facilità di sviluppo di una web app. All'avanguardia di questa tecnologia è il framework di progettazione dell'interfaccia utente (UI) React Native di Facebook. Ecco uno sguardo a come questa impressionante libreria JavaScript sta alzando la posta in gioco per le app mobili ibride.1. Ha coperto iOS e Android.

Inizialmente, Facebook ha sviluppato React Native solo per supportare iOS. Tuttavia, con il suo recente supporto del sistema operativo Android, la libreria può ora rendere le UI mobili per entrambe le piattaforme. Facebook ha usato React Native per costruire la propria app Ads Manager, creando sia una versione iOS che una versione Android. Entrambe le versioni sono state costruite dallo stesso team di sviluppatori.

Facebook ha anche reso React Native open-source, con l'idea che la compatibilità con altre piattaforme come Windows o tvOS potrebbe essere lavorata dalla comunità di sviluppo, quindi rimanete sintonizzati.

2. I componenti riutilizzabili permettono alle app ibride di renderizzare nativamente.

Sono finiti i componenti WebView di altre app mobili ibride. Questo è possibile perché i blocchi di costruzione di React Native sono "componenti nativi" riutilizzabili che compilano direttamente in nativo. I componenti che useresti in iOS o Android hanno delle controparti proprio in React, quindi avrai un look and feel coerente.

Questa struttura basata sui componenti ti permette anche di costruire app con un approccio allo sviluppo più agile e in stile web rispetto ai tipici framework ibridi, ma senza alcun web. L'app avrà la velocità, l'aspetto e la funzionalità di un'applicazione mobile nativa.

3. Applicare componenti React Native UI al codice di un'app esistente, senza alcuna riscrittura.

Questo è un enorme vantaggio per le aziende che vogliono aumentare un'app esistente ma non vogliono revisionarla. Incorporare componenti React Native nel codice della tua app. Oppure, se la vostra app ibrida esistente è stata costruita con Cordova e Ionic, riutilizzate facilmente il codice basato su Cordova con un plugin.

4. È uno dei migliori framework JavaScript mobile tra gli sviluppatori e in crescita.

Se conoscete JavaScript, React Native è un'acquisizione rapida, permettendo essenzialmente a qualsiasi sviluppatore web front-end di essere uno sviluppatore mobile sul posto. Non c'è bisogno di imparare Swift per iOS o Java per Android - basta conoscere JavaScript, alcuni elementi UI nativi, le API della piattaforma e qualsiasi altro design pattern specifico della piattaforma e si è pronti a partire. Sono inclusi nella libreria di React Native anche lo stile Flexbox CSS, lo stile in linea, il debugging e il supporto alla distribuzione su App Store o Google Play.

React è ancora nuovo, ma sta maturando rapidamente e Facebook ha dichiarato di voler continuare a investire nella sua crescita.

5. React Native è tutto sulla UI.

React Native è focalizzato esclusivamente sulla costruzione di una UI mobile. Rispetto ai framework JavaScript come AngularJS o MeteorJS, React Native è focalizzato sulla UI, rendendolo più simile a una libreria JavaScript che a un framework. L'UI risultante è altamente reattiva e sembra fluida grazie alle interazioni JavaScript asincrone con l'ambiente nativo. Questo significa che l'app avrà tempi di caricamento più rapidi di una tipica app ibrida, e una sensazione più fluida.

6. Lo sviluppo di app native è molto più efficiente.

Come lo sviluppo di app native è di solito associato a inefficienza, meno produttività degli sviluppatori e tempi più lenti di distribuzione, React Native è tutto per portare la velocità e l'agilità dello sviluppo di app web nello spazio ibrido - con risultati nativi.

Sotto il cofano di React Native è la famosa libreria ReactJS UI di Facebook per applicazioni web. React Native porta tutte le migliori prestazioni di ReactJS, l'astrazione DOM e i metodi di programmazione semplificati allo sviluppo mobile ibrido.

7. Offre compatibilità con i plugin di terze parti, meno utilizzo di memoria e un'esperienza più fluida.

I plugin di terze parti significano che non dovrete fare affidamento su una WebView per certe funzioni. Per esempio, se state aggiungendo la funzionalità di Google Maps alla vostra app, React Native vi permette di collegare il plugin con un modulo nativo, in modo da poter collegare la mappa con le funzioni del dispositivo come lo zoom, la rotazione e la bussola, utilizzando meno memoria e caricando più velocemente. Se la vostra app supporta i vecchi sistemi operativi (e i vecchi dispositivi), questo può aiutarvi a mantenere l'app senza problemi.