Introduzione

Pcrogrammare per il web significa scrivere almeno due applicazioni: una chiamata client e una chiamata server le quali, comunicando tra loro, producono un'applicazione web. Bisogna quindi imparare a programmare sia un'applicazione client sia un'applicazione server. 

La programmazione web lato client ha il suo cardine nel web Browser.

Il Browser è infatti una potentissima applicazione client che noi possiamo usare per interagire con l'utente. 

Scrivere codice per il Browser comporta la conoscenza di molteplici linguaggi, ognuno con determinate caratteristiche.: HTML, CSS e JavaScript.

Architettura Client-server

Un server è:
  • Un programma che rimane in ascolto su una porta (punto di accesso)
  • Quando arriva una richiesta da un client, il server analizza questa richiesta (eventualmente con l’aiuto di altri programmi), elabora una risposta (anche in questo caso, eventualmente con l’aiuto di altri programmi ) e la invia al client.
  • Un server, generalmente, serve più client contemporaneamente
Il client è:
  • un programma che si connette ad un server, fa una richiesta ed aspetta una risposta.
  • quando la risposta arriva la elabora.

Pagine statiche e pagine dinamiche

Quando ci connettiamo ad una risorsa in rete, identificata da un URL:

  • Nel caso più semplice rappresenta l'indirizzo di una pagina (generalmente scritta in HTML) il cui contenuto è fisso (Pagina STATICA);
  • Nella maggior parte dei casi, l'URL punta all'indirizzo di una pagina “dinamica” il cui contenuto viene generato (selezionato, composto) al momento della richiesta e/o elaborato al ricevimento;

Nelle pagine Web "dinamiche" il contenuto viene generato (selezionato,composto) al momento della richiesta o della visualizzazione

  • Pagine Web che vengono rese dinamiche con programmazione client-side
  • Pagine Web  dinamiche che utilizzano programmazione server-side
  • Pagine Web  dinamiche (la maggior parte) che utilizzano il concorso di entrambe le tecnologie.

Che cosa è javascript

  • Script in inglese significa "copione" o "sceneggiatura",.
  • Il browser legge una riga, la interpreta e la esegue, poi passa alla successiva e fa la stessa cosa, e così di seguito fino alla fine dello script.
  • Javascript è un linguaggio interpretato
  • L’interprete utilizzato per eseguirlo è il browser
  • è un linguaggio debolmente (o dinamicamente) tipizzato
  • è in grado di reagire agli eventi.
    • Normalmente si scrive codice JavaScript da eseguire quando una pagina web ha terminato il caricamento, oppure quando un utente fa click su un determinato elemento HTML
  • è in grado di leggere e scrivere gli elementi HTML.
    • Tramite JavaScript è possibile modificare la struttura del documento HTML in tempo reale, senza interagire con il server
  • può essere utilizzato per convalidare i dati inseriti dall'utente prima di inviarli al server. 
  • può essere utilizzato per avere informazioni sul Browser del visitatore.
    • In questo modo possiamo decidere come comportarci a seconda del Browser che sta leggendo la pagina
  • può essere utilizzato per creare i cookie e quindi archiviare e recuperare informazioni sul computer del visitatore.