SVILUPPO DI UN'APPLICAZIONE CROSS-PLATFORM PER L'EROGAZIONE DI SERVIZI FAD

Pagina creata da Maria Ferretti
 
CONTINUA A LEGGERE
SVILUPPO DI UN'APPLICAZIONE CROSS-PLATFORM PER L'EROGAZIONE DI SERVIZI FAD
Università Politecnica delle Marche

      DIPARTIMENTO DI INGEGNERIA DELL’INFORMAZIONE
                   Corso di Laurea Triennale in
             Ingegneria Informatica e dell’Automazione

Sviluppo di un’applicazione cross-platform per
         l’erogazione di servizi FaD
Development of a cross-platform app for the supply of
             distance learning services

Relatore: Chiar.mo                               Laureando:
Prof. Aldo Franco Dragoni                       Fabio Carosi

                 Anno Accademico 2020-21
SVILUPPO DI UN'APPLICAZIONE CROSS-PLATFORM PER L'EROGAZIONE DI SERVIZI FAD
Alla mia famiglia
SVILUPPO DI UN'APPLICAZIONE CROSS-PLATFORM PER L'EROGAZIONE DI SERVIZI FAD
Sommario

Il presente lavoro di tesi è volto a presentare e descrivere lo sviluppo dell’applicazione
realizzata durante l’attività di tirocinio del laureando Fabio Carosi tenutasi all’interno
dell’azienda NBS S.r.l. con sede a San Benedetto del Tronto (AP).
    Il tirocinio si è svolto per un periodo di 150 ore durante il mese di agosto 2021. La
őnalità del lavoro sviluppato consiste nella progettazione e realizzazione di un’applicazio-
ne cross-platform per l’erogazione di servizi FaD nel campo dell’Educazione Continua in
Medicina. Il lavoro svolto durante il tirocinio è stato seguito dal tutor aziendale Gabriele
Cardinale, dal tutor accademico Prof. Aldo Franco Dragoni, oltre che da Sandro Novelli,
titolare della NBS S.r.l.
    Nel primo capitolo della tesi si analizza la Formazione a Distanza, studiandone la sto-
ria, le caratteristiche e le diverse tipologie. Si esamina, in particolar modo, l’Educazione
Continua in Medicina che rappresenta l’ambito per il quale si sviluppa l’applicazione,
viene spiegato in cosa consiste l’E.C.M. e si elencano le regole principali per una cor-
retta erogazione del servizio FaD. In seguito si presentano gli strumenti informatici per
l’apprendimento a distanza maggiormente utilizzati al momento.
    Nel secondo capitolo si approfondiscono le diverse tipologie di applicazioni possibile,
spiegando le varie differenze al őne di spiegare il processo decisionale che ha portato
a realizzare un’applicazione cross-platform. Vengono dunque illustrati i possibili fra-
mework utilizzabili per lo sviluppo e si espongono in particolar modo le funzionalità del
framework adoperato per lo sviluppo.
    Nel terzo capitolo si espone tutto il lavoro di sviluppo che ha portato alla realiz-
zazione dell’applicazione őnale, partendo dalla descrizione delle funzionalità desiderate,
mostrando i mockup iniziali delle schermate e trattando distintamente le varie parti e i
codici che compongono l’applicazione.
    In conclusione si elencano alcuni possibili miglioramenti per futuri aggiornamenti
dell’applicazione e vengono esposti alcune opinioni personali sul lavoro svolto.

                                             ii
SVILUPPO DI UN'APPLICAZIONE CROSS-PLATFORM PER L'EROGAZIONE DI SERVIZI FAD
Indice

Introduzione                                                                                                                           1

1 Formazione a Distanza                                                                                                                 2
  1.1 Deőnizione . . . . . . . . . . . . .    .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    2
  1.2 Storia della FaD . . . . . . . . . .    .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    3
  1.3 Apprendimento misto . . . . . . .       .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    4
  1.4 Educazione Continua in Medicina         .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    6
      1.4.1 Provider . . . . . . . . . .      .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    9
  1.5 Principali piattaforme per la FaD       .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   13
      1.5.1 Moodle . . . . . . . . . . .      .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   13
      1.5.2 Google Classroom . . . . .        .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   15
      1.5.3 Microsoft Teams . . . . .         .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   16
      1.5.4 Zoom Meetings . . . . . .         .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   17

2 Applicazione ibride                                                                                                                  19
  2.1 Tipologie di applicazioni . . . . . . . .            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   19
      2.1.1 Applicazioni native . . . . . . .              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   19
      2.1.2 Progressive Web App . . . . . .                .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   20
      2.1.3 Applicazioni ibride . . . . . . .              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   20
  2.2 Sviluppo di applicazioni cross-platform              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   21
      2.2.1 React Native . . . . . . . . . .               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   23
      2.2.2 Xamarin . . . . . . . . . . . . .              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   23
      2.2.3 Flutter . . . . . . . . . . . . . .            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   24
      2.2.4 Ionic . . . . . . . . . . . . . . .            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   24
  2.3 Ionic Framework . . . . . . . . . . . .              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   25
      2.3.1 Framework Front-end . . . . . .                .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   26
      2.3.2 Cordova . . . . . . . . . . . . .              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   27
      2.3.3 Angular . . . . . . . . . . . . .              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   28
      2.3.4 Versioni utilizzate . . . . . . . .            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   31

                                             iii
SVILUPPO DI UN'APPLICAZIONE CROSS-PLATFORM PER L'EROGAZIONE DI SERVIZI FAD
INDICE                                                                                                                     iv

3 Sviluppo                                                                                                                 32
  3.1 Introduzione . . . . . . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   32
  3.2 Scopo e campo di applicazione . . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   32
       3.2.1 Casi d’uso e funzioni dell’applicazione       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   32
  3.3 Pattern architetturale . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   40
  3.4 Login . . . . . . . . . . . . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   40
  3.5 Homepage . . . . . . . . . . . . . . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   44
  3.6 I miei corsi . . . . . . . . . . . . . . . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   48
  3.7 Presenza . . . . . . . . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   55
  3.8 Agenda . . . . . . . . . . . . . . . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   56
  3.9 Offerta Formativa . . . . . . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   61
  3.10 Survey . . . . . . . . . . . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   62
  3.11 Dossier Formativo . . . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   63
  3.12 Notiőche . . . . . . . . . . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   65
  3.13 Tutorial . . . . . . . . . . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   67
  3.14 Bacheca . . . . . . . . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   70
  3.15 Proőlo . . . . . . . . . . . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   71

4 Conclusioni                                                                                                              75
  4.1 Miglioramenti futuri . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                       75
  4.2 Opinioni personali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                       76

