Primi passi con il linguaggio HTML

In questa lezione muoviamo i primi passi con il linguaggio HTML e iniziamo a scrivere le prime righe di codice per creare un nuova pagina web.

HTML sta per Hypertext Markup Language, ovvero un linguaggio che fa uso di marcatori per descrivere gli elementi strutturali di una pagina.

Il termine markup o marcatura  era utilizzato in ambiente tipografico per marcare delle parti di testo su cui apportare correzioni e migliorie.

La tecnica di scrittura di un documento scritto in HTML è piuttosto simile e consiste nel contrassegnare gli elementi della pagina con dei marcatori che attribuiscono ulteriori informazioni ai contenuti.

Qualsiasi browser che interpreta il linguaggio HTML è perciò in grado di tradurre ogni singola linea di codice convertendola in un elemento strutturale della pagina.

Ipotizziamo di far leggere al browser il seguente codice:

<!DOCTYPE html>
<html>
  <head> 
    <title>Pagina Saluto</title> 
  </head> 
  <body> 
    <p>Ciao Mondo!</p> 
  </body> 
</html>

Osservate questo codice senza concentrarvi troppo sulla sintassi e andate alla ricerca di quelle parole o frasi che riuscite a capire. Questo piccolo esercizio può essere utile per permettervi di prendere visivamente confidenza  con una struttura HTML – seppure si tratta di una struttura molto minimal.

Avete trovato le frasi “Pagina Saluto” e “Ciao Mondo” nel codice? Effettivamente, ciò che ho scritto nello snippet in alto verrà interpretato dal browser come una pagina intitolata Pagina Saluto, con all’interno un paragrafo che dice:”Ciao Mondo!“.

In questa e nelle prossime lezioni, vedrete come arrivare gradualmente ad un risultato simile comprendendo esattamente il significato di ciascun elemento.

I tag HTML

Osservando il codice in alto con maggiore attenzione, possiamo notare la presenza di parole speciali circondate da parentesi angolari (es. <body>). Questo tipo di sintassi serve a definire gli elementi HTML attraverso l’utilizzo di speciali marcatori che chiamiamo tag.

I tag hanno lo scopo di descrivere la funzione strutturale e semantica dei contenuti, di modo che il browser possa capire se mostrare un paragrafo, un titolo, una lista, ecc…

Un elemento HTML è composto in genere da:

  1. tag di apertura
  2. contenuto del tag
  3. tag di chiusura

Un esempio di tag HTML che mostra un testo in formato titolo è:

<h1>Titolo di un paragrafo</h1>

Allo stesso modo possiamo specificare un tag che contenga del testo da inserire in un paragrafo in questo modo:

<p>Testo del paragrafo</p>

Ogni tag può specificare come proprio contenuto, altri tag. Come vedremo anche più avanti, questa tecnica di scrittura è molto intuitiva e garantisce un’ottima leggibilità.

<hgroup>
  <h1>Titolo</h1>
  <h2>Sottotitolo</h2>
</hgroup>

Quello che vedete nell’esempio è un tag HTML usato per la creazione di un gruppo di intestazioni (hgroup sta per heading group). Osserviamo che l’elemento <hgroup> ha al suo interno una coppia di tag che definiscono due titoli di formato diverso (il primo più grande, il secondo più piccolo).

Per il momento è bene non entrate troppo nel merito dei singoli tag, l’importante è che abbiate chiara l’idea di come si compone un elemento HTML. Prima di iniziare a prendere dimestichezza  con la sintassi…

Ricapitoliamo:

I contenuti di una pagina web sono espressi attraverso una serie di elementi standard contrassegnati da tag. Ciascun elemento mostra un certo contenuto o raggruppa una serie di altri elementi specificando un tag  di <apertura> e un tag di  </chiusura>.

Facciamo pratica con i tag HTML

Proviamo a creare i primi tag HTML andando su codepen.io, un sito molto comodo che ci permette di effettuare dei rapidi test. Dimentichiamo per un attimo la struttura che abbiamo visto all’inizio della lezione e cerchiamo di concentrarci solo sulla parte visibile della pagina, ovvero quella che normalmente va scritta all’interno dell’elemento <body>.

