[In questa lezione
parleremo della sincronizzazione dei dispositivi
mobili e di come è possibile
sincronizzare i dati delle varie applicazioni tra i
dispositivi o nel cloud.
Ma prima di questo, parliamo
dei due principali sistemi operativi in circolazione per i dispositivi
mobili.
Si tratta di Android e iOS.
Quando si tratta di sistemi operativi
mobili, tablet e smartphone, oggi
ci sono solo due attori dominanti in questo mercato.
Il primo è il sistema operativo Android.
Android ha conquistato molte quote di mercato
perché offre una base di codice open-source
invece di una base di codice proprietaria o chiusa.
Android è stato sponsorizzato e sviluppato da Google.
Ha una distribuzione molto ampia del
codice del sistema operativo ed
è ampiamente disponibile su smartphone e tablet, oltre che su
altri dispositivi intelligenti
come i set top box per lo streaming televisivo e una miriade
di altri dispositivi dell'Internet delle cose.
Grazie alla natura open-source
della base di codice Android
che compone questo sistema operativo,
ogni produttore di tablet o smartphone può modificare
l'aspetto e le sensazioni
del sistema operativo prima di implementarlo
sui propri dispositivi.
Ad esempio, se si guarda un tablet Amazon Kindle Fire, non assomiglia
affatto a un normale
tablet Android, ma sotto di esso
gira effettivamente il sistema
operativo Android, ma con
un'interfaccia personalizzata.
Poiché questo sistema operativo è open-source,
i produttori possono risparmiare tempo e denaro non
dovendo reinventare il proprio sistema operativo
per i loro dispositivi tablet o smartphone,
e possono invece utilizzare Android come base.
Ora, l'altro sistema operativo mobile dominante è iOS.
iOS è stato sviluppato da Apple
per essere utilizzato sugli iPhone e sugli
iPad, ma attualmente iOS viene utilizzato solo per gli iPhone,
mentre iPadOS, che è una variante di questo, viene
utilizzato per gli iPad.
Questo sistema operativo,
che chiameremo collettivamente iOS,
si basa su un codice chiuso sviluppato
e sponsorizzato da Apple.
A causa della natura proprietaria
e chiusa di questo sistema operativo, le uniche
persone che possono utilizzarlo sono Apple, perché
ne detiene la proprietà intellettuale e, a questo
punto, lo ha concesso in licenza solo per
l'uso su hardware Apple.
Quando parlo di open e closed-source, questa è una distinzione
importante quando parliamo
di software.
Quando si parla di un sistema indicato come open-source, significa
che il software e il suo codice sorgente originale
sono liberamente disponibili
per qualsiasi sviluppatore che voglia scaricarlo,
modificarlo e ridistribuirlo.
Ciò consente ai produttori di utilizzare il codice
senza dover pagare un'ingente tassa di licenza
al produttore del software originale.
Inoltre, possono modificare il sistema operativo o il codice per
farne ciò che desiderano, sia che si tratti
di metterlo su uno smartphone, un tablet o un altro
dispositivo intelligente.
Il software open-source permette loro di avere molta creatività nella
produzione dei loro dispositivi, oltre alla
possibilità di avere altre persone che lavorano
per creare altre applicazioni per il sistema
operativo che stanno utilizzando.
Questo è uno dei motivi per
cui il sistema operativo Android
è cresciuto così rapidamente in popolarità tra i produttori, in quanto
l'utilizzo di questa piattaforma open-source come
codice base per il proprio sistema operativo
consente di ridurre i costi dei servizi.
Al contrario, iOS di Apple rientra nella categoria
delle risorse chiuse.
Quando si utilizza un software closed-source,
di solito lo si fa con un software proprietario e questo software
per computer è concesso in licenza sotto
il diritto legale esclusivo del titolare del copyright, in questo
caso Apple, che può concederlo
in licenza ad altre persone perché lo utilizzino
secondo i loro termini e condizioni.
Ora, il licenziatario che concederà in licenza il suo software
sarà limitato da altri usi, quindi non
potrà modificarlo, condividerlo, studiarlo,
ridistribuirlo o fare il reverse-engineering del codice.
Quando si ha a che fare con un software closed-source,
tutto ciò che si ottiene è il prodotto, non si
ha la possibilità di vedere come è stato effettivamente
creato o il vero codice software alla base.
Mi piace pensare al software aperto rispetto a quello chiuso in questo modo:
diciamo che stasera volete mangiare una torta per dessert, ma se andate
a comprarla nella vostra pasticceria locale
non vi daranno la ricetta, questo è
come un software a sorgente chiusa.
Pagherete una torta,
potrete mangiarla, godervi la torta,
ma non saprete come l'hanno fatta.
D'altra parte, facciamo
finta che siate andati al supermercato e
che avessero solo torte di mele,
ma voi volevate una torta di mirtilli.
Peccato che quel negozio venda solo torte di mele, quindi stasera dovrete
mangiare quella torta di mele come dessert
invece di quella di mirtilli.
Questo perché non avete alcun metodo
per cambiare la ricetta della torta,
perché non sapete come è stata fatta.
Ora facciamo un paragone con l'andare
a casa di un amico e ricevere una torta da lui.
Questa potrebbe essere una soluzione open-source: il
vostro amico, invece di darvi la torta di mele,
potrebbe darvi la ricetta per prepararla da soli.
Questo è ciò che accade
nella comunità del software open-source.
Si può avere il prodotto finale
semplicemente scaricando il sistema operativo
Android e usarlo così com'è, oppure,
in questo caso, si può andare a casa di un amico e
prendere una torta di mele che hanno fatto per voi,
o ancora si può scaricare il codice sorgente e rimodificarlo
per il proprio uso.
Nell'esempio della torta di
mele, avete ricevuto la ricetta da un amico
e avete sostituito le mele con i mirtilli, in
modo da realizzare la torta che volete mangiare.
Questo è il bello dell'open-source: la
creatività e il cambiamento possono essere inclusi,
mentre con il software chiuso o proprietario
non è possibile.
Abbiamo appena terminato la discussione
su open-source e closed-source e, sebbene
tutto ciò sia valido, l'utente finale
raramente sarà coinvolto nello sviluppo del sistema
operativo o del codice stesso; al contrario, l'utente finale vuole
semplicemente essere in grado di acquistare, scaricare e utilizzare
le applicazioni sul proprio dispositivo.
Per ottenere le applicazioni se si utilizza un dispositivo Android,
è possibile ottenerle da un paio di posti diversi.
Al primo posto c'è il marketplace ufficiale,
noto come Google Play Store.
È di gran lunga il luogo più utilizzato
e più facile per ottenere nuove applicazioni.
Ma con Android, trattandosi
di un sistema operativo open-source, non si
è limitati al solo negozio
ufficiale Google Play, ma si possono
ottenere software o applicazioni da
una serie di fonti diverse.
Ad esempio, potete andare su Amazon Appstore, GetJar,
SlideME o numerosi altri
negozi di applicazioni di terze parti per scaricare
software sul vostro smartphone o tablet, se utilizzate
il sistema operativo Android.
Apple, invece, preferisce
utilizzare un approccio "walled garden", il che significa
che è possibile ottenere le applicazioni solo direttamente da Apple.
Questo non significa che Apple sia l'unico sviluppatore,
ma che è possibile ottenere le applicazioni solo dal suo negozio di applicazioni,
chiamato App Store.
Ora, l'App Store è un'applicazione sul dispositivo iOS che
consente di accedere a un negozio,
acquistare e scaricare applicazioni.
Secondo i termini di servizio
di Apple, non è possibile scaricare
un'applicazione da qualsiasi altra
parte del mondo, ma solo dall'App Store.
Il dispositivo iOS non consente l'installazione di
applicazioni esterne senza aver
prima effettuato il jailbreak e, poiché
il software Apple è closed-source, l'utente
finale deve accettare i termini di servizio prima di poter
utilizzare il dispositivo, per cui
ora è bloccato nell'App Store quando vuole scaricare
software.
Sia nel Google Play Store che nell'App Store di Apple si
trovano applicazioni
di molti sviluppatori diversi.
Chiunque può creare un'applicazione per questo
software, ma deve approvarla e pubblicarla nell'app
store per poterla scaricare e installare sul
proprio dispositivo mobile.
Per creare un'applicazione per un dispositivo iOS, dovrete
usare il linguaggio di programmazione Swift
e utilizzare Xcode di Apple,
un ambiente di sviluppo integrato per
creare il codice che crea l'applicazione.
Se invece volete creare un'applicazione per Android,
la scriverete nel
linguaggio di programmazione Java
e utilizzerete Android Studio
come ambiente di sviluppo integrato,
che può funzionare su sistemi Linux,
Windows e macOS.
Ora, una volta che le applicazioni sono installate
su un dispositivo, è necessario
un modo per sincronizzare i dati contenuti
in tali applicazioni su più dispositivi, tra cui laptop, desktop,
smartphone e tablet.
Uno dei modi più semplici per sincronizzare
i dati su più dispositivi è
utilizzare un account condiviso su una rete cloud.
I principali fornitori in questo settore
sono tre: Microsoft, Google e Apple.
Microsoft utilizza un prodotto noto come Microsoft 365, che offre la possibilità
di disporre di software di produttività
per l'ufficio e di una grande
quantità di spazio di archiviazione nel
cloud, sotto il nome di OneDrive.
Agli utenti di Microsoft 365 viene normalmente associato un account
di posta elettronica che utilizza il dominio
generico di Outlook. com, oppure con un dominio registrato
di terzi, come il nome di dominio della propria azienda, se
quest'ultima utilizza 365 a livello
aziendale; ad esempio, se decidessi di utilizzare Microsoft 365 per la mia azienda,
avremmo un indirizzo e-mail @diontraining.
com,
e verrebbe ospitato e fornito dai server di Microsoft
utilizzando il servizio 365.
La seconda opzione è l'utilizzo di Google Workspaces
fornito da Google.
Ora Google Workspaces richiede un account Google,
ovvero un account Gmail o un
account aziendale con Google e un proprio
dominio.
La mia azienda utilizza Google Workspace per
tutti i software di produttività.
Questo ci dà la possibilità di avere Google
Docs, Sheets, Slides e Google Drive per l'archiviazione su cloud, oltre a fornire
la posta elettronica a tutti i membri del team
di Dion Training.
Quando ci inviate un'e-mail all'indirizzo deontraining. com, in realtà passa attraverso
un server di Google, che ospita la nostra
posta elettronica come parte di Google
Workspace.
La terza opzione è quella di Apple,
nota come iCloud.
Se avete un account Apple con iCloud, il vostro
indirizzo e-mail sarà @icloud. com, o @me. com.
Si tratta di un servizio gratuito a cui tutti possono
iscriversi, che prevede un livello di archiviazione
gratuito su iCloud e che
funziona in modo eccezionale se si
utilizza un iPhone o un iPad come dispositivo mobile.
Oltre al livello gratuito, è possibile
avere anche un livello a pagamento con iCloud che offre
una capacità di archiviazione aggiuntiva nel cloud.
Quando configurate il vostro dispositivo,
scegliete quale di questi
tre servizi utilizzare, o qualche
altra opzione, e questo vi permetterà
di sincronizzare le informazioni e i dati dai vostri
dispositivi ad altri dispositivi, sia
mobili che desktop e portatili, utilizzando questi servizi basati
sul cloud.