Bibliograőa                                                                                                                77
SVILUPPO DI UN'APPLICAZIONE CROSS-PLATFORM PER L'EROGAZIONE DI SERVIZI FAD
Elenco delle figure

 1.1    I metodi di apprendimento misto basati sulla       rotazione       .   .   .   .   .   .   .   .   .   .    7
 1.2    Altri metodi di apprendimento misto . . . .        . . . . . .     .   .   .   .   .   .   .   .   .   .    8
 1.3    Schermata di esempio di Moodle . . . . . . .       . . . . . .     .   .   .   .   .   .   .   .   .   .   15
 1.4    Schermata di esempio di Google Classroom .         . . . . . .     .   .   .   .   .   .   .   .   .   .   16
 1.5    Schermata di esempio di Microsoft Teams .          . . . . . .     .   .   .   .   .   .   .   .   .   .   17
 1.6    Zoom . . . . . . . . . . . . . . . . . . . . . .   . . . . . .     .   .   .   .   .   .   .   .   .   .   18

 2.1    Schema riassuntivo dei diversi tipi di app . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   22
 2.2    Architettura dell’applicazione Cordova . . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   27
 2.3    Ciclo di vita dello state management NgRx . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   29
 2.4    Life Cycle di una pagina creata con Ionic e Angular        .   .   .   .   .   .   .   .   .   .   .   .   30

 3.1    Concept layout dell’app . . . . . . . . . . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   33
 3.2    Diagramma dei casi d’uso . . . . . . . . . . . . . . .         .   .   .   .   .   .   .   .   .   .   .   33
 3.3    Mockup di alcuni servizi speciőci dell’applicazione . .        .   .   .   .   .   .   .   .   .   .   .   37
 3.4    Mockup di alcune sezioni dell’applicazione . . . . . .         .   .   .   .   .   .   .   .   .   .   .   38
 3.5    Mockup di alcuni servizi trasversali dell’applicazione .       .   .   .   .   .   .   .   .   .   .   .   39
 3.6    Le prime schermate all’avvio dell’applicazione . . . .         .   .   .   .   .   .   .   .   .   .   .   47
 3.7    Sezione: I miei corsi . . . . . . . . . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   54
 3.8    Sezione: Agenda . . . . . . . . . . . . . . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   60
 3.9    Schermate dell’applicazione . . . . . . . . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   64
 3.10   Sezione: Tutorial . . . . . . . . . . . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   69
 3.11   Ulteriori sezioni dell’applicazione . . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   74

                                             v
SVILUPPO DI UN'APPLICAZIONE CROSS-PLATFORM PER L'EROGAZIONE DI SERVIZI FAD
Codici

 3.1    Routing dell’applicazione . . . . . . . . . . . . . . . . . . . . . . . . . . .    40
 3.2    Metodo ionViewWillEnter() della pagina di Login . . . . . . . . . . . .            41
 3.3    Utilizzo di un  all’interno della pagina di Login . . . . . . .        41
 3.4    Validazione dei dati inseriti nel Login . . . . . . . . . . . . . . . . . . . .    42
 3.5    Alcuni frammenti del metodo login() . . . . . . . . . . . . . . . . . . .          42
 3.6    Section dell’Homepage . . . . . . . . . . . . . . . . . . . . . . . . . . . .      44
 3.7    Realizzazione di una griglia tramite  . . . . . . . . . . . . . .        45
 3.8    Codice per la creazione delle ion-card dei corsi . . . . . . . . . . . . . .       48
 3.9    showAttivi() e showTerminati() . . . . . . . . . . . . . . . . . . . . .           48
 3.10   Visualizzazione dell’elenco dei corsi terminati . . . . . . . . . . . . . . . .    49
 3.11   Visualizzazione dell’elenco dei corsi attivi . . . . . . . . . . . . . . . . . .   50
 3.12   File corso.ts, modello di un corso . . . . . . . . . . . . . . . . . . . . .       51
 3.13   getCorso(corso) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      52
 3.14   goTo() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   52
 3.15   joinMeeting(meetingNumber, meetingNumber) . . . . . . . . . . . . .                52
 3.16   getAgenda() per la creazione dell’agenda da visualizzare . . . . . . . . .         57
 3.17   Tag  con i suoi attributi . . . . . . . . . . . . . . . . . . . . .      59
 3.18   Metodo getOfferta() per l’ottenimento dell’offerta formativa dell’utente           61
 3.19   Parte del codice per la realizzazione della lista dei Survey . . . . . . . . .     62
 3.20    contenente le notiőche dell’utente . . . . . . . . . . . . . . .        65
 3.21   Model di Notiőca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     65
 3.22   swipeEvent(event, n) per la cancellazione di notiőche trascinate . . . .           66
 3.23   cancellaNotifica(n: Notifica) per la cancellazione di notiőche . . .               66
 3.24   Visualizzazione della lista dei video tutorial . . . . . . . . . . . . . . . . .   67
 3.25   gotoVideo(string) per la riproduzione del video tutorial . . .                     67
 3.26   Visualizzazione della lista di F.A.Q. . . . . . . . . . . . . . . . . . . . . .    67
 3.27   Model di F.A.Q. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    68
 3.28   Struttura della chat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   70
 3.29   Model di Messaggio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     70
 3.30   Chiamata a getProfilo() all’avvio della pagina . . . . . . . . . . . . . .         71
 3.31   updateProfilo() per la modiőca delle informazioni dei contatti . . . . .           71

                                             vi
SVILUPPO DI UN'APPLICAZIONE CROSS-PLATFORM PER L'EROGAZIONE DI SERVIZI FAD
CODICI                                                                            vii

  3.32 openImage() per la modiőca dell’immagine di proőlo . . . . . . . . . . .   72
SVILUPPO DI UN'APPLICAZIONE CROSS-PLATFORM PER L'EROGAZIONE DI SERVIZI FAD
Introduzione

La pandemia di COVID-19 ha cambiato rapidamente le nostre abitudini, uno dei settori
maggiormente colpiti è stato senz’altro quello dell’istruzione. In breve tempo la digita-
lizzazione dell’educazione è diventata parte integranti della vita di tutti gli studenti, la
Formazione a Distanza è diventata őn da subito la soluzione per sopperire all’impossi-
bilità delle lezioni in presenza e in molti hanno scoperto i beneőci di questa modalità di
erogazione della didattica.
    La Formazione a Distanza non nasce, però, solo a partire dal 2020 ed è dunque
importante capirne la storia e le modalità con cui si è evoluta őno ad oggi. Allo stesso
modo si studia il funzionamento dell’Educazione Continua in Medicina, che utilizza anche
la Formazione a Distanza tra le varie modalità di erogazione dei corsi.
    È necessario, inoltre, l’attenta valutazione di tutti i possibili strumenti per lo sviluppo
di una buona applicazione che permetta di erogare correttamente tutti i servizi per una
Formazione a Distanza ottimale.
    Solo al termine di questa disamina si può procedere allo sviluppo vero e proprio
dell’applicazione, ponendo attenzione su tutti i diversi aspetti della programmazione.

                                              1
SVILUPPO DI UN'APPLICAZIONE CROSS-PLATFORM PER L'EROGAZIONE DI SERVIZI FAD
Capitolo 1

Formazione a Distanza

1.1     Deőnizione
La formazione a distanza (FaD) rappresenta una modalità di formazione caratterizzata
dalla separazione ősica fra docente e discente, dalla distribuzione di materiale didat-
tico con modalità e su supporti diversi. Per deőnire più rigorosamente un sistema di
formazione a distanza possono essere considerate le seguenti condizioni fondamentali:
   • Nel processo didattico c’è separazione ősica fra docente e discente.
   • L’attività formativa non è (obbligatoriamente) contemporanea all’erogazione della
     medesima.
   • L’attività didattica è strutturata.
   • Insegnante e studente sono collegati da una struttura tecnologica.
   • Esiste una comunicazione a due vie.
   • Si considera una forma industrializzata dell’istruzione.
   • C’è chiarezza formale su criteri e regole di studio.
    Si possono elencare i seguenti fattori che depongono a favore di attività formative
online:
   • Risparmio di tempo e denaro: la fruizione non obbliga a spostamenti che possono
     essere estremamente onerosi in caso di notevoli distanze.
   • Autonomia di elaborazione: permette di selezionare, senza condizionamenti dovuti
     a emotività o scarsa conoscenza dei fatti, i momenti per esprimersi e presentare
     le proprie idee; la ŕessibilità nei tempi fa si che lo studente può studiare a casa
     quando vuole e quanto vuole, anche seguendo itinerari personalizzati.

                                            2