Selezioniamo dal menu la voce create e creiamo un nuovo pen. Questa schermata è l’equivalente di una pagina web vuota. I tre riquadri in alto fanno riferimento ai tre linguaggi che il browser legge ed interpreta per creare una pagina web (HTML, CSS, Javascript), mentre la schermata bianca in basso mostra un’anteprima della pagina che si aggiornerà ad ogni nostro cambiamento.

Mettiamo da parte le schermate CSS e Javascript e focalizziamoci sull’area di lavoro del codice HTML. Non ci resta che provare a scrivere subito qualcosa!

[immagine hello world]

Come vedete, codepen è piuttosto reattivo e mostra nella preview la copia di ciò che abbiamo digitato nel riquadro dell’HTML. Tutto sembra funzionare correttamente e il browser interpreta il nostro testo come contenuto puro, ovvero una stringa completamente priva di formattazione. Proviamo ora ad andare a capo e aggiungere altro testo.

[immagine hello creativecode]

Possiamo notare che in questo caso la risposta del browser nella preview non corrisponde esattamente a quanto abbiamo scritto nell’HTML, lasciando “Hello Creative Code!” sulla stessa riga di “Hello World!”. Questo accade perché ciò che abbiamo specificato nell’HTML oltre ad essere un contenuto senza formattazione, è anche privo di qualsiasi indicazione circa il layout che vorremmo avere. In questo caso abbiamo bisogno di un elemento che dica al browser di interrompere la riga e andare a capo. Il tag che svolge questo compito è il <br /> (break row).

Proviamo ad aggiungere l’interruzione di riga fra “Hello World!” e “Hello Creative Code”. In questo caso il browser interpreta correttamente la marcatura e stampa “Hello Creative Code” al rigo successivo.

Self-Closing Tag

Come potete notare, il <br /> viene specificato con un solo tag e non attraverso un’apertura ed una chiusura come abbiamo visto nella prima parte della lezione per <hgroup>, <h1> e <p>. Questo accade perché esistono degli elementi che non necessitano di alcun contenuto e che da soli hanno un valore  e un significato strutturale. I tag privi di contenuto prendono il nome di self-closing e sono scritti in questa forma: <tag />, oppure più semplicemente <tag>. Un altro esempio di self-closing tag è l’hr, un elemento che consente di tracciare una linea orizzontale per separare visivamente un testo da un altro.

Commentare il codice

Una pagina web piuttosto ricca può essere lunga diverse centinaia di righe di comando. Questa lunghezza può portare confusione e non permette una buona gestione della pagina nel corso del tempo.

Immaginate di dover riprendere dopo diverso tempo una pagina HTML di 1000 righe per correggere il percorso di un’immagine. Solitamente i designer inseriscono i commenti per tenere traccia delle modifiche, dei punti più importanti del documento o per descrivere la funzione di un particolare elemento. 

Inserire i commenti aiuta inoltre tutta la community a rendere leggibile il codice. Non dimenticate che l’HTML è un linguaggio open source! Lavorate affinché il vostro codice possa essere letto, interpretato e utilizzato come fonte di ispirazione anche da altri designer come voi.

<!-- Titolo del mio sito web -->
<h1>creativecode.it</h1>

<!-- Paragrafo principale -->
<p>Affina le tue capacità creative attraverso l’apprendimento delle tecnologie per il web.</p>

<!-- Paragrafo secondario -->
<p>Impara a progettare applicazioni interattive seguendo un approccio lineare, incentrato sul tuo reale apprendimento.</p>

Come potete osservare dall’esempio in alto, ho commentato il mio codice descrivendo la funzione dei singoli elementi HTML. Per scrivere un commento nel codice viene utilizzata questa sintassi: <!-- qui va il commento --> che non va ad incidere in alcun modo sul lato di visualizzazione del mio sito web.

Gli standard del Web

Nelle scorse lezioni avete imparato cosa c’è dietro internet e dietro un sito web, in questa lezione scoprirete chi decide quali sono gli standard ed i linguaggi per lo sviluppo web.

