Cross-platform vs. native mobile apps (Italiano)

(Jacob Muchow ) (15 ottobre 2020)

Design di

Introduzione

Le app multipiattaforma sono diventate una soluzione per il mercato per molte startup del settore tecnologico. Promettono di essere in grado di scrivere facilmente una base di codice da distribuire su dispositivi iOS e Android. Tuttavia, molte aziende scelgono ancora di seguire la strada tradizionale e di svilupparsi in modo nativo nonostante i potenziali vantaggi.

Entrambe le soluzioni sono valide – non esiste un unico modo “giusto” di fare le cose (almeno non ancora! ). La scelta della giusta strada da seguire per il tuo team dipende dai tuoi obiettivi e vincoli, e la tua scelta nella tecnologia dovrebbe venire da questo più che da una convinzione personale. Questo post trarrà un confronto tra le due opzioni per aiutarti a prendere la decisione migliore per la tua azienda.

Cross-Platform

Attualmente, ci sono diverse opzioni concorrenti per lo sviluppo multipiattaforma : React Native, Flutter, Xamarin, Ionic per citare quelli mainstream. In questo post, eviteremo di spiegare ciascuno di essi e discuteremo i pro / contro dello sviluppo multipiattaforma nel suo insieme.

Ciascuna di queste piattaforme consente al tuo team di scrivere il codice per unapp, che può essere distribuito, sia su Google Play Store che su App Store. Il potenziale di risparmio sui costi di questo è ovviamente enorme se fatto in modo efficace.