CAPITOLO 1. FORMAZIONE A DISTANZA                                                        3

   • Velocizzazione delle interazioni: non ci sono turni da attendere, il tutor può comu-
     nicare in tempi ridotti con più corsisti dislocati ovunque.

   • Memoria del percorso didattico: in rete facilmente si possono conservare dialoghi
     e tracce delle interazioni, al contrario di quanto accade negli incontri in presenza o
     nella formazione a distanza tradizionale.

   • Ampliamento delle risorse: si può facilmente ricorrere ad esperti anche remoti;
     i materiali hanno carattere dinamico, possono essere arricchiti, espansi mediante
     link, aggiornati, revisionati.

   • Flessibilità delle forme di cooperazione-collaborazione: si può lavorare a coppie, a
     piccoli gruppi, condividere altri momenti con gruppi più ampi.

   • Utilizzo dell’esperienza pregressa e delle competenze dei partecipanti: è una natu-
     rale conseguenza dell’apprendimento collaborativo tipico della formazione in rete.
     [1]

    Un tipico luogo comune prevede che l’e-learning andrà a sostituire l’insegnamento in
presenza, infatti abbiamo sempre inteso l’insegnamento come un processo comunicati-
vo che avviene tra due o più persone che si trovano nella medesima locazione spaziale
e temporale. In questa visione, le nuove tecnologie rappresentano agenti intrusivi in
un ambiente formativo standard de facto. In realtà è preferibile pensare all’e-learning
come a uno strumento che si aggiunge a quelli disponibili e che può consentire al do-
cente nuove soluzioni formative che possono migliorare l’erogazione delle conoscenze al
discente. Il ruolo dell’insegnante non è sminuito dall’introduzione delle nuove tecnolo-
gie. Anzi, il docente viene ad acquisire nuove competenze e capacità di coordinamento
poiché coadiuvato da őgure professionali normalmente non presenti nell’insegnamento in
presenza. Questo si può tradurre per il docente in uno stimolante e qualiőcante percorso
di arricchimento personale e professionale.[2]

1.2     Storia della FaD
Nell’arco di quest’ultimo secolo, la progressiva evoluzione delle tecnologie della comu-
nicazione (mezzi di trasporto, telecomunicazioni, ecc.) ha condizionato costantemente
l’altrettanto progressiva evoluzione dei sistemi per la formazione a distanza.
    Le prime applicazioni di una certa signiőcatività delle metodologie FaD si ebbero
verso la őne del diciannovesimo secolo, quando le nuove tecniche di stampa e lo svilup-
po del trasporto ferroviario resero possibile la produzione e la distribuzione estensiva di
materiale d’insegnamento a favore di gruppi di studenti distribuiti su vaste aree geograő-
che. Si trattava di interventi basati principalmente sulla corrispondenza, dove il medium
era rappresentato dal materiale a stampa e l’interazione studente-docente, estremamente
CAPITOLO 1. FORMAZIONE A DISTANZA                                                          4

lenta nella sua dinamica, era in genere circoscritta allo scambio di elaborati (per esempio
questionari di valutazione) e a rarissimi incontri in presenza.
    A questi sistemi FaD, detti di prima generazione (o per corrispondenza), negli anni
’60 succedono i cosiddetti sistemi FaD multimediali/plurimediali o di seconda genera-
zione, caratterizzati da un uso integrato di materiale a stampa, trasmissioni televisive,
registrazioni sonore e in alcuni casi software didattico (courseware). Il processo di in-
terazione fra docente e studente continua ad essere molto simile a quello della prima
generazione, anche se include l’assistenza telefonica, le attività tutoriali in presenza e
più recentemente i collegamenti via fax e posta elettronica. Gli approcci dei sistemi FaD
di prima e seconda generazione si basano quindi prevalentemente sulla produzione e la
distribuzione estensiva di materiali didattici nei confronti della popolazione da formare.
La comunicazione con gli studenti (vista in un’ottica di bidirezionalità) viene mantenuta
marginale e la comunicazione fra gli studenti è quasi del tutto inesistente o comunque
non organizzata.
    Il riproporre anche a distanza l’apprendimento come processo sociale (seppur con
l’inevitabile mediazione della tecnologia) sarà l’idea chiave che guiderà lo sviluppo dei
sistemi FaD di terza generazione. Nella terminologia FaD i sistemi di terza generazione
sono anche detti di online education (formazione in rete), proprio a signiőcare come la
maggior parte del processo formativo avvenga in rete, attraverso l’interazione dei parteci-
panti, in una vera e propria comunità di apprendimento che favorisca sia il superamento
dell’isolamento del singolo sia la valorizzazione dei suoi rapporti con il gruppo. [3]
    A seguito dell’emergenza COVID-19, si stima che il 90% degli studenti di tutto il
mondo abbia dovuto abbandonare i banchi di scuola. In particolare l’Italia è stato il
primo Paese europeo in cui si è indetto un lockdown a livello nazionale. Le prime scuole
e università hanno iniziato a chiudere a őne febbraio 2020, provvedimento che poi è stato
esteso a tutta Italia a partire dal 10 marzo 2020.
    Per rispondere all’impatto delle chiusure scolastiche, in Italia il Ministero dell’Istru-
zione ha stanziato ottantacinque milioni di euro per le attività di formazione a distanza,
destinati per la maggior parte a fornire dispositivi digitali e connettività ai bambini e
dei ragazzi provenienti da contesti socio-economici svantaggiati, ma anche per l’acqui-
sizione di piattaforme educative digitali e per la formazione del corpo insegnanti. È
stato riportato che al 18 Marzo 2020 il 67% delle scuole (inclusi asili e scuole dell’in-
fanzia)aveva spostato tutte le proprie attività didattico-educative online, raggiungendo
potenzialmente 6,7 su 8,3 milioni di studenti in Italia. [4]

1.3     Apprendimento misto
L’apprendimento misto, in inglese blended learning, viene deőnito come un modo di
studiare una materia che combina l’apprendimento in aula con l’uso di diverse tecnologie,
comprese Internet. Durante la fase di apprendimento online lo studente ha la possibilità
CAPITOLO 1. FORMAZIONE A DISTANZA                                                         5

di scegliere come meglio gestire le interazione con il materiale didattico. Il őne del
blended learning è che l’apprendimento online e di persona siano complementari, ovvero
che abbiano pari importanza nel processo di formazione dello studente.
   La Clayton Christensen Institute, istituto che ha őssato le basi del blended learning,
deőnisce i seguenti sette modelli di apprendimento misto:

   • Station Rotation
     All’interno della stessa aula sono presenti diverse postazioni (o stazioni), una delle
     quali deve necessariamente essere dedicata all’apprendimento online. Gli studenti
     si spostano da una postazione all’altra attraverso una precisa schedulazione. È
     utilizzata soprattutto nelle scuole elementari dove gli insegnanti hanno già una
     maggiore familiarità sulla rotazione tra le postazioni.

   • Lab Rotation
     Così come i per la Station Rotation anche qui gli studenti si muovono tra le po-
     stazioni, in questo caso però l’apprendimento online non avvengono in aula, ma in
     laboratorio informatico dedicato. Questo modello consente una maggiore elastici-
     tà tra gli insegnanti e altre őgure para-professionistiche e consente alle scuole di
     utilizzare i laboratori informatici presenti.

   • Individual Rotation
     A differenza dei precedenti metodi, in questo la rotazione tra le varie stazioni
     è individuale, ma non libera. Ogni studente dovrà seguire un programma stila-
     to dall’insegnante o da un software e seguirlo spostandosi individualmente tra le
     postazioni.

   • Flipped Classroom
     Il modello de "l’aula capovolta" capovolge la tradizionale relazione tra orario scola-
     stico e compiti a casa. Gli studenti imparano a casa tramite corsi e lezioni online e
     gli insegnanti utilizzano il tempo in classe per esercitazioni o progetti guidati. Que-
     sto modello consente agli insegnanti di utilizzare il tempo in classe per qualcosa di
     più rispetto alle lezioni tradizionali.

   • Flex
     Il modello Flex consente agli studenti di muoversi su programmi ŕuidi tra le attività
     di apprendimento in base alle loro esigenze. L’apprendimento online è la spina
     dorsale dell’apprendimento degli studenti in un modello ŕessibile. Gli insegnanti
     forniscono supporto e istruzione su base ŕessibile, secondo necessità, mentre gli
     studenti lavorano attraverso il curriculum e i contenuti del corso. Questo modello
     può offrire agli studenti un elevato grado di controllo sul proprio apprendimento.