Internet è un’infrastruttura in costante evoluzione. Esiste una vasta community composta da varie organizzazioni che lavorano quotidianamente per decidere come dovrà essere in futuro la rete, cosa dovrà offrire e in che modo dovrà porsi rispetto agli utenti. Ciascun designer, sviluppatore o creativo, basa il proprio lavoro su una serie di linguaggi standardizzati. Tali standard sono frutto di varie evoluzioni che nell’arco degli anni si sono succedute per dar modo all’utenza di vivere internet sulla base delle necessità più comuni.

Breve storia dell’HTML

World Wide Web

La rete che conosciamo oggi nasce da un progetto iniziato negli anni Novanta da un noto ricercatore informatico di nome Tim Berners-Lee. Assieme al belga Robert Cailliau ha inventato il www: il “World Wide Web“,  ispirandosi ad un software di nome Enquire.

Enquire era un programma che si avvaleva di ipertesti e che aveva come obiettivo quello di consentire ai ricercatori di scambiarsi informazioni. Nel 1989, Tim Berners-Lee decise di adattare l’idea di Enquire ad Internet.

Il progetto HTML

Proprio in quel periodo il nostro Tim creò un linguaggio che permettesse di formattare dei documenti testuali con dei marcatori. Con questo linguaggio era possibile creare collegamenti fra testi, situati in server localizzati in punti lontani dal computer locale. L’idea era quella di navigare in una fitta rete di informazioni. Il linguaggio di cui stiamo parlando è l’Hypertext Markup Language (HTML).

Berners-Lee sottopose il progetto alla IETF (Internet Engeneering Task Force): un’organizzazione che, come tante altre, lavora per migliorare le potenzialità di internet attraverso dei gruppi di lavoro. A tal proposito, nacque l’HTML Working Group, un gruppo formato da tecnici, specialisti e ricercatori che lavoravano attivamente per sviluppare il progetto dell’HTML.

L’organizzazione denominata W3C (World Wide Web Consortium) istituita dallo stesso Berners-Lee, assorbì in poco tempo l’HTML Working Group, allo scopo di creare uno standard completo per le web technologies.

Nel corso di questi anni la w3c ha reso l’HTML il linguaggio fondamentale della rete, rilasciando nel corso degli anni vari sviluppi e versioni che hanno trasformato il modo di navigare in internet e di progettare i siti web.

La rivoluzione chiamata HTML5

Dopo anni di stallo, nel 2006 il vecchio Tim Barners-Lee si rese conto dell’importanza di un progetto fondato dai membri di Mozilla Firefox, Apple e Opera Software: il progetto denominato WHATWG.

La mission della WHATWG era quella di sviluppare e promuovere nuove tecnologie che potessero estendere le potenzialità del web. Berners-Lee propose dunque l’istituzione di un nuovo gruppo di lavoro alla W3C che avrebbe dovuto collaborare con la WHATWG. Assieme lavorarono ad una nuova, epocale specifica dell’HTML: un progetto chiamato HTML5, cioè l’attuale standard per lo sviluppo della struttura di un sito.

Affrontare le evoluzioni della rete

La W3C indica quali sono i linguaggi standard che sviluppatori e artisti potranno utilizzare per il loro progetto web.

Tenete ben presente che gli standard non sono immutabili e ciò che imparerete, un giorno, potrà essere messo in discussione. I bisogni dell’utenza evolvono e gli sviluppatori devono essere pronti alle grandi mutazioni che potranno essere apportate nel corso degli anni.

Il consiglio che posso darvi è di ricercare sempre le applicazioni moderne senza perdere mai la bussola del vostro apprendimento. Cercate di avere sempre e solo l’idea dell’orizzonte senza bruciare le tappe, perché sarà più facile arrivarci gradualmente. Studiare gli standard del web vi consentirà di avere una solida base per le sperimentazioni del futuro.

Nella prossima lezione inizieremo finalmente a sporcarci le mani con il codice HTML e capirete come creare correttamente i primi elementi di una pagina web.

Vedere il codice di un sito web

