Sviluppo APP Multipiattaforma

Vantaggi dello sviluppo Cross-Platform per la realizzazione di applicazioni mobile

In un periodo in cui i dispositivi mobile sono sempre più diffusi ed utilizzati, la richiesta di sviluppo app mobile è inevitabilmente esplosa. Questo porta spesso i programmatori alla ricerca di mezzi che aiutino il loro lavoro rendendolo, perché no, anche più veloce, così da far fronte ad un sempre crescente numero di richieste.

APP MOBILE E SISTEMI OPERATIVI: APPLE, GOOGLE E MICROSOFT

In un mercato dominato da 3 giganti della tecnologia mobile, quali Apple, Google e Microsoft, è sempre più marcata la necessità di disporre di un software che permetta di centralizzare tutte le funzionalità di un app che si vogliano scrivere, così da evitare di dover scrivere la stessa funzione tre volte, una per ogni piattaforma sulla quale si intende sviluppare.

Perchè un’app nativa è sconsigliabile se destinata a più sistemi operativi

Immaginiamo un app molto semplice, ideata e sviluppata appositamente per registrarsi e inviare foto scattate col proprio smartphone. Immaginiamo anche che sia stato richiesto lo sviluppo per Windows Phone, iOS e Android. Se si dovesse sviluppare un app nativa per ogni sistema operativo, ciò equivarrebbe a dover creare un’applicazione per ogni piattaforma utilizzando il rispettivo linguaggio di programmazione nativo. Ovviamente, questo richiederebbe due controindicazioni fondamentali: aumento dei tempi di sviluppo e, conseguentemente, aumento dei costi per il cliente.
Tutto ciò senza contare che si andrebbe a scrivere un codice che in tutti e 3 i casi dovrebbe fare, per un buon 90%, la stessa identica cosa su tutte le piattaforme. Una strategia che, francamente, trovo assurda.

Sviluppo app multipiattaforma

Lo sviluppo multipiattaforma delle app mobile, o cross-platform per dirla all’inglese, consiste proprio in questo: centralizzare tutte quelle funzioni e funzionalità che rimangono invariate da piattaforma a piattaforma.
Semplificando: scrivere un unico codice per tutte e 3 le piattaforme.
Ovviamente bisogna prestare MOLTA (il maiuscolo non è casuale..) attenzione alla scelta del software di sviluppo che si vuole utilizzare. Va utilizzata una piattaforma che permetta contestualmente di centralizzare le parti di codice dell’app necessarie ma anche che dia la possibilità di poter specializzare tutte quelle funzioni che vogliamo per un sistema operativo mobile e non per un altro.

Xamarin Studio per lo sviluppo multipiattaforma delle app mobile

Uno dei software più affermati sul mercato (e a mio parere uno dei migliori), è il conosciuto e recente acquisto della Microsoft, Xamarin Studio.
Questo software offre la possibilità di sviluppare le applicazioni in multipiattaforma, utilizzando come linguaggio il C# (molto standard a differenza del nativo Objective-C di iOS e, se vogliamo, anche più vicino al Java di Android). Inoltre, Xamarin Studio offre un ottimo sistema per integrare tutte quelle funzioni che non vogliamo centralizzare ma lasciare specializzate per un determinato sistema operativo, grazie all’aiuto di quelli che dal software vengono definiti Custom Renderer o anche da Packages di controlli che vengono creati e messi a disposizione anche da amatori del cross-platform e dello Xamarin.

I VANTAGGI DELLO SVILUPPO MULTIPIATTAFORMA PER APP MOBILE

Ma quali sono effettivamente i vantaggi dello sviluppo multipiattaforma?
In realtà li abbiamo praticamente già citati. Il vantaggio maggiore sta nel risparmio di tempo, perché un cliente che chiederà un applicazione che deve essere presente su tre piattaforme, la vedrà sviluppata e pronta in un terzo del tempo rispetto a chi tale applicazione volesse svilupparla nativamente.
Di conseguenza, un ulteriore vantaggio è il minor costo, come è ovvio: meno tempo impiega un programmatore a sviluppare qualcosa più questo si traduce in un minor costo per chi commissiona il lavoro.

GLI SVANTAGGI DEL CROSS-PLATFORM DEVELOPMENT

Tuttavia non sarebbe corretto dire che non ci sono svantaggi nella programmazione multipiattaforma. Uno di questi è senza dubbio la cura da prestare alla scelta del software da utilizzare (se non si vuole passare per Xamarin), poiché alcuni software per lo sviluppo cross-platform potrebbero limitare alcune funzionalità integrabili sull’app. Un esempio pratico è il sistema di funzionamento in background: molte app multipiattaforma, in passato sviluppate tramite software non eccellenti, perdevano la capacità di poter funzionare offline e, dopo 20 minuti, venivano chiuse forzatamente dal sistema operativo o si chiudevano loro stesse.
Un altro svantaggio è che il software di sviluppo scelto, qualsiasi sia il linguaggio di programmazione da noi utilizzato, dovrà necessariamente ricompilare il codice scritto per il multipiattaforma nel codice sorgente nativo per permetterci di pubblicare l’app sullo store dei vari dispositivi. Ciò comporta spesso che l’applicazione risulti un po’ più pesante di quanto non sarebbe se sviluppata nativamente.

CONCLUSIONI

Insomma, bisogna prestare molta attenzione, se si intende affidarsi a qualcuno che intenda utilizzare lo sviluppo multipiattaforma per un app mobile. Allo stesso tempo, chi vuole approcciarsi a questo tipo di programmazione, dovrebbe prima studiare seriamente tutte le possibili alternative che offre questo settore, scegliendo i software e i linguaggi migliori.
Se ci saprete fare, amerete questa tipologia di sviluppo ed i suoi risultati.

Alessandro Severa

Alessandro Severa

Web e Mobile Developer

Inizia a programmare prima della maggiore età, ora sviluppa progetti in 6+ linguaggi differenti. Ama gli street food, i Marvel e The Walking Dead. Ma non chiedetegli di parlare con i clienti.

Pin It on Pinterest

Share This