CAPITOLO 1. FORMAZIONE A DISTANZA                                                           6

      • A La Carte
       Il modello A La Carte consente agli studenti di seguire un corso online registrato
       da un insegnante, oltre ad altri corsi faccia a faccia,in modo da offrire agli studenti
       una maggiore ŕessibilità sui loro orari. Questo metodo essere un’ottima opzione
       per gli istituiti che non possono fornire particolari opportunità di apprendimento,
       come particolari corsi specializzati, rendendolo uno dei modelli più popolari nelle
       scuole superiori miste.

      • Enriched Virtual
       Il modello Enriched Virtual è un’alternativa alla scuola online a tempo pieno che
       consente agli studenti di completare la maggior parte dei corsi online a casa o
       fuori dalla scuola, ma di frequentare la scuola per le sessioni di apprendimento
       faccia a faccia richieste con un insegnante. A differenza della Flipped Classroom,
       i programmi Enriched Virtual di solito non richiedono la frequenza scolastica quo-
       tidiana; alcuni programmi possono richiedere solo una frequenza bisettimanale, ad
       esempio.

[5]

1.4       Educazione Continua in Medicina
Educazione Continua in Medicina (E.C.M.) è il programma nazionale di attività for-
mative attraverso il quale ogni professionista della sanità si deve tenere aggiornato sugli
sviluppi professionali, per poter rispondere ai bisogni dei pazienti e alle esigenze del Ser-
vizio sanitario. L’E.C.M. serve dunque per l’acquisizione di nuove conoscenze e abilità
al őne di mantenere una pratica competente del proprio lavoro.
    L’Educazione Continua in Medicina è stata sancita di fatto nel 1999, anno in cui con
il D.Lgs 229/1999 è stato introdotto l’obbligo di acquisire crediti formativi per tutti gli
operatori sanitari (medici, infermieri, farmacisti, odontoiatri, veterinari, biologi, chimici,
ostetriche ecc.), l’E.C.M. è stata poi effettiva avviata solo dal 1° gennaio 2002.
    Durante i primi anni della lunghissima łfase sperimentalež, in cui la FaD in particolare
si confrontava con due problematiche: da una parte non esisteva un livello nazionale
riconosciuto se non per pochissimi progetti łspecialiž (ovvero non era possibile fruire di
percorsi formativi online offerti a tutti gli operatori del territorio nazionale, con crediti
che valessero certamente a livello nazionale, a maggior ragione se a pagamento, come per
esempio avveniva per i corsi in aula), e dall’altra non tutte le regioni ś o per ritardi o
nell’attesa di una normativa nazionale univoca ś accreditavano attività formative FaD.
    Durante questo periodo l’erogazione di formazione in ambito sanitario a livello nazio-
nale ha avuto bisogno di un complesso controllo da parte del Centro Nazionale E.C.M
del Ministero della Salute, e allo stesso tempo la dimensione regionale ha offerto a tutti
CAPITOLO 1. FORMAZIONE A DISTANZA                                             7

          (a) Station Rotation                             (b) Lab Rotation

                                 (c) Individual Rotation

       Figura 1.1: I metodi di apprendimento misto basati sulla rotazione
CAPITOLO 1. FORMAZIONE A DISTANZA                                      8

        (a) Flipped Classroom                         (b) Flex

           (c) A La Carte                       (d) Enriched Virtual

              Figura 1.2: Altri metodi di apprendimento misto
CAPITOLO 1. FORMAZIONE A DISTANZA                                                           9

coloro con obbligo E.C.M percorsi accreditati localmente. La soluzione a una dichiarata
complessità a gestire così sia le attività formative sia l’altissimo numero di organizzazioni,
accreditate dal Ministero come autorizzati a svolgere attività formativa, era comunque da
alcuni anni individuata: si trattava infatti di dichiarare provider łautonomož l’ente for-
mativo ś in base a regole ben più stringenti ś assegnando a quest’ultimo la responsabilità
relativa sia alla qualità del percorso formativo sia conseguentemente alla coerenza rela-
tiva al numero dei crediti da assegnare, previa accettazione da parte del provider stesso
del controllo relativo alla correttezza delle attività da parte del livello centrale. Si passa
quindi da un controllo incentrato sulle singole attività formative a un controllo ś svolto
con modalità random, ma particolarmente approfondito ś sul complesso dell’attività del
provider stesso. Si tratta di passare, con questo approccio, alla łfase a regimež.
    Nel 2007 l’Accordo Stato-Regioni del 1° agosto disciplina questa trasformazione della
gestione dell’E.C.M, prevedendo periodi triennali di programmazione e ponendo le basi
per il passaggio dall’accreditamento dei singoli eventi formativi a quello di accreditamento
di soggetti erogatori di attività formative da parte delle Regioni e del Ministero della
Salute.
    Ma ancora nel 2009 veniva prorogata őno al 31 dicembre l’impostazione łsperimen-
tale provvisoriaž, continuando a prevedere forme diversiőcate di formazione, da quella
frontale (residenziale) a quella "on the job" (sul campo) e, ovviamente, alla FaD, essen-
do forse quest’ultima l’attività formativa che ha fatto nascere gli interrogativi maggiori
per la potenziale diffusione e łinvasivitàž che ś forse ś la caratterizza o la potrebbe
caratterizzare.
    Di fatto, con molte difficoltà, l’uscita da questa cosiddetta fase sperimentale durata
circa 10 anni si concretizza nei primi mesi del 2010.[2]
    Sempre nell’Accordo Stato-Regioni del 1° agosto è riportato che ogni operatore sa-
nitario deve acquisire 150 crediti per ogni triennio a partire dal 2008-2010. A seguito
dell’emergenza sanitaria per l’epidemia di Covid-19, per il triennio 2020-2022, per tutti
gli operatori sanitari che hanno continuato l’attività lavorativa durante l’emergenza viene
dato diritto di un bonus di 50 crediti E.C.M.

1.4.1     Provider
Come riporta l’agenzia nazionale per i servizi sanitari regionale, le tipologie di Provider
attualmente previste sono:

   • Università, Facoltà e Dipartimenti universitari

   • Istituti scientiőci del servizio sanitario nazionale

   • Istituti del consiglio nazionale delle ricerche

   • Società scientiőche e associazioni professionali in campo sanitario
CAPITOLO 1. FORMAZIONE A DISTANZA                                                        10

   • Ordini e collegi delle professioni sanitarie

   • Fondazioni a carattere scientiőco

   • Case editrici scientiőche

   • Società, Agenzie ed Enti pubblici

   • Società, Agenzie ed Enti privati

    Il Provider accreditato è responsabile del contenuto formativo, della qualità scienti-