Vedere il codice di un sito web è una delle pratiche più comuni fra i designer. Tutti i browser moderni offrono la possibilità di analizzare la struttura di una pagina web in due modi: dal codice sorgente o attraverso i Developer Tools.

Vedere il codice di un sito attraverso la sorgente della pagina

Proviamo ad andare sul sito creativecode.it…
A questo punto, come avete avuto modo di vedere nelle scorse lezioni, il server ci invia una serie di files HTML, CSS e Javascript.

Man mano che il browser scarica dati dal server, andrà a montare la struttura del documento HTML assieme al foglio di stile ed i vari script. Al termine del processo vedremo il rendering completo della pagina.

A questo punto, possiamo decidere di visualizzare tutto il codice che compone la homepage.

  • Clicchiamo con il tasto destro del mouse su un punto qualsiasi della pagina;
  • Selezioniamo la voce “Visualizza sorgente pagina” (CTRL + U);

La finestra che si aprirà corrisponde letteralmente alla radiografia della pagina web. Testi, immagini, video, bottoni, form e tutto quello che possiamo trovare navigando in una pagina, deve essere scritto qui.

  • Cerchiamo nel codice il titolo della guida che è in evidenza su Creative Code attivando la funzione di ricerca del Browser con CTRL+F;

Chrome ci evidenzia in giallo la stringa ricercata. Questa stringa, nel contesto del codice, non è nient’altro che il contenuto di un elemento HTML che descrive il formato di un titolo.

Anche se analizzeremo nelle prossime lezioni la sintassi degli elementi HTML, possiamo già osservarne la forma attraverso i Developer Tools

Vedere il codice di un sito con l’ispeziona elemento di Google

I Developer Tools sono gli strumenti che gli sviluppatori utilizzano in fase di implementazione di un sito web.

Accediamo alla Chrome Developer Tools facendo nuovamente click con il tasto destro del mouse sulla pagina e selezioniamo questa volta l’opzione Ispeziona.

Quello che appare in basso è il pannello degli elementi della Developer Tools. Possiamo notare fin da subito delle affinità con la scheda che ci mostrava il codice sorgente della pagina.

Se proviamo a portare il cursore su alcune righe di codice, possiamo riscontrare tuttavia delle differenze con la visualizzazione cruda e scarna del codice sorgente. In base alla riga evidenziata con il passaggio del mouse, il browser mostra un riquadro nella pagina che è relativo al contenuto descritto da quella porzione di codice.

Vedere il codice di un sito web attraverso questo sistema è una necessità per i designer, perché permette di analizzare attentamente il sito e di effettuare delle prove di editing che accelerano il flusso di lavoro.

Developer Tools: Il Cursore di Selezione

Possiamo vedere il codice di un sito dalla developer tools in modo ancora più efficiente, utilizzando l’apposito cursore di selezione. Questo speciale cursore può essere attivato facendo click sulla prima icona a sinistra del pannello. Con questo strumento non facciamo altro che invertire la funzione del mouse in modo da poter evidenziare l’elemento dalla pagina alla relativa riga di codice.

Editare il contenuto dalla Developer Tools

Adesso non ci resta che provare a modificare la pagina a nostro piacimento! Selezioniamo il titolo di una guida sul sito di Creative Code di modo che il browser possa mostrarci la relativa riga di codice. A questo punto possiamo modificare il contenuto di questo elemento facendo doppio click sul titolo mostrato nella finestra dei Developer Tools.

[immagine]

Come vedete, adesso siete liberi di modificare il titolo originale della guida. Non dimenticate di millantare cotale prodezza mostrando il risultato ad amici e parenti, rimarranno quasi sicuramente shockati da ciò che hanno appena visto! 😀

Ovviamente non è cosi semplice modificare i contenuti di una pagina. 😛 Sapreste spiegare il perché? Pesateci per un attimo, non è così strano se si conosce il reale funzionamento di un sito web.

Ci siete arrivati?

È abbastanza scontato, non possiamo pensare che questo genere di intervento sul codice possa realmente influire nella versione reale del sito fintanto che le modifiche sono state effettuate dal browser e quindi lato client.  Perciò, pur essendo liberi di manipolare i dati in nostro possesso, non possiamo inviare tali modifiche al server.

