Introduzione alla progettazione e allo sviluppo di app(licazioni) online e offline

Il dizionario Treccani definisce il termine applicazione in informatica come "un programma software, destinato a un utente finale, così chiamato perché possiede appunto un'applicazione pratica per chi lo utilizza". Un programma, cioè, che si distingue dai programmi di base (i sistemi operativi  che garantiscono le funzionalità di base di PC, tablet, smatphone, smart TV, ecc) in quanto il suo obbiettivo è quello di offrire all'utente un'interfaccia il più possibile immediata per aiutarlo a risolvere un problema concreto. Spesso pensiamo alle app come programmi specifici installati sul nostro dispositivo. Se però, riflettiamo su come utilizziamo le pagine web che ci servono per collegarci ad un social o alla nostra banca ci accorgiamo che abbiamo a che fare con programmi altrettanto complessi e utili, vere e proprie applicazioni web che utilizziamo grazie al nostro browser.

È quindi naturale che la tecnologia che sta alla base dello sviluppo di pagine web (cioè i linguaggi HTML, CSS e JavaScript) viene sempre più utilizzata anche per creazioni di applicazioni offline.

In particolare esistono piattaforme di sviluppo, come, ad esempio la piattaforma open source Cordova, che utilizzano questi strumenti di sviluppo per creare applicazioni native che possono girare su Apple IOS, Andoid e Windows Phone. L'obiettivo di Sistemi Interattivi I è introdurvi all'usa di HTML e CSS per la creazione di interfacce di app e di darvi i primi rudimenti di Javascript con la realizzazione di semplici programmi che vengono fatte funzionare nel browser. In Sistemi Interattivi II utilizzerete queste conoscenze per realizzare applicazioni per dispositivi mobili.

Sintesi del programma

1. Che cosa è una app(licazione)

Breve introduzione all'informatica. Struttura di base di una applicazione: interfaccia utente, elaborazione, recupero e memorizzazione dei dati.

2. La codifica dei dati

Trasformazione delle informazioni in dati. Perchè si usano i numeri in formato binario e esadecimale. Esempi di codifica dei dati: il testo, numeri interi e razionali, le immagini, immagini vettoriali. La compressione dei dati.

2. Come funziona Internet

Introduzione a Internet. Struttura Client-Server e funzione dei linguaggi legati al Web: HTML, CSS e JavaScript). 

3. HTML

HyperText Markup Language ("Linguaggio a marcatori per gli Ipertesti"). Tag, elementi e atributi. Entity. Struttura della pagina HTML: pprologo, head e body

4. CSS

I fogli di stile. Progettazione WEB e concetto di accessibilità. Tecniche responsive. Il concetto di pixel-ratio. Fogli di stile collegati e incorporati. Regole di stile in linea. La regola di stile. Principali tipi di selettore. Principali proprietà CSS. Il BOX MODEL. Layout di tipo Flex

5. Javascript

Javascript è un linguaggio di programmazione. Linguaggi compilati e linguaggi interpretati. Cosa può fare Javascript. Come inserire Javascript in una pagina web. L'output di un programma javascript. 

Variabili e titpi di dati. Operatori ed espressioni. Le funzioni. Le strutture if...else, while e for. Il Browser Object Model e il Document Object Model. Utilizzo degli oggetti per memorizzare e recuperare dati. Cenno al concetto di classe: la proprietà prototype.

Software

Il corso si occupa di linguaggi di sviluppo. Il principale software di cui avremo bisogno, quindi, è un editor di testo orientato alla scrittura di codice. Il mondo opensource ne offre parecchi, tutti di ottima qualità. Chi ha avuto già esperienze nel modo del coding può tranquillamente continuare ad usare l'editor che ha usato. Io a lezioni utilizzereo Visual Studio Code che oggi è uno degli editor più usati.

Sito di visual studio Code

Testi consigliati

haverbeke david - javascript

JAVASCRIPT

GUIDA COMPLETA PER LO SVILUPPATORE

PREFAZIONE

JavaScript è il motore di quasi tutte le applicazioni web più moderne, dalle app social ai giochi per browser più all'avanguardia. Facile da usare, anche per i principianti, JavaScript è tuttavia un linguaggio flessibile e complesso, che consente di realizzare applicazioni davvero potenti. Questa guida completa a JavaScript scava nel profondo del linguaggio per mostrare come scrivere un codice elegante ed efficiente. L'autore vi guida fin dall'inizio con esempi, esercizi e interi capitoli su progetti specifici, facendovi fare esperienza sulla realizzazione di programmi completi. L'opera riflette lo stato attuale di JavaScript e dei browser web, ed è arricchita di nuovi materiali, come un capitolo dedicato al rendimento del codice in JavaScript e una descrizione dettagliata di concetti come la ricorsività e le chiusure. Tutti i sorgenti sono disponibili online in uno spazio protetto interattivo, dove è possibile modificare, eseguire e verificare istantaneamente i risultati del codice.