őca e dell’integrità etica di tutte le attività FaD cui ha assegnato crediti. Il Provider
deve predisporre per l’utilizzatore un breve riassunto dei contenuti del programma FaD,
distinti per argomenti principali e con l’indicazione degli autori e di eventuali procedure
accessorie (őlmati, audio, links, etc.). Elemento essenziale della FaD è la veriőca della
partecipazione al programma da parte dell’utilizzatore. Le possibilità di controllo della
partecipazione sono limitate se la fruizione avviene con strumenti cartacei. Le tecnologie
più avanzate consentono veriőche e controlli di partecipazione più stringenti.
    Nella FaD la veriőca della partecipazione all’attività formativa avviene di solito me-
diante la predisposizione, da parte del Provider che ha prodotto il programma FaD,
di strumenti di veriőca dell’apprendimento che l’utilizzatore, dopo la somministrazione,
deve fornire al Provider, documentando di aver acquisito l’aggiornamento oggetto del
programma. L’attività FaD non è quindi completata őnché l’utilizzatore non dimostri
al Provider la sua partecipazione all’attività formativa inviando le risposte del test di
valutazione dell’apprendimento che costituisce anche prova di partecipazione.
    In particolare, per la FaD cartacea la presenza-partecipazione viene veriőcata attra-
verso la consegna al Provider della prova di veriőca in via cartacea o telematica. Nel
caso, invece, di FaD mediante strumentazioni informatiche ( e-learning e sincrona) è ri-
chiesta la veriőca della presenza ś partecipazione attraverso le operazioni tracciate dalla
piattaforma, oltre che l’identiőcazione del discente; a tal proposito possono essere imple-
mentate modalità di riconoscimento via webcam, biometrico, o procedure di veriőca a
più canali come autenticazioni con credenziali + token a scadenza temporale (acquisito
dal discente via app, mail o SMS) per accertarsi che l’utente collegato di volta in volta
alla piattaforma sia effettivamente il professionista in possesso della login.
    La veriőca dell’apprendimento consente di valutare l’efficacia formativa complessiva
del programma ed anche le singole aree in cui l’efficacia formativa è stata minore. Con-
sente, quindi, eventuali correzioni della forma con cui i contenuti sono presentati, delle
procedure e della strutturazione del programma. Le modalità di veriőca dell’appren-
dimento degli eventi FaD sono descritte nel łManuale nazionale di accreditamento per
l’erogazione degli eventi E.C.M.ž.
    Negli eventi FaD con strumenti informatici, la possibilità di effettuare la veriőca del-
l’apprendimento deve essere data solo dopo aver fruito dei contenuti (es è ammessa la
CAPITOLO 1. FORMAZIONE A DISTANZA                                                       11

possibilità di eseguire test di valutazione intermedia). Per una maggiore trasparenza
durante lo svolgimento dell’evento FaD potranno essere comunicate unicamente le do-
mande a cui è stata fornita una risposta errata. Nel caso di risposte ‘non superate’ potrà
essere data indicazione di dove trovare l’argomento nel materiale dell’evento, ma non
dovrà mai essere fornito ‘suggerimento’ in merito alla risposta corretta prevista. Solo
dopo il termine őssato per la conclusione dell’evento FaD è consentito fornire ai discenti
le risposte esatte.
    La qualità di ogni programma FaD deve essere valutata anche in base all’indice di
gradimento ex-post manifestato dagli utilizzatori. Questo parametro deve essere rilevato
mediante una scheda standard che deve obbligatoriamente pervenire al Provider FaD da
parte di ogni utilizzatore insieme al questionario per la veriőca di partecipazione e di
apprendimento (in mancanza non potranno essere assegnati crediti).
    Tale scheda, anonima nella sua compilazione, nel caso in cui l’evento sia basato su
materiale ‘cartaceo’, sarà restituita al provider insieme alla prova di veriőca dell’ap-
prendimento e può essere inserita in una busta chiusa non riconducibile al partecipante.
Le buste saranno messe insieme e poi aperte al termine dell’attività formativa per una
registrazione delle informazioni aggregate. Nel caso di compilazione su strumenti in-
formatici/piattaforme, dovranno essere acquisite in modo da garantire l’anonimato del
discente, non collegando la scheda compilata al discente, per il quale sarà registrata la
sola informazione di ‘consegna’ della scheda, mentre i contenuti della scheda compilata
saranno registrati separatamente. La scheda deve essere messa a disposizione (al termine
della fruizione dei contenuti formativi) insieme al questionario di veriőca dell’apprendi-
mento affinché chi non superi la prova di veriőca possa comunque consegnare la scheda
di valutazione della qualità percepita.
    La suddetta scheda, analogamente a quella utilizzata per la formazione residenziale,
costituisce parte della documentazione che il Provider FaD deve registrare, conservare e
rendere, a richiesta, disponibile dall’Ente accreditante.
    Altri requisiti per la piattaforma e-learning per la FaD asincrona sono i seguenti:

   • caratteristiche di dimensionamento hardware e software adatte ad erogare il servizio
     di formazione al numero di discenti a cui è rivolto

   • affidabilità (continuità dell’erogazione) e sicurezza (al őne di garantire la riserva-
     tezza degli elenchi e degli indirizzi dei partecipanti)

   • garantire una facile fruibilità della piattaforma all’utente őnale (user-friendly) e
     garantire una capacità di banda minima per una fruizione multiutente

   • capacità di tracciare tutte le operazioni effettuate dagli utenti tramite log e report

   • mettere a disposizione del discente l’attestato con i crediti solo dopo aver veriőcato
     la presenza, il superamento della prova di veriőca e dopo la compilazione della sche-
CAPITOLO 1. FORMAZIONE A DISTANZA                                                          12

     da di valutazione della qualità percepita (nel caso in cui gli attestati non vengano
     inviati tramite P.E.C. o raccomandata)

   • mettere a disposizione dei discenti un canale di comunicazione con i tutor (eventi
     con tutoraggio)

   • mettere a disposizione dei partecipanti un ambiente di collaborazione (eventi con
     ambiente di collaborazione)

   • garantire la fruibilità delle informazioni al őne di ottemperare agli obblighi norma-
     tivi (export dati per l’invio degli elenchi dei partecipanti e delle informazioni sul
     superamento della prova nel tracciato XML da trasmettere all’Ente accreditante
     ed al COGEAPS) e garantire l’accesso alle sessioni da parte degli organismi di
     controllo e veriőca.
    Mentre per la FaD sincrona gli obblighi sono per la gran parte analoghi a quelli per
la FaD asincrona:
   • affidabilità (continuità dell’erogazione) e sicurezza (al őne di garantire la riserva-
     tezza degli elenchi e degli indirizzi dei partecipanti)

   • garantire una facile fruibilità della piattaforma all’utente őnale (user-friendly) e
     garantire una capacità di banda minima per una fruizione adeguata

   • garantire la possibilità di creare una sessione sincrona/diretta con utenti discenti e
     utenti docenti/tutor

   • garantire la possibilità di far intervenire/interagire il partecipante con il tutor e gli
     altri discenti

   • garantire la veriőca della presenza e della fruizione dei contenuti nel periodo pre-
     visto (log di accesso, tracciabilità operazioni)

   • garantire che al termine della sessione di FaD SINCRONA sia possibile avere una
     copia/download della sessione formativa effettuata dal discente

   • garantire la fruibilità delle informazioni al őne di ottemperare agli obblighi norma-
     tivi (export dati per l’invio degli elenchi dei partecipanti e delle informazioni sul
     superamento della prova nel tracciato XML da trasmettere all’Ente accreditante
     ed al COGEAPS) e garantire l’accesso alle sessioni da parte degli organismi di
     controllo e veriőca.
    Tutto il materiale durevole, tutte le informazioni in merito a: veriőca della presenza-
partecipazione, veriőca dell’apprendimento, veriőca qualità percepita, materiale didat-
tico deve essere conservato per la tempistica prevista dalla normativa E.C.M. Nel caso
CAPITOLO 1. FORMAZIONE A DISTANZA                                                           13

