Provando a fare un PDF progweb.pdf
APP
Un APP è un’applicazione che utilizziamo sui nostri dispositivi, ne esistono di diversi tipi:
- Desktop APP: Vengono eseguite sui sistemi operativi dei computer. Spesso richiedono un’installazione.
- Mobile APP: Vengono eseguite sui sistemi operativi dei dispositivi mobili. Hanno bisogno di un’installazione e si dividono in altri due sottotipi:
- Native APP: Sono state scritte in un linguaggio nativo per quel sistema operativo come ad esempio Kotlin → Android oppure Swift → iOS.
- Hybrid APP: Scritte usando tecnologie web cross-compiled per diversi sistemi operativi.
- Web APP: Vengono eseguiti sui browser web quindi abbiamo bisogno di una connessione ad internet.
- Single Page Application: Una web app che aggiorna i dati presenti in una pagina quando questi vengono aggiornati in un server.
- Progressive Web App: Una web app che può essere installata sul dispositivo tramite la cache del browser web rendendola accessibile anche offline o quando siamo con una connessione internet debole.
Web Application
Il codice di un’applicazione web viene eseguito in diversi “posti”:
- Il codice della logica locale, come ad esempio la validazione di alcuni dati o in generale piccole elaborazioni e quello dell’interfaccia grafica vengono eseguiti nel browser web.
- La logica dell’applicazione quindi elaborazioni più pesanti e anche il Database Management System vengono eseguiti su un server.
Infatti possiamo dividere un web app in due parti:
- Front-end: Comprende la UI e in generale quello che riguarda i client. Si utilizzano principalmente linguaggi come HTML, CSS, Javascript e Asynchronous request (AJAX)
- Back-end: Comprende quello che viene eseguito sul server e in generale la logica dell’applicazione. Di solito comprende quindi delle API, uno storage e un DBMS. Principalmente vengono usati linguaggi come PHP, Python, C#, Java, Go… Noi nel corso approfondiremo Go.
Le API sono un’interfaccia che permette la comunicazione tra il backend e il frontend (tra browser e server).