Con questo articolo scoprirai 3 parole legate al mondo delle applicazioni. Sei pronto ad avventurarti nel nostro dizionario digitale? Allora continua a leggere che ti aiutiamo noi!
Il contesto
In Italia nell’ultimo anno abbiamo assistito a un’ accelerazione della Transizione Digitale con il governo dell’ex Premier Draghi. Obiettivi come la digitalizzazione della pubblica amministrazione, agevolazioni fiscali come i bonus per la Transizione 4.0 e i Voucher Digitalizzazione 2022 hanno portato con sé dubbi e difficoltà, dovuti a una mancata cultura del digitale. Scommetto che termini come back-up, front end o cookie usano farti sentire fuori dal mondo. Ti incuriosiscono, ma sia per la nuova materia, l’idioma inglese, oppure per le tante K invece assenti nella lingua italiana, ti tiri indietro, pensando di non essere capace di comprenderle.
Ma anche tu puoi farcela, proprio come ho fatto io, senza alcuno studio in campo informatico. Cercherò solo di renderti la pillola più digeribile utilizzando incredibili esempi, con cui spero di rendere il tuo vocabolario un po’ più digital.
Oggi parliamo di:
-
Definizione di app nativa
-
Che cosa è il Beta Testing
-
Significato API
Ma come, NON HAI MAI SENTITO QUESTE 3 PAROLE ? Allora devi assolutamente rimediare se non vuoi perderti nel labirinto della digitalizzazione. Scopri queste 3 parole del mondo “app” in maniera semplicissima e in pochi minuti leggendo il nostro DIZIONARIO DIGITALE!
Definizione di App Nativa
Con app nativa si intende un’applicazione che non si appoggia ad un sito web. In altre parole non è necessario inserire un URL per accedervi, ma basta cliccare sull’icona nella home del nostro cellulare una volta che essa è stata scaricata. Fin qua ci siamo no? La principale caratteristica dell’app nativa è che è specifica per il Sistema Operativo di riferimento, ma cerchiamo di capire meglio con un semplice esempio.
Voglio acquistare un prodotto online e ho trovato un rivenditore egiziano e uno ungherese, ma ho delle domande da sottoporre ai commercianti. Potrei scrivere ad entrambi in ungherese, ma solo uno capirebbe e potrebbe rispondere, stessa cosa accadrebbe scrivendo in arabo. Ho un amico egiziano e la mia vicina è originaria dell’Ungheria, così spendo un po’ di tempo in più prima di scrivere un’email ai commercianti, per farla tradurre ai miei aiutanti nella loro lingua d’origine e poi spedirla. Avrò così la certezza che i rivenditori capiranno subito le mie domande. Risponderanno accuratamente e velocemente e io otterrò un risultato migliore per valutare l’acquisto più conveniente. Avrei potuto comunicare con entrambi in inglese certo, ma avrebbero impiegato più tempo a capire, magari interpretando male le mie domande o dandomi risposte errate.
Che linguaggio usano le app native?
L’app nativa, se destinata ad Android, deve essere scritta in un linguaggio specifico (solitamente Java) e in uno differente se destinata ad iOS. Anche se inizialmente il tempo impiegato per scrivere con linguaggi diversi, e quindi con esperti talvolta diversi, la stessa app, il risultato sarà il migliore. Essendo codificata per quel sistema operativo potrà sfruttarne i vantaggi e le peculiarità, non ci saranno problemi di definizione delle immagini o delle icone, e il layout (ovvero l’impaginazione attraverso lo schermo) sarà ottimizzato per il cellulare che possediamo. Vogliamo parlare della velocità? Come il rivenditore egiziano comprenderà subito le domande in lingua araba così il nuovo iPhone 14 caricherà in pochissimi secondi l’app scritta per iOS, così un dispositivo Android. Le app web (quindi qualsiasi sito che si raggiunga tramite URL, cercandolo su Google) rispondono “in inglese”, cioè indifferentemente dal Sistema Operativo del nostro smartphone. Questo comporta bug, un caricamento molto più lento e possibili problemi con la formattazione di testo e immagini. Un plus dell’app nativa è che, essendo installata sul cellulare, può ottenere dall’utente i permessi per accedere direttamente a funzionalità specifiche del dispositivo quali fotocamera, notifiche push o la tecnologia NFC.
Che cosa è il Beta Testing?
Fare Beta Testing: dietro questa pratica occulta e misteriosa si cela una solida realtà quotidiana nota fin dall’antichità.
La seconda delle 3 parole del mondo delle app porta con sé un esempio ambientato in una palazzina torinese anni 70, con variopinta carta da parati, che niente aveva in comune con il divano o la tappezzeria. La signora con la cofana cotonata si chiama Linda e sta facendo beta testing da una settimana. Sta ingozzando i figli e il marito di anatra all’arancia da giovedì scorso, quando ha saputo che il coniuge avrebbe invitato il capo della sua azienda con la consorte a cena, per discutere della promozione. Dopo una lunga discussione con le amiche dalla parrucchiera di fiducia ha deciso di preparare questa prelibatezza per l’importante coppia di ospiti. Una volta a casa, però, si è ricordata di non aver mai preparato questa pietanza.
E allora come faccio?- si è detta Linda. Ha cercato in ogni edicola il ricettario che contenesse “Anatra all’Arancia” e da una settimana passa il pomeriggio a cucinare ed osservare con religiosa cura ogni fase della ricetta. Ogni sera, tra i sospiri del marito e gli sbuffi dei bambini, cerca disperatamente un feedback dalla famiglia, per eliminare quell’eccessiva punta acida o sapere se l’anatra è ancora troppo asciutta. Per la cena deve essere tutto perfetto, ma ,dopo una settimana di rodaggio e preparazione, Linda sa che la sua anatra all’arancia sarà un successo una volta sfornata. Tutto questo grazie alla lunga osservazione durata 7 giorni e alle opinioni severe della famiglia.
Cosa significa fare Beta testing, quindi?
Fare Beta Testing significa proprio questo: mettere “sul mercato” l’applicazione in stadio preliminare per vedere, una volta scaricata da un significativo numero di utenti, quali sono i bug, quali cose migliorare, conoscere cosa ne pensano i primi fruitori. Si esegue questa pratica affinché gli sviluppatori capiscano, una volta che l’applicazione sarà scaricata su larga scala, quali problemi incontreranno: ad esempio un caricamento troppo lento o un bacino di utenza smisurato alla potenza dell’applicazione. Ci si può perfino accorgere che fino a 5000 utenti l’app riesce a funzionare, ma superata questa soglia si assiste a un “crash” automatico, ovvero una chiusura inaspettata della stessa. Il Beta Testing è quindi una fase dello sviluppo sempre esistita per qualsiasi tipo di app, software o sito web.
Significato API
API: Application Programming Interface. Interfacce software che permettono la comunicazione tra app o altri software, ma per rendere tutto più semplice e veloce creiamo un esempio a partire dalle applicazioni native.
Inventiamoci ora l’app “IoMedico”, un’app che pazienti che devono eseguire una visita dal Dott. Colonna possono utilizzare per prenotare una visita. Melissa si è svegliata con delle macchie rosse così apre IoMedico. L’app apre gli occhi, è una bella giornata ma Melissa l’ha svegliata. IoMedico così inizia a capire cosa vuole fare la sua utente.
-Vediamo: vuole prenotare una visita dal Dott. Colonna domani alle 10:30. Ok, mando subito il messaggio tramite il corriere API Velox.-
Giovanni, lo sviluppatore di IoMedico l’ha programmata affinché, ogni qual volta che ricevesse l’ordine di prenotare una visita, spedisse questo messaggio al servizio che il Dott. Colonna usa per le prenotazioni, ad esempio Google Calendar. Il corriere virtuale che abbiamo chiamato API Velox arriva, fa una strada super veloce, determinata dal suo creatore e che in un batter d’occhio prende il messaggio di IoMedico, lo porta a Google Calendar e poi riporta a IoMedico se è riuscito a consegnare il messaggio al destinatario. Magari Google Calendar era con Gmail a prendersi un caffè e API Velox non ha potuto recapitargli la segnalazione. In questo caso l’app è tenuta a dare a Melissa un messaggio tipo: Invio della prenotazione non riuscito. Ci scusiamo ma Google Calendar è sempre in giro e ti preghiamo di riprovare più tardi. Se invece Google Calendar era a casa IoMedico scriverà a Melissa: Prenotazione avvenuta, ma io volevo dormire un altro po’. Melissa nel frattempo non è mai uscita dall’applicazione mobile, questo perché non è stata IoMedico a recapitare il messaggio a Google, ma ha incaricato il “corriere” API.
La funzione delle API
Le API sono quindi messaggere, corrieri con percorsi prestabiliti che mandano qualsiasi tipo di messaggio (prendi questo appuntamento, ordina il kebab, acquista queste cuffiette…). Le strade che percorrono, fatte di URL e non di cemento, possono essere create dallo sviluppatore dell’app stessa (il Giovanni di IoMedico) Possono essere anche acquistate in pacchetti sicuri e testati, con una manutenzione curata da specifici addetti, da molte software-house. In seguito si andranno a integrare i pacchetti nel codice dell’applicazione. La creazione di un nuovo percorso API, oltre ad essere complessa e costosa per tempo e manodopera, è spesso una strada non sicura, che non garantisce la continua manutenzione e gli aggiornamenti di cyber security di cui un’API necessita. Essendo strade che si fanno spazio nel mare dell’internet è facile imbattersi in pirati, come attacchi hacker di cui poi gli utenti pagano le spese. Per questo nel mercato si stanno affacciando sempre più aziende sviluppatrici specifiche di API, che oltre al loro sviluppo si occupano dei bug e della sicurezza. Un’ API efficiente, consolidata, con un team di professionisti alle spalle e già integrata in varie applicazioni è quindi molto più sicura di un’API scritta da un singolo sviluppatore, anche se a prezzo inferiore.
Bene, come è andata? Spero di aver chiarito ogni dubbio e averti alleggerito un po’ il peso di questi termini. Scopri altre 3 parole legate al mondo delle app nelle prossime rubriche del nostro dizionario digitale. Puoi inoltre votare o commentare sul nostro profilo Instagram le parole che ti piacerebbe approfondire in articoli come questo. Potrai anche scoprire il significato di Marketplace, Cloud e Cache Memory in 1 minuto nel primo video di “Digitale, ma Terrestre“. Corri a guardarlo!