di erogazione attraverso strumentazioni informatiche, al termine della fruizione da parte
dei discenti, la piattaforma può essere rimossa dalla rete internet, tuttavia il provider
deve garantire il mantenimento di una copia digitale (tabelle, log, tracciati, report, etc)
dell’intera attività erogata per i 5 anni successivi.
    Accertato che i requisiti (partecipazione, valutazione dell’apprendimento e scheda del-
la qualità percepita) siano stati soddisfatti entro i termini previsti dell’attività formativa,
il Provider attesterà che l’utente ha svolto la suddetta attività formativa E.C.M ed ha,
quindi, acquisito i crediti E.C.M in numero pari a quanto previsto per quello speciőco
programma FaD. Nel caso di mancato soddisfacimento dei requisiti per l’acquisizione
dei crediti, è possibile consegnare un attestato di sola ‘partecipazione’. Nel caso di su-
peramento della prova dovrà essere inviata, apposita attestazione attraverso strumento
che ne tracci la consegna (raccomandata, P.E.C) o mettendo a disposizione l’attestato
in un’area riservata (il provider dovrà tracciare l’acquisizione degli attestati da parte dei
discenti). [6]

1.5     Principali piattaforme per la FaD
1.5.1     Moodle
Moodle (acronimo di Modular Object-Oriented Dynamic Learning Environment, cioè
"Ambiente per l’apprendimento modulare, dinamico, orientato ad oggetti") è il sistema
di gestione dell’apprendimento (LMS - Learning Management System) più conosciuto e
utilizzato nel mondo. Il sistema è gratuito e online, permette ai docenti di creare siti
per i propri corsi in cui è possibile caricare materiale didattico. Moodle nasce da un’idea
dello sviluppatore Martin Dougiamas e la prima versione rilasciata risale al 20 agosto
2002.
    Con Moodle è possibile pubblicare materiali didattici, ma anche progettare attività
individuali e di gruppo, realizzare test ed esami di valutazione e comunicare con gli stu-
denti. (acronimo di Modular Object-Oriented Dynamic Learning Environment, ambiente
per l’apprendimento modulare, dinamico, orientato ad oggetti)
    All’interno del programma, ogni utente può avere differenti diritti di accesso, in fun-
zione del ruolo che gli è stato assegnato. I ruoli standard dentro alla piattaforma Moodle
sono:

   • Manager: può accedere a tutti i corsi e modiőcarli;
   • Creatore di corsi: può creare e modiőcare il corso;
   • Docente: gestisce i corsi e può valutare gli studenti;
   • Studente: iscritto ai corsi e può accedere alle risorse messe a disposizione dal
     docente;
CAPITOLO 1. FORMAZIONE A DISTANZA                                                            14

      • Ospite: è un utente non ancora iscritto ad un corso, con privilegi limitati;

      Tra le principali funzionalità di base troviamo:

      • Interfaccia responsive e di facile navigazione sia da desktop che su dispositivi mobili;

      • Dashboard personalizzabile con tutti i corsi presenti, passati e futuri a cui è iscritto
        l’utente;

      • Strumenti di collaborazione come i forum, il glossario, wiki e tanti altri;

      • Calendario multifunzione dove è possibile annotare eventi, riunioni, scadenze, ecc.;

      • Gestione dei őle in servizi esterni di storage come Dropbox, Google Drive e One-
        Drive;

      • Editor di testo facile da utilizzare e intuitivo;

      • Possibilità di attivare notiőche su messaggi, eventi, aggiornamenti, scadenze e tanto
        altro;

      • Monitoraggio del completamento dei moduli e dell’avanzamento nel corso;

      Le funzionalità per la gestione dei corsi sono invece le seguenti:

      • Lezioni studiate per essere guidate dagli insegnanti;

      • Strumenti di collaborazione tra gli utenti;

      • Inserimento facilitato di őle audio e video con le lezioni;

      • Implementazione di materiale didattico e compiti;

      • Valutazione del ŕusso di lavoro;

      • Gestione del gruppo con diverse attività;

      • Badge per motivare gli studenti;

      • Valutazione basata su competenze che possono essere impostate con piani d’ap-
        prendimento personalizzati.

[7]
CAPITOLO 1. FORMAZIONE A DISTANZA                                                             15

                       Figura 1.3: Schermata di esempio di Moodle

1.5.2     Google Classroom
Google Classroom è una piattaforma per il blended learning [1.3, pag. 4] dedicata alle
istituzioni scolastiche e le università. Il servizio ha l’obiettivo di facilitare la condivisione
di materiale didattico tra insegnanti e studenti.
    Google Classroom si integra con diversi altri servizi forniti da Google come: Google
Drive per l’archiviazione dei őle, Google Docs per la creazione e condivisione di documen-
ti, Google Sheet per i fogli di calcolo, Google Slides per le presentazioni, Google Forms
per la realizzazione di sondaggi e test, Google Sites per la realizzazione di siti Internet,
Gmail come provider per la posta elettronica, Google Calendar per la sincronizzazione
degli impegni nel calendario. In risposta all’emergenza sanitaria che ha portato ad un
maggior utilizzo della piattaforma Google ha integrato anche i servizi di Google Meet
per consentire un’efficace gestione delle lezioni sincrone online.
    La piattaforma è stata annunciata nel maggio del 2014 e rilasciata pubblicamente
a partire dal 12 agosto 2014. Google Classroom è utilizzabile gratuitamente, alcune
funzionalità aggiuntive richiedono però un l’iscrizione a pacchetti a pagamento.
    Google Classroom ha diverse funzionalità in base a chi utilizza l’applicazione. Gli
insegnanti possono avviare riunioni video; creare e gestire classi, compiti e valutazioni;
aggiungere materiali didattico; fornire dei feedback in tempo reale agli studenti durante
lo svolgimento di compiti. Gli studenti invece hanno la possibilità di tenere traccia
dei compiti assegnati del corso e possono inviare i propri lavori svolti; è disponibile un
controllo contro i plagi sui lavori svolti; è possibile controllare i propri voti e condividere
risorse con il resto della classe.
CAPITOLO 1. FORMAZIONE A DISTANZA                                                         16

                 Figura 1.4: Schermata di esempio di Google Classroom

1.5.3    Microsoft Teams
Microsoft Teams è un software sviluppato da Microsoft a partire dal 2016 e nasce come
miglioramento e aggiornamento di Skype for Business, client di messaggistica istantanea
per uso professionale sviluppato anch’esso da Microsoft e ritirato ufficialmente da luglio
2021. Teams combina chat istantanea con le funzionalità di videoconferenza e condivi-
sione di materiale, si integra inoltre con diversi servizi offerti da Microsoft e contenute
nel pacchetto Microsoft 365. È utilizzabile sui dispositivi desktop, mobile e su browser
web.
    Si pone come concorrente diretto di altri servizi dedicati ai professionisti, tra i quali
Slack. Microsoft aveva tentato di acquisire Slack nel 2016 per una cifra attorno agli 8
miliardi di dollari, ma anche a causa della contrarietà all’acquisto da parte di Bill Gates
l’acquisizione non andò a buon őne e Microsoft preferì iniziare lo sviluppo dell’allora
Skype for Business.[8]
    A seguito dell’emergenza sanitaria l’uso di Microsoft Teams si è espanso non solo nel