Vantaggi per multipiattaforma

  • È possibile fornire a entrambi i mercati mobili con un budget molto inferiore di quanto ne servirebbero due per sviluppare due app native separate. Circa il 60-70\% del codice può essere condiviso e il resto può essere personalizzato per entrambe le piattaforme.
  • Puoi avere un unico team di sviluppo mobile, semplificando la tua organizzazione. Questo può anche trarre vantaggio dal portare un po di coesione alle tue app Android e iOS che è difficile da ottenere altrimenti.
  • A seconda della tecnologia scelta, potresti avere sviluppatori interni che hanno già familiarità con i linguaggi e gli stili di sviluppo (JavaScript, C # /. NET, Dart). Potresti essere in grado di creare un team senza dover iniziare ad assumere da zero.
  • Le nuove funzionalità vengono distribuite ai tuoi utenti iOS e Android contemporaneamente, anziché avere un “leader di funzionalità”.

Svantaggi della multipiattaforma

  • È molto più difficile assumere sviluppatori esperti in questa tecnologia rispetto a quelli nativi.
  • Quando lo fai incontra un blocco stradale, spesso ci vuole un ingegnere veramente altamente qualificato per risolvere il problema.
  • Funzionalità specifiche di iOS o Android (es. Health Kit / Apple Watch) sono estremamente difficili o impossibili da utilizzare.
  • Lo sviluppo di uninterfaccia utente / UX complessa richiede molto più tempo rispetto a Native. Se non è presente un componente predefinito, è necessario crearne uno personalizzato per entrambe le piattaforme, il che richiede tempo.
  • La multipiattaforma spesso non è efficiente come Native, a volte causando qualche jank che non può davvero essere risolto. Questo ha un impatto maggiore quanto più complessa è la tua applicazione.
  • Le tecnologie hanno ecosistemi meno maturi di quelli nativi. Ciò significa meno strumenti da utilizzare per il tuo team e meno aiuto disponibile in caso di problemi.
  • Le app non “si sentono” come app iOS o Android. Creano esperienze insolite per lutente, il che può rendere lapp poco attraente.
  • Cè il rischio che la tecnologia scelta si spenga e perda il supporto della comunità, del creatore o dellazienda.

Quando ha senso utilizzare multipiattaforma

  • Desideri scegliere come target entrambi i mercati Android e iOS per il tuo MVP.
  • Il budget limitato per i dispositivi mobili è uno dei tuoi principali vincoli.
  • La tua app per dispositivi mobili non è una parte fondamentale della tua attività.
  • Lesperienza utente dovrebbe essere standard tra le tue app e non stai cercando di “sentirti” come un iOS o Android app.
  • La tua applicazione è semplice in termini di esperienza utente e funzionalità.
  • I tuoi progetti sono quasi identici su entrambe le piattaforme.

I nostri pensieri

Le tecnologie multipiattaforma sono un ottimo modo per arrivare rapidamente sul mercato al più vasto pubblico possibile e convalidare la tua idea. Se la tua app non richiederà tecnologie specifiche della piattaforma, interfaccia utente / UX complessa o logica di business complessa, dovresti prendere in seria considerazione lidea di utilizzare una soluzione multipiattaforma. Dopo lMVP, questo può consentirti di concentrarti completamente sulliterazione del prodotto, mentre diventare nativo potrebbe significare che devi considerare la creazione di un team / app completamente nuovo per iOS o Android. Il nativo può sempre arrivare in un secondo momento, se necessario.

Sviluppo nativo

Lo sviluppo “nativo” si riferisce allo stile tradizionale di sviluppo di unintera applicazione utilizzando gli strumenti di prima parte forniti da Apple e Google per iOS e Android.Gli ecosistemi si sono evoluti, ma oggi lo standard del settore prevede lutilizzo di Android Studio & il linguaggio di programmazione Kotlin per Android e Xcode & il Linguaggio di programmazione Swift per iOS.

Questo approccio richiede due basi di codice separate per ciascuna app. I team di solito hanno ingegneri che si concentrano su una piattaforma o sullaltra, o talvolta hanno due team di sviluppo completamente separati per ciascuna piattaforma.

Molte volte, le aziende rilasceranno la loro app prima su App Store o Google Play e concentrarsi sulliterazione del prodotto. Se distribuire lapp sullaltra piattaforma fa parte della loro strategia, una volta che avranno successo o successo e fondi sufficienti, investiranno nella creazione di un team per gestire laltra piattaforma.

Pro per lo sviluppo nativo

  • Le app possono sfruttare tutte le funzionalità specifiche di iOS o Android.
  • Lesperienza utente può essere adattata in misura maggiore o minore a ciò che un utente iOS o Android si aspetta.
  • Linterfaccia utente complessa e personalizzata è molto più facile da sviluppare in generale.
  • Se è presente unelaborazione in background complessa, verrà eseguita in modo più fluido rispetto alla multipiattaforma a causa di limitazioni tecniche.
  • Le app native fatte bene “si sentono meglio” in un modo che le app multipiattaforma non sono in grado di fare in questo momento.
  • Il tuo team successivo dovrebbe essere in grado di raggiungere il tuo primo team abbastanza rapidamente. Non dovranno passare attraverso gli stessi errori e insegnamenti del primo team.
  • In termini di mercato del lavoro, ci sono molti più sviluppatori esperti nello sviluppo nativo di iOS o Android. Le tue assunzioni saranno molto più semplici.
  • Gli strumenti e il supporto della community sono stati sviluppati sin dalla nascita delle app mobili e sono molto più solidi e maturi.
  • Se puoi immaginarlo, spesso può essere eseguito il 99\% delle volte.

Svantaggi dello sviluppo nativo

  • Può essere molto costoso finanziare app native sia per iOS che per Android .
  • Sono essenzialmente necessari due team di sviluppatori per fornire a entrambi.
  • La seguente piattaforma è spesso in ritardo in termini di funzionalità e può essere difficile raggiungere la parità.
  • È difficile raggiungere la coesione tra le app e i team iOS e Android.

Quando ha senso diventare nativi

  • Ci tieni approfonditamente su unesperienza utente ottimizzata, di alta qualità o impressionante.
  • Desideri sfruttare le funzionalità della piattaforma (ad es. integrazione Health Kit / Apple Watch).
  • Hai caratteristiche computazionalmente intense in mente come video o live streaming.
  • Non è ciao È estremamente importante che allinizio si rivolga al pubblico più ampio possibile.
  • Ti stai rivolgendo a una fascia demografica specifica che tende a utilizzare una piattaforma o laltra.
  • Quando i tuoi progetti sfruttano fortemente i componenti nativi e stili.

I nostri pensieri

Se desideri fornire unapp di altissima qualità che risulti la più naturale o soddisfacente per lutente, oppure devi integrare strettamente con le API native e le funzionalità per entrambe le piattaforme, quindi native è la strada da percorrere. Anche se lo prevedi in futuro, dovresti considerare di fare il nativo. Quando tutto procede senza intoppi, lo sviluppo di due app native è molto più costoso. Se ti imbatti in un ostacolo in termini di funzionalità che puoi creare, spesso queste sono risolvibili in nativo, mentre la multipiattaforma potrebbe lasciarti a pezzi.

Conclusione

A QuarkWorks, abbiamo esperienza nello sviluppo di una varietà di tecnologie multipiattaforma, nonché il nostro vasto background nello sviluppo nativo sin dallinizio dellApp Store.

Non esiste un “unico vero modo” quando si tratta di sviluppo di app mobili. Per lo sviluppo di prototipi leggeri e MVP, ci piace il concetto di utilizzare multipiattaforma quando possibile per mettere rapidamente le nostre idee nelle mani del pubblico più vasto. Tuttavia, quando vogliamo creare qualcosa alla perfezione e offrire davvero unesperienza utente di altissima qualità, preferiamo comunque andare con lo sviluppo nativo.

Apprezziamo le app che semplicemente “si sentono” bene e non cè modo per ricreare quella sensazione più o meno la stessa con la tecnologia multipiattaforma attualmente. Siamo entusiasti di alcune delle nuove soluzioni come Flutter, che mirano a fornire non solo ununica base di codice per dispositivi mobili, ma anche la possibilità di condividere codice tra dispositivi mobili e Web. Fa tutto questo pur essendo efficiente quanto le app native. Sebbene non sia perfetto, lo vediamo come il metaforico Sacro Graal che lindustria potrebbe un giorno raggiungere.

In questo momento, molte di queste tecnologie lo promettono, ma falliscono in modi che possono diventare davvero frustranti per lavorare.

Come sempre, QuarkWorks è disponibile per aiutare con qualsiasi progetto di applicazione software – web, mobile e altro ancora! Se sei interessato ai nostri servizi, puoi visitare il nostro sito web .Ci piacerebbe rispondere a qualsiasi domanda tu abbia! Basta contattarci sul nostro Twitter , Facebook , LinkedIn o Instagram .

QuarkWorks – Home

Un codice pulito, ben documentato e testato è il fondamento di ogni progetto di successo. Lavoriamo a stretto contatto con il tuo …

quarkworks.co