Sviluppo di app mobili multipiattaforma
Realizziamo app iOS e Android da un’unica base di codice React Native: un solo team, un solo backend, rilasci su entrambi gli store nello stesso momento. Se per il vostro prodotto è meglio il nativo, ve lo diciamo prima del preventivo.
Quando un'unica base di codice è la scelta giusta
Lo sviluppo multipiattaforma funziona quando l’app ruota attorno a contenuti e richieste a un server. Funziona male quando il prodotto vive di grafica complessa, elaborazioni continue in background o funzionalità della piattaforma appena uscite.
- Vi serve un MVP sia su iOS sia su Android e volete testare il mercato prima di pagare due app native
- L'app si basa su feed, cataloghi, moduli, prenotazioni, profili e messaggi
- Le nuove funzionalità devono arrivare agli utenti iPhone e Android lo stesso giorno
- Il budget copre un solo team di sviluppo, non due
- La vostra piattaforma web ha bisogno di un'app che condivida account e dati
- Avete un'app React Native di un altro team da completare o aggiornare
Cosa comprende
Valutazione della piattaforma
Prima del preventivo esaminiamo le funzionalità e vi diciamo se React Native è adatto. Se una parte critica richiede codice nativo, vi indichiamo dove si trova e quanta parte dell’app riguarda.
Design per entrambe le piattaforme
Un unico design adattato alle convenzioni di iOS e Android: navigazione, gesti, finestre di sistema, comportamento del tasto indietro. Non un design per iPhone stirato su Android.
Sviluppo React Native
Codice condiviso per schermate, logica di business e richieste al server. Si lavora a sprint, e ognuno si chiude con una build per entrambe le piattaforme da installare e provare.
Moduli nativi
Dove il codice condiviso non arriva, ad esempio con l’SDK di un fornitore, una funzione hardware o attività in background, scriviamo moduli nativi in Swift e Kotlin e li colleghiamo all’app.
Un solo backend per entrambe le app
API, database, pannello di amministrazione e notifiche push realizzati una volta e usati da entrambe le app, e da una versione web se vi serve. Python o PHP (Laravel), in base al compito.
QA, pubblicazione e aggiornamenti
Test su iPhone e telefoni Android reali, pubblicazione su App Store e Google Play e aggiornamenti dopo il lancio, compresi gli upgrade di React Native e delle sue librerie.
Dove il multipiattaforma funziona e dove no
Un’unica base di codice per iOS e Android di solito costa sensibilmente meno di due app native e richiede meno tempo, perché gran parte del codice, del design e dei test è condivisa. Il compromesso funziona quando l’app mostra contenuti, elenchi e moduli e dialoga con un server. Funziona male quando il prodotto dipende da interfacce ricche di animazioni, funzioni basate sulla fotocamera, lunghe elaborazioni in background o API di piattaforma che arrivano prima negli SDK nativi. Vi diciamo in quale dei due casi rientra il vostro prodotto prima del preventivo, non dopo il primo rilascio.
- Adatto: app di contenuti, cataloghi, marketplace, app di prenotazione e di servizi
- Adatto: MVP che devono essere su entrambi gli store fin dal primo giorno
- Meglio il nativo: grafica e animazioni complesse, funzioni basate sulla fotocamera
- Meglio il nativo: attività continue in background e le API di piattaforma più recenti
Un team, un backend, un calendario di rilasci
Con due app native gestite due basi di codice, due serie di bug e spesso due date di rilascio. Con React Native una funzionalità si scrive una volta e arriva su entrambi gli store insieme, e le stesse persone rispondono per entrambe le piattaforme. Anche la parte server è condivisa: un’unica API e un unico pannello di amministrazione servono entrambe le app e, se serve, un client web. Metacognit.me, un’app per la correzione metacognitiva e la diagnostica dei psicotipi, è costruita proprio così: un client React Native per iOS e Android e un backend in Python.
- Un solo repository e un solo insieme di funzionalità per iOS e Android
- Rilasci su entrambi gli store nello stesso momento
- Un'unica API e un unico pannello di amministrazione per entrambe le app e il web
- Meno persone da coordinare e meno passaggi di consegne
Pronti per il passaggio al nativo, se mai servirà
Partire con il multipiattaforma non vi vincola. Il backend e l’API sopravvivono al passaggio al nativo, il codice client no. Per questo progettiamo l’API in modo che un futuro client nativo o web possa usarla senza modifiche, e isoliamo le parti specifiche di ciascuna piattaforma in moduli nativi. Abbiamo eseguito migrazioni in entrambe le direzioni. Per Quaker, un’app di cucina per un’azienda di food delivery di Dubai, abbiamo sostituito un’app ibrida basata su una tecnologia superata con due client nativi, quando le differenze tra piattaforme hanno cominciato a pesare sul prodotto.
- Un'API progettata per servire qualsiasi client futuro, nativo o web
- Codice specifico per piattaforma isolato in moduli nativi
- Un segnale onesto quando l'app supera i limiti della base di codice condivisa
- Account e dati che seguono il prodotto, in qualunque linguaggio sia scritto il client
Come si svolge un progetto multipiattaforma
Valutazione e preventivo
Esaminiamo funzionalità e integrazioni e verifichiamo cosa richiede codice nativo. Ricevete un perimetro scritto, una raccomandazione tra React Native e nativo e un preventivo.
Design
Prototipo e interfaccia definitiva adattati a entrambe le piattaforme. Approvate le schermate per iOS e Android prima dello sviluppo.
Sviluppo
Prima il codice condiviso, poi i moduli nativi dove servono, con il backend in parallelo. Dopo ogni sprint installate le nuove build su entrambe le piattaforme.
Test sui dispositivi
QA su iPhone e telefoni Android reali con schermi e versioni del sistema operativo diversi. Ricevete un’unica versione testata per entrambi gli store.
Pubblicazione e assistenza
Pubblicazione su App Store e Google Play con i vostri account, poi aggiornamenti, correzioni e upgrade del framework per tutto il tempo che vi serve.
Tecnologie
Multipiattaforma
- React Native
- JavaScript
Moduli nativi
- Swift (iOS)
- Kotlin (Android)
Backend e API
- Python
- PHP (Laravel)
- MySQL
Come possiamo collaborare
Perimetro definito
Un elenco di funzionalità, un preventivo e una tempistica concordati per entrambe le piattaforme. Una scelta frequente per un MVP che deve uscire su entrambi gli store.
Team dedicato
Un team multipiattaforma che lavora sulla vostra app in modo continuativo. Adatto a prodotti che rilasciano spesso e pianificano la roadmap sprint dopo sprint.
A ore
Pagate le ore effettivamente lavorate. Adatto ad audit di un’app React Native esistente, upgrade del framework e funzionalità più piccole.
Progetti correlati
Vedi anche: Sviluppo di app mobili · Sviluppo web · QA e test · Manutenzione di app mobili
Recensioni
Il team di Revol continua a potenziare le capacità di sviluppo del cliente con un lavoro di alta qualità e un supporto affidabile. Comunica in modo efficace e dimostra una solida comprensione delle esigenze e del business del cliente.
Tomas
Il lavoro di Revol ha pienamente soddisfatto le aspettative del cliente. Il loro approccio fresco e la costante disponibilità al supporto si sono rivelati preziosi. Chi cerca un team comunicativo e orientato al cliente per raggiungere i propri obiettivi può affidarsi a loro.
Andrey
Domande frequenti
Gli utenti si accorgeranno che l'app non è nativa?
Negli scenari adatti al multipiattaforma, no. Dove se ne accorgerebbero, come con interfacce ricche di animazioni, funzioni basate sulla fotocamera o lunghe attività in background, consigliamo lo sviluppo nativo invece di promettere che il codice condiviso reggerà.
Quanto costa meno il multipiattaforma rispetto a due app native?
Di solito sensibilmente meno, e richiede meno tempo, perché gran parte del codice, del design e dei test è condivisa. La differenza esatta dipende da quante funzionalità specifiche della piattaforma servono all'app. Nel preventivo vi diamo cifre concrete per la vostra app invece di una percentuale generica.
Possiamo partire con il multipiattaforma e passare al nativo in seguito?
Sì, e abbiamo eseguito la migrazione in entrambe le direzioni. Conviene pianificarla presto, perché il backend e l'API sopravvivono al passaggio mentre il codice client no.
Pubblicate voi le app negli store?
Sì. Prepariamo le build, le schede e i metadati per gli store, seguiamo la revisione di App Store e Google Play e apportiamo le correzioni richieste. Le app vengono pubblicate con i vostri account sviluppatore.
Come si calcola il prezzo?
Scomponiamo l'app in funzionalità, stimiamo ciascuna in ore e aggiungiamo design, backend, QA e pubblicazione. Potete poi scegliere un perimetro definito, un team dedicato o il lavoro a ore. Non pubblichiamo prezzi perché l'impegno varia troppo da un'app all'altra.
Potete prendere in carico un'app React Native esistente?
Di solito sì. Partiamo da una revisione del codice: versioni di React Native e delle librerie, moduli nativi, processo di build. Ricevete un quadro chiaro dello stato dell'app e di cosa comporteranno i primi mesi, anche se serve un upgrade o una riscrittura parziale.
Raccontateci il vostro progetto
Descrivete l'attività in poche righe. Entro un giorno lavorativo vi risponderemo con alcune domande o con una prima valutazione di perimetro e costi.
Preferite l'email o una telefonata?
welcome@revolsource.com
+38 097 662 23 20
Revol Software OÜ, Tallinn, Estonia. Il nostro team è distribuito in tutto il mondo.
Unisciti al nostro team
Invia il tuo CV a career@revolsource.com