mondo del lavoro, bensì anche in ambito accademico, soprattutto negli atenei che già
utilizzavano i servizi Microsoft.
    Tra le funzionalità più utili ed utilizzate si possono citare:

   • Team: possibilità di creare gruppi di lavoro in cui condividere materiale con tutti
     i partecipanti e in cui avviare videochiamate di gruppo. Utile per creare gruppi
     speciőci per le classi o per un singolo corso.

   • Canali: all’interno di un team è possibile creare più canali per diversi argomenti
     di conversazione e all’interno di ogni canale i partecipanti possono comunicare con
     testi e immagini personalizzati.
CAPITOLO 1. FORMAZIONE A DISTANZA                                                      17

   • Chiamate: funzionalità cardine di Microsoft Teams, è possibile effettuare chia-
     mate VoIP (Voice over IP), videochiamate e anche previsto lo scambio di messaggi
     istantanei.

   • Riunioni: utili sia in ambito lavorativo sia in ambito scolastico, permette di ef-
     fettuare videochiamate di gruppo che possono essere programmate o create al mo-
     mento dall’admin della riunione. È possibile registrare le riunione che potranno
     poi essere revisionate e scaricate all’interno dei materiali condivisi del team.

    Inoltre si ricorda la possibilità di condividere materiale di ogni formato e permette
anche il lavoro in contemporanea su un documento attraverso l’utilizzo di altri servizi
Microsoft presenti nel pacchetto Microsoft 365.
    A partire da ottobre 2021, con il rilascio del sistema operativo Windows 11, Microsoft
Teams è il programma per le comunicazioni istantanee presente di default nel sistema
operativo, dimostrando la rapida espansione nell’uso quotidiano e non più solo in ambiti
lavorativi e scolastici.

                 Figura 1.5: Schermata di esempio di Microsoft Teams

1.5.4    Zoom Meetings
Zoom Meetings, più brevemente Zoom, è un servizio di videoconferenza basato sul cloud.
La società Zoom Video Comunications è stata fondata nel 2011 da Eric Yaun, ingegnere
capo di Cisco Systems e di WebEx, il servizio di videoconferenza inizia a gennaio 2013.
   Le caratteristiche principali di Zoom sono:
CAPITOLO 1. FORMAZIONE A DISTANZA                                                     18

  • Chat istantanea: attraverso Zoom Chat è possibile scambiare messaggi e őle con
    una singola persona o con un gruppo.

  • Riunioni individuali: le riunioni individuali sono gratuite e illimitate.

  • Videoconferenze di gruppo: utilizzabile per l’erogazione di lezioni telematiche,
    è gratuito per gruppi di massimo 100 persone e per una durata di 40 minuti.

  • Condivisione dello schermo: come i principali concorrenti anche su Zoom è
    possibile condividere il proprio schermo in modo tale che tutti possano vedere.

  • Registrazioni e Trascrizioni: le riunioni di gruppo o individuali possono esse-
    re registrate, utile la funzione di trascrizione che permette di ottenere un testo
    attraverso il riconoscimento delle conversazioni tra i partecipanti.

  • Integrazione: Zoom si connette con altri servizi utilizzati nel mondo del lavoro
    come Slack, Okta, HipChat e Microsoft Teams e permette la pianiőcazione delle
    riunioni da e-mail e calendario attraverso plugin con i principali servizi del genere
    come Outlook, Gmail e i principali browser web.

                                  Figura 1.6: Zoom
Capitolo 2

Applicazione ibride

2.1     Tipologie di applicazioni
Le applicazioni mobile si dividono in tre grandi categorie:

   • Applicazioni native

   • Applicazioni web (o PWA)

   • Applicazioni ibride

2.1.1    Applicazioni native
La applicazioni native vengono scritte e compilate per una speciőca piattaforma utilizzan-
do i linguaggi di programmazione e librerie supportati dal particolare sistema operativo
mobile (es. Kotlin per Android), per questo motivo un’applicazione sviluppata per An-
droid non sarà utilizzabile su un dispositivo Apple e viceversa. Le applicazioni native
hanno però notevoli vantaggi:

   • Performance migliore: le app native vantano una performance di alto livello
     sia rispetto alle app ibride che alle app web. Le app native sono anche più veloci,
     efficienti e sicure, e funzionano perfettamente nei sistemi operativi dei dispositivi
     mobili.

   • Sicurezza: Grazie all’interfacciamento diretto con l’OS, le app native hanno stan-
     dard di sicurezza maggiori, risultando così più sicure rispetto a qualsiasi altro tipo
     di app mobile. Rafforzano la protezione dei dati degli utenti e sono molto usate da
     aziende e attori che mettono la sicurezza al primo posto, come nel caso delle app
     per le banche.

                                            19
CAPITOLO 2. APPLICAZIONE IBRIDE                                                            20

   • Connettività avanzata: le app native possono usare più semplicemente i vari
     strumenti e le diverse risorse integrate nei dispositivi mobili, come la fotocamera,
     il Bluetooth, i contatti del cellulare, ecc. senza la necessità di dover integrare e
     sviluppare componenti esterni.
   • Miglior user experience: la UI (user interface) propria delle app native fornisce
     una migliore user experience. Questo perché le app sviluppate nativamente hanno
     a disposizione componenti ed elementi di UI tipici della piattaforma, utilizzati sia
     dalle app sviluppate dai produttori di device, sia da sviluppatori terzi. Questo
     fa si che l’utente őnale, nonostante navighi tra app diverse, abbia una familiarità
     con elementi, stili e comportamenti comuni . Ne sono un esempio esempio l’effetto
     ripple sui pulsanti in Android, la navbar su iOS, l’animazione di apparizione delle
     schermate diversa tra gli OS, lo stile della navigazione, il font usato, etc. . .
    A questi lati positivi si affiancano però anche alcuni difetti, come il dover utilizzare
linguaggi di programmazione diversi per sistemi operativi differenti, il maggior costo per
lo sviluppo e le difficoltà maggiori per gestire e mantenere un’applicazione nativa. [9]

2.1.2     Progressive Web App
Progressive Web App (PWA, in italiano applicazioni web progressive) è un termine,
coniato in origine da Google, che si riferisce ad applicazioni web che vengono svilup-
pate e pubblicate come normali pagine web, ma che si comportano in modo simile alle
applicazioni native quando utilizzate su un dispositivo mobile [Fonte Wikipedia].
    Rispetto alle tradizionali web app, le PWA possono abilitare alcune funzionalità ag-
giuntive. Supportano una UI più reattiva rispetto alle applicazioni web, un’alta velocità
di caricamento e la possibilità interfacciarsi con alcune caratteristiche hardware, come
ad esempio la fotocamera o i sensori del dispositivo.
    Inoltre grazie all’utilizzo dei service worker, le PWA possono controllare le richieste di
rete, memorizzarle e conseguentemente migliorare le performance e fornire accesso offline
ai contenuti memorizzati. Tutto questo fa si che le app web funzionino in modo più che
soddisfacente anche su network di bassa qualità.
    A differenza delle App Native e delle App sviluppate attraverso Framework cross-
platform, le PWA non sono però delle app autonome, proprio perché il loro funzionamento
dipende dal browser che l’utente sta utilizzando. Ciò signiőca che, anche se queste app
possono avere un icona sulla home del dispositivo, quando l’utente clicca su di essa sta
in realtà aprendo il browser web, seppure senza accorgersene. [9]

2.1.3     Applicazioni ibride
Le App Ibride possono essere viste come un’applicazione software che combina elementi di
app native e applicazioni web. Le app ibride sono essenzialmente web app che sono state
CAPITOLO 2. APPLICAZIONE IBRIDE                                                            21

