2.08
Introduzione al Linguaggio di Mark Up Alla Base di Internet
HTML, abbreviazione di Linguaggio di Marcatura IperTestuale, rappresenta un sistema di segnatura e non costituisce un linguaggio di programmazione. Al contrario, assume il ruolo di un linguaggio di formattazione, atto a definire la disposizione degli elementi all’interno di una pagina.
Tali direttive vengono comunicate mediante particolari indicatori noti come etichette o tag. Un tratto distintivo di questi tag è la loro inclusione all’interno di parentesi angolari, ad esempio, <img> rappresenta il segnale per un’immagine.
« Non ho mai previsto che il codice sorgente di HTML (cioè la roba con le parentesi angolate) fosse visibile agli utenti. Un browser/editor avrebbe fatto vedere o editare all’utente soltanto il linguaggio di una pagina di ipertesto, come se stesse usando un word processor. Per me, e credevo anche per gli altri, l’idea di chiedere al pubblico di battere a mano le parentesi era inaccettabile quanto chiedere a qualcuno di scrivere un documento in Microsoft Word stendendo il formato in codice binario. Ma la leggibilità dell’HTML si rivelò una manna inaspettata. Con mia grande sorpresa molte persone si familiarizzarono alla svelta con i tag, e iniziarono a scrivere direttamente propri documenti in HTML »(Tim Berners Lee)
Attraverso l’utilizzo di HTML, segnatamente tramite i tag, è possibile determinare quali elementi devono essere visualizzati su uno schermo e la loro disposizione. Queste specifiche trovano collocazione all’interno di un documento HTML, comunemente noto come “Pagina HTML”. Questa pagina HTML si presenta sotto forma di un file di testo, ossia un file suscettibile di essere modificato con software come Notepad e di solito porta un’estensione .html.
Ciò implica che HTML non integra i costrutti tipici della programmazione, come i meccanismi “condizionali” che consentono di adottare differenti azioni in base a condizioni specifiche (“in questa situazione, esegui questa azione, in un’altra, svolgi quest’altra attività”), o i costrutti iterativi (“ripeti questa operazione finché si verifica questa condizione”).
Tale situazione comporta l’applicazione di un linguaggio dichiarativo, il cui obiettivo primario è precisamente indicare cosa deve comparire sullo schermo, come testi, immagini, suoni, eccetera, e la loro sequenza. In contrasto, nei linguaggi che implicano la specifica di algoritmi dettagliati tramite “strutture di controllo”, quali C, C++, Java, nonché PHP e JavaScript, ci si riferisce ai “linguaggi imperativi”.
HTML, ma anche CSS e Javascript
HTML, CSS e JavaScript sono tre componenti essenziali nel contesto del web design, ognuno con ruoli distinti ma interconnessi.
HTML (HyperText Markup Language):
- HTML serve a definire la struttura e il contenuto di una pagina web. Definisce quali elementi compongono la pagina, come paragrafi, titoli, immagini, collegamenti (link) e formulari.
- Gestisce l’organizzazione delle informazioni, ma non si occupa dell’aspetto visuale o del comportamento interattivo.
- HTML è cruciale per l’accessibilità web e il posizionamento sui motori di ricerca, poiché stabilisce la struttura semantica del contenuto.
CSS (Cascading Style Sheets):
- CSS è responsabile dell’aspetto visuale di una pagina web. Attraverso fogli di stile, permette di definire regole che determinano l’aspetto di elementi HTML, come colori, dimensioni, font e posizionamento.
- Separando la struttura (HTML) dalla presentazione (CSS), consente una gestione più efficace del design e dell’aspetto del sito.
- Favorisce una migliore esperienza utente e la coerenza del design su diverse pagine del sito.
JavaScript:
- JavaScript è un linguaggio di programmazione che aggiunge interattività e dinamicità alle pagine web. Consente di manipolare il contenuto HTML e risponde alle azioni dell’utente.
- Gestisce eventi come clic del mouse, tasti premuti e altro, permettendo di creare effetti interattivi come slideshow, moduli di contatto con convalida dei dati e contenuti dinamici.
- Interagisce con API del browser per funzionalità avanzate come richieste asincrone (Ajax) per l’aggiornamento dinamico dei contenuti senza dover ricaricare la pagina.
- Grazie a JavaScript, è possibile implementare applicazioni web complesse e reattive.
In sintesi, HTML definisce la struttura e i contenuti, CSS si occupa dell’aspetto visuale e JavaScript aggiunge interattività e dinamicità. Queste tre tecnologie lavorano insieme per creare siti web moderni e coinvolgenti. La separazione dei compiti tra di esse permette un’ottimizzazione e una manutenzione più efficienti dei siti web.
HTML come Standard W3C
HTML rappresenta uno standard consolidato, sviluppato dal W3C.
Da quando Tim Berners-Lee, nel 1991, ha delineato la prima iterazione di questo linguaggio, HTML ha seguito un percorso di evoluzione, culminando nell’attuale standard noto come HTML 5.
Il secondo set di linee guida, denominato HTML 2, è stato introdotto dal IEFT nel 1995, proprio mentre stava sorgendo il W3C, ovvero il World Wide Web Consortium. Quest’ultimo è un’organizzazione nata sotto l’egida di Berners-Lee in collaborazione con il CERN e il MIT. Attualmente, il W3C conta il coinvolgimento di molte università e importanti attori tecnologici a livello globale, tra cui Apple, Microsoft, Google, Facebook, IBM, Adobe e molti altri.
Il compito principale del W3C è stato guidare lo sviluppo di HTML attraverso diverse fasi, dall’introduzione della versione 3.2 nel 1997 fino alla definizione di HTML 4 nel 1998 e HTML 4.01. Quest’ultima versione ha giocato un ruolo essenziale nella crescita del World Wide Web durante gli anni 2000 ed è stata successivamente riconosciuta come standard ISO all’incrocio del terzo millennio.
Negli anni 2000, è emerso anche XHTML, un ramo parallelo che mirava a conferire maggiore rigore a HTML, classificandolo come un’applicazione XML. Sono state rilasciate due versioni, XHTML 1.0 e XHTML 1.1, che presentavano molte somiglianze con HTML 4.1. Tuttavia, nel 2011, il W3C ha deciso di focalizzare l’attenzione sull’ulteriore sviluppo dello standard HTML 5, sebbene resti ancora una bozza di specifiche per XHTML 5.1 all’interno del contesto di HTML 5.
HTML5 nel contesto Web e APP Mobile
La versione di HTML più recente è HTML 5. Questa edizione è concepita per ampliare i propri confini oltre il mondo del Web e fungere da piattaforma per la creazione di applicazioni, comprese quelle destinate a desktop e dispositivi mobili.
La specifica di HTML5 comprende i seguenti elementi:
- Una sintassi che ottimizza il markup, adeguandolo alle esigenze contemporanee. Ciò si manifesta nell’introduzione di controlli specifici per i form e attributi “data-” che arricchiscono i tag con informazioni personalizzate.
- Una serie di API che abilitano la gestione avanzata di aspetti quali la connettività di rete, i media e l’hardware dei dispositivi. Questo significa che è possibile occuparsi di aspetti che vanno dalla riproduzione di video e audio al monitoraggio dello stato delle batterie sui dispositivi.
Questa evoluzione dello standard ha agevolato la creazione di cosiddette App mobili ibride. Queste applicazioni sfruttano HTML5 e consentono la distribuzione su piattaforme di dispositivi comuni, come Google Play per Android, comportandosi in modo analogo alle applicazioni native.
Contenuti Interconnessi
La forza di Internet risiede nella sua vasta rete di contenuti interconnessi. Questo ingranaggio cruciale si basa sul linguaggio HTML e i link, i quali costituiscono il fondamento di un meccanismo che abilita la rapida transizione tra testi, immagini, video, applicazioni e altro ancora, permettendo agli utenti di tracciare percorsi di navigazione in modo indipendente.
Per facilitare l’accesso a un’enorme quantità di informazioni, sono stati introdotti i motori di ricerca, i quali operano sulla base di elementi “semantici” per soddisfare le richieste degli utenti. Questo processo inizia con l’analisi del testo o del contenuto e dei collegamenti, per poi sfruttare il comportamento degli utenti al fine di indicizzare le pagine e determinarne il grado di rilevanza (ranking) in relazione a ciascuna specifica ricerca.