SINOSSI

JavaScript è il motore di quasi tutte le applicazioni Web più moderne, dalle app sociali ai giochi per browser più all'avanguardia. Facile da usare, anche per i principianti, JavaScript è tuttavia un linguaggio flessibile e complesso, che consente di realizzare applicazioni potenti.
Questa guida completa a JavaScript scava nel profondo del linguaggio per mostrare come scrivere un codice elegante ed efficiente. L'autore guida fin dall'inizio con esempi di codice, esercizi e interi capitoli su progetti specifici, facendo fare esperienza sulla realizzazione di programmi completi.
Questa edizione, interamente rivista e modernizzata, riflette lo stato attuale di JavaScript e dei browser Web, ed è arricchita di materiali nuovi, come un capitolo dedicato al rendimento del codice in JavaScript e una descrizione dettagliata di concetti come la ricorsività e le chiusure. Tutto il codice sorgente è disponibile sul Web in uno spazio protetto interattivo, dove è possibile modificare, eseguire e verificare istantaneamente i risultati del codice.

AUTORE

Marijn Haverbeke è un autore e programmatore indipendente, che si interessa principalmente di linguaggi di programmazione e strumenti per sviluppatori. Passa gran parte del suo tempo a lavorare su software open source, tra cui l'editor CodeMirror e il motore di inferenza di tipo Tern.

 


duckett jon - javascript & jquery

JAVASCRIPT & JQUERY

Sviluppare interfacce web interattive

 

SINOSSI

Un modo nuovo e più bello per imparare JavaScript e jQuery. Questo libro è dedicato il chi non conosce JavaScript, a chi non ha esperienze di programmazione e a chi si è limitato copiare e incollare degli script senza avere idea di come realmente funzionino. L'obiettivo è imparare a leggere e scrivere codice JavaScript ma anche comprendere le basi teoriche della programmazione. Tutto questo attraverso un approccio visuale che aiuta a semplificare anche i concetti più complicati. Unico requisito necessario è la conoscenza di HTML e CSS. Pagina dopo pagina il lettore scopre come funziona JavaScript, come personalizzare script e come crearne da zero, ma impara anche a sfruttare le potenzialità di jQuery e le più popolari tecniche di sviluppo per migliorare I'interattività e I'usabilità dei siti web. II testo è ricco di esempi che mostrano l'uso di semplici funzionalità JavaScript fino alle possibilità più evolute per controllare qualsiasi elemento di una pagina web con jQuery, le API e Ajax. In breve il lettore inizia a pensare come un programmatore.


duckett jon - javascript & jquery

CODIFICA E COMPRESSIONE DELLE INFORMAZIONI

Dispensa scaricabile gratuitamente

SINOSSI

La codifica delle informazioni può rendere omogenea la rappresentazione e l’elaborazione di informazioni di natura diversa (suoni, immagini, testi, numeri) e renderli disponibili per l’elaborazione automatica. 

Informatica significa informazione automatica. Più in particolare diciamo che l’informatica è quella disciplina che studia l’elaborazione automatica delle informazioni. Condizione prima perché le informazioni possano essere elaborate e che vengano codificate in un linguaggio convenzionale che l’informatica possa elaborare.


duckett jon - javascript & jquery

PROGRAMMARE PER IL WEB LATO CLIENT

Dispensa scaricabile gratuitamente

SINOSSI

Il libro illustra come sia possibile realizzare una completa applicazione web scrivendo codice valido su qualsiasi browser. Scrivere codice per il browser comporta la conoscenza di molteplici linguaggi, ognuno con determinate caratteristiche. Il libro fornisce una visione di insieme di tali linguaggi soffermandosi in modo dettagliato su quelli che sono assolutamente necessari: HTML, CSS e JavaScript.

La prima parte del libro è dedicata completamente alle tecnologie necessarie per produrre pagine web fruibili da chiunque e su qualunque dispositivo: HTML e CSS. Le due tecnologie vengono trattate in modo specifico sia nelle versioni attuali (HTML 4 e CSS 2) sia nelle versioni in fase di definizione (HTML 5 e CSS 3) con numerosi esempi e spiegazioni. 

L'ultima parte del libro si concentra sui linguaggi di scripting, con particolare attenzione riservata a javascript, alle sue tante librerie e ai suoi diversi utilizzi come jquery e ajax. Insomma, un cammino totale nel mondo della programmazione web lato client!