Ciò che vediamo nel browser, effettivamente, non è che una copia di dati scaricati dal server e montati nel nostro browser. Dalla nostra finestra siamo liberi di fare ciò che vogliamo con il sito web perché tutte le modifiche che possiamo fare saranno visibili solo nella nostra copia del sito.

Tutta la magia svanirà quando invieremo una nuova richiesta al server, aggiornando la pagina. Le nostre modifiche saranno perse e… il trucco svelato (shh, potete anche non dirlo a nessuno).

Nella prossima lezione parleremo del linguaggio HTML e scopriremo le evoluzioni che ha compiuto nell’arco degli anni, allo scopo di conoscere le figure e le organizzazioni principali che dettano la linea su come deve o dovrà essere internet. 

Da cosa è composta una pagina web

In questo articolo vedremo da cosa è composta una pagina web, così che possiate conoscere i linguaggi da imparare per sviluppare un sito web da zero.

Cosa scarichiamo dai server dopo la richiesta?

Come abbiamo visto nell’articolo precedente, i dati fondamentali che scarichiamo dal server sono di tre tipologie: HTML, CSS, Javascript.

Il documento scritto secondo lo standard HTML5 rappresenta il file più importante di un sito. Senza di esso infatti, non è possibile dar luogo ad alcuna pagina web perché sarebbe priva della struttura che permette la visualizzazione dei contenuti nel browser.

HTML: Cosa deve contenere il sito web?

L’HTML è il documento chiave di un sito web ed è il responsabile della struttura. Attraverso di esso creiamo i reparti e i contenuti del nostro spazio sulla rete. Con l’HTML possiamo definire testi, immagini, audio e video all’interno di spazi o blocchi visualizzabili attraverso il browser. Possiamo inoltre creare relazioni fra questi elementi attraverso l’inclusione di bottoni e link ipertestuali che ci permettono di navigare fra i vari contenuti o le diverse pagine.

Tutti gli elementi di cui abbiamo bisogno, li definiamo quindi nel documento HTML.

CSS: Come deve essere il sito web?

Il CSS è responsabile dello stile di una pagina. Immaginando di aver già creato la struttura HTML del sito web, la prima cosa che vorrete fare sarà senz’altro rendere maggiormente presentabili i vostri contenuti. Questo passaggio è possibile collegando le pagine HTML con i fogli di stile CSS, che consistono grossomodo in un lungo elenco di istruzioni utili a definire gli elementi stilistici della pagina. Attraverso i CSS includiamo le fonts, realizziamo il layout della pagina e formattiamo i contenuti consentendo  la totale accessibilità delle informazioni sui diversi dispositivi (desktop, tablet, mobile, smartwatch, ecc…).

Javascript: Cosa deve fare il sito web?

Il Javascript è responsabile della maggior parte dei sistemi interattivi di un sito web ed è la parte più avvincente quando si studia programmazione. Immaginiamo il Javascript come l’addetto alla gestione di tutti quei sistemi e componenti che rispondono a dei segnali per dar luogo degli effetti. Il Javascript permette ad un sito web di essere avanzato dal punto di vista interattivo. Pensiamo ad un e-commerce che ad ogni click effettuato sul bottone “Aggiungi”, aggiornerà la lista della spesa mostrandoci il totale nella sidebar del carrello, oppure immaginiamo l’astronave di Arkanoid che si sposterà lungo l’asse x dello schermo attraverso il movimento del mouse.

Questo è tutto! Un sito web completo è composto da nient’altro che questi tre elementi. In questa guida ci concentreremo molto sugli aspetti relativi all’HTML e non affronteremo gli altri due linguaggi che saranno oggetto delle prossime guide

A questo punto avete bisogno di prendere confidenza con il linguaggio. Vi consiglio di non gettarvi subito a capofitto nel coding ma cominciando ad osservare una pagina web sbirciando il codice sorgente o facendo uso degli strumenti speciali che il browser mette a disposizione degli sviluppatori, come vedremo nei prossimi articoli.