inserite in una shell di app nativa. Una volta scaricate da un digital store e installate
localmente sul device, la shell è in grado di connettersi a tutte le funzionalità fornite
dalla piattaforma mobile tramite un browser incorporato nell’app. Il browser e i suoi
plugin vengono eseguiti sul back-end e sono invisibili all’utente őnale. Le app ibride sono
popolari perché consentono agli sviluppatori di scrivere il codice per un’app mobile una
volta ed essere ospitate comunque su differenti OS. Le app ibride aggiungono un ulteriore
layer tra il codice sorgente e la piattaforma di destinazione, risultando così leggermente
più lente rispetto alle versioni native o web della stessa app.
    I principali vantaggi delle applicazioni ibride sono:
      • Sviluppo veloce: le app ibride possono condividere un singolo codebase su più
        piattaforme riducendo notevolmente i tempi di sviluppo delle app.
      • Più conveniente: le app ibride sono più economiche rispetto alle app native in
        quanto richiedono lo sviluppo di una sola code-base. A differenza delle App native,
        per le quali le code base sono sono due, i costi potrebbero essere quasi dimezzati.
      • Maintenance più semplice: la manutenzione delle app ibride risulta più sem-
        plice in quanto queste App utilizzano una singola codebase.
      • Integrazione più facile con componenti native: essendo un’applicazione che
        gira direttamente sul sistema operativo, è più semplice integrarsi con le componenti
        hardware e software degli smartphone degli utenti.
[9]
   Analizzate le caratteristiche principali delle categorie di app è stato deciso, in accordo
con l’azienda, di sviluppare un’applicazione ibrida in modo da accelerare lo sviluppo
per entrambe le piattaforme mobile (Android ed iOS). Gli svantaggi di questo tipo di
approccio, come una minore responsività o un’user experience meno curata rispetto ad
un’applicazione nativa, sono trascurabili per l’obiettivo preposto.

2.2       Sviluppo di applicazioni cross-platform
A differenza di Android Studio, il quale permette lo sviluppo di applicazioni per Android,
e Xcode, per lo sviluppo di software per i sistemi macOS, iOS, iPadOS, watchOS e tvOS,
per lo sviluppo del progetto alla base di questo lavoro di tesi si utilizza un approccio
cross-platform, o multipiattaforma.
    Lo sviluppo cross-platform permette, a partire da un unico codice sorgente, di effet-
tuare la distribuzione dell’applicazione risultante per più SO, in particolare sia per iOS
che per Android.
    Si analizzano di seguito le varie tipologie di applicazioni e le principali piattaforme di
sviluppo cross-platform, al őne di comprendere le motivazioni alla base degli strumenti
di sviluppo scelti.
CAPITOLO 2. APPLICAZIONE IBRIDE                                      22

            Figura 2.1: Schema riassuntivo dei diversi tipi di app
CAPITOLO 2. APPLICAZIONE IBRIDE                                                           23

   I principali framework che permettono la programmazione multi-piattaforma sono:
   • React Native
   • Xamarin
   • Flutter
   • Ionic
Procedo con una rapida esamina di questi ambianti di sviluppo.

2.2.1    React Native
React Native è un framework open-source e gratuito creato da Facebook, la cui prima
versione è disponibile dal 2015. Il linguaggio di programmazione che utilizza è il Ja-
vaScript e all’occorrenza consente di scrivere alcuni componenti in Swift, Objective-C
o Java quando gli sviluppatori li richiedono; in questo modo le prestazioni fornite sono
molto simili alle applicazione, ma allo stesso tempo alcune parti del codice non potranno
essere riutilizzare tra le due piattaforme.
    I moduli React Native si associano ai controller nativi dell’interfaccia utente, il che
offre un’esperienza utente molto simile alle app native. Utilizza inoltre la libreria ReactJS
con ampi elementi dell’interfaccia utente e sempliőca lo sviluppo dell’interfaccia utente.
    La community di React è molto solida, la rete dei suoi sviluppatori è in rapida ascesa,
questo sempliőca molto lo sviluppo di un progetto potendo dunque contare su un’ottima
documentazione.
    Alcuni esempi di applicazioni sviluppare con React Native sono Facebook, Instagram,
Aribnb, UberEats. [10]

2.2.2    Xamarin
Xamarin nasce nel maggio 2011 e nel 2016 l’azienda viene acquistata da Microsoft che
rende poi tutti i prodotti Xamarin Studio gratuiti e open-source. Utilizza C# con am-
biente .net per sviluppare applicazioni Android, iOS e Mac; tutto ciò che può essere
realizzato con i linguaggi nativo può essere replicato in C# con Xamarin, uno svilup-
patore non può tuttavia utilizzare librerie open-source native per iOS e Android, ma è
presente una vasta varietà di librerie .net che coprono questi bisogni.
    Xamarin si compone di tre componenti principali:
   • Xamarin.Android: Basato su Mono, permette lo sviluppo di app Android tramite
     un wrapping delle API native in C#;
   • Xamarin.iOS: Basato sulla libreria proprietaria MonoTouch, offre pieno supporto
     allo sviluppo di app iOS tramite un wrapping delle API native in C#
CAPITOLO 2. APPLICAZIONE IBRIDE                                                           24

   • Xamarin.Forms: Si pone al di sopra dei precedenti componenti e permette la piena
     condivisione del codice

   Grazie a queste componenti è possibile gestire in C# tutte le caratteristiche di An-
droid e iOS, dall’interfaccia utente alle risorse hardware del dispositivo. Tale suddivisione
permette di gestire la UI attraverso elementi tipici delle singole piattaforme (grazie al
binding con le SDK native) e elementi deőniti in Xamarin.Forms nel caso di app cross-
platform in cui è necessario mostrare agli utenti una UI più familiare. Xamarin.Forms
permette inoltre di riutilizzare la quasi totalità del codice. [11]
   Tra le app sviluppate con Xamarin troviamo Olo, Alaska Airlines, The World Bank.

2.2.3    Flutter
Flutter nasce grazie a Google nel maggio del 2017 per la creazione di interfaccia native di
Android, iOS e web, nonché come metodo di sviluppo di applicazioni per Google Fuchsia.
   Flutter utilizza Dart, un linguaggio di programmazione molto recente che si basa su
C/C++ e Java e gode di numerosi vantaggi. Proprio per questi vantaggi Flutter è in
rapida crescita e si appresta a diventare leader del settore.
   Le prestazione delle app realizzate con Flutter sono le migliori rispetto agli altri
competitors, il vantaggio è dovuto proprio alla potenza del linguaggio Dart e oltre alle
prestazioni Flutter presenta anche le migliori interfacce utente. [10]
   Alcune tra le app sviluppate con questo framework sono Google Stadia, eBay, Grou-
pon, Alibaba e molte altre.

2.2.4    Ionic
Ionic è un SDK open source completo per lo sviluppo di applicazioni mobili ibride creato
da Max Lynch, Ben Sperry e Adam Bradley di Drifty Co. nel 2013.
    Tra i framework őnora citati è l’unica che utilizza un approccio differente per la
realizzazione di hybrid apps; mentre React Native, Flutter e Xamarin compilano le app
in maniera nativa, Ionic utilizza Cordova (o Capacitor) per eseguire la distribuzione
(deploy) in modo nativo sulle piattaforme Android, iOS e desktop o viene eseguito nel
browser come una Progressive Web App.
    I linguaggi di programmazione utilizzati in Ionic sono HTML5, CSS (o SCSS) e Ja-
vaScript (o TypeScript), il che offre il vantaggio essenziale di rendere le applicazioni
"universali", infatti le applicazioni funzioneranno ugualmente bene su qualunque siste-
ma operativa fornito (fatta eccezione per le componenti native inserite). Ionic inoltre
supporta l’integrazione con i framework più popolari come Angular, React e Vue.
    Le prestazioni sono inferiori rispetto ai concorrenti, ma rimangono comunque soddi-
sfacenti per applicazioni leggere.
Puoi anche leggere