Sviluppo Web moderno: fondamenti e strumenti
Dalla commercializzazione di Internet all’inizio anni ’90 lo sviluppo Web ha vissuto un profondo cambiamento. Se un tempo le pagine Internet erano un insieme spoglio di campi di testo, oggi in primo piano c’è una presentazione elaborata di contenuti multimediali. L’originaria piattaforma informativa è diventata oggi un mezzo d’intrattenimento. Gli utenti di Internet richiedono pagine web interattive, dotate di un design piacevole che ne permette un uso intuitivo. Al fine di soddisfare questa esigenza, gli sviluppatori Web includono contenuti dinamici con l’aiuto di diversi strumenti e creano siti web personalizzati per l’utente. Presupposto fondamentale è un web hosting professionale, che metta a disposizione le risorse necessarie e supporti gli standard web attuali.
Fondamenti tecnici di un sito web
Il fondamento di un sito è lo spazio su un server, offerto da fornitori specializzati di servizi internet, i cosiddetti provider. L’offerta comprende di regola pacchetti completi che insieme allo spazio necessario comprendono altri servizi come RAM, un proprio dominio, banche dati e gli strumenti necessari per lo sviluppo Web. L’utente di un pacchetto hosting di regola non sa quali macchine fisiche hostano le risorse utilizzate. Diverso è il caso di modelli hosting alternativi come server web dedicati, che vengono presi in affitto in un centro di elaborazione dati come componenti hardware autonome.
Dominio
È possibile richiamare ogni progetto nel World Wide Web utilizzando un nome univoco. Questi cosiddetti domini rientrano negli elementi base di un pacchetto hosting. I domini seguono in maniera precisa la struttura gerarchica del Domain Name System e sono formati da un dominio di primo livello che definisce il namespace (per esempio .it), un nome del dominio scelto liberamente (dominio di secondo livello) e sottodomini facoltativi. La registrazione dei domini avviene tramite un provider, che inoltra la richiesta agli organi competenti per la gestione. Nella scelta del dominio ci sono formulazioni brevi e concise e domini di primo livello comuni.
Spazio web
Ogni pagina web è costituita da dati che vengono messi a disposizione per l’apertura delle pagine in internet. I pacchetti hosting comprendono pertanto sempre un certo spazio di archiviazione per documenti HTML, fogli di stile, immagini, video o banche dati. Il caricamento dei dati avviene di regola tramite il protocollo di trasferimento file (FTP) e il client come FileZilla o WinSCP. Perciò dovrebbe essere scelto un pacchetto (hosting) che permetta l’ampliamento dello spazio web in caso di necessità.
Database
Se le pagine web messe a disposizione sul server non vengono generate in modo statico, ma in base alle richieste, ogni volta che una pagina viene visualizzata, gli sviluppatori web ricorrono per lo più a database relazionali. Con questo tipo di gestione di banche dati le informazioni vengono strutturate come record nelle tabelle e vengono messe in relazione con altri record attraverso ID. L’apertura e l’elaborazione di strutture dati avviene di regola tramite linguaggio SQL (Structured Query Language). Uno dei sistemi di database relazionali più diffusi al mondo per siti web dinamici di questo tipo è il software MySQL open source.
Server web
Pacchetti hosting per i principianti vengono realizzati di regola attraverso l’hosting condiviso. Con questo modello di hosting diversi domini di clienti condividono una pool comune di risorse del server. Per grandi progetti professionali i provider offrono inoltre diverse varianti di server web, in cui le componenti hardware vengono assegnate ai clienti in modo esclusivo. Per grandi imprese si consiglia in alcuni casi insieme alla variante in affitto l’acquisto di una tecnologia server.
Strumenti di base per la programmazione web
Se la base del progetto web è presente nella forma di un pacchetto hosting o di un server, gli utenti hanno diverse possibilità per creare una propria pagina web. La gamma spazia da software di siti web intuitivi con opzioni di design limitate a flessibili sistemi di gestione dei contenuti (CMS) fino al codice sorgente scritto autonomamente. Mentre i siti già pronti si basano sul principio WYSIWYG („What You See Is What You Get“) e si indirizzano in primo luogo ai principianti, l’utilizzo di un CMS richiede una certa conoscenza di base. Nel programmare i loro siti da zero gli sviluppatori web si assicurano la massima libertà. Questo presuppone tuttavia conoscenze di linguaggi di programmazione base come HTML, CSS, JavaScript e PHP.
HTML
Il linguaggio a marcatori per ipertesti (in inglese Hypertext Markup Language, HTML) nello sviluppo Web serve all’organizzazione semantica di contenuti digitali attraverso i cosiddetti tag. In questo modo è possibile definire sezioni di testo, titoli, grafici o collegamenti ipertestuali. Un codice sorgente simile è alla base di ogni struttura web. Un semplice sito web statico non è altro che una selezione di documenti HTML collegati tra di loro. La versione attuale dell’HTML5 amplia il linguaggio di markup a tag per elementi audio e video. La visualizzazione dei contenuti, al contrario, viene definita dal linguaggio di formattazione CSS.
CSS
I fogli di stile a cascata (in inglese Cascading Style Sheets, abbreviato CSS) sono un linguaggio di programmazione standard per documenti HTML. Gli sviluppatori web utilizzano i CSS per assegnare agli elementi definiti nel codice HTML delle regole per la visualizzazione su browser. Insieme alle indicazioni per il layout, colorazione e tipografia lo standard attuale CSS3 comprende anche animazioni, variazioni di colori e ombreggiature.
JavaScript
Siti moderni interagiscono con i loro visitatori grazie a campi interattivi, menu a tendina o slideshow. Se contenuti dinamici di questo tipo vengono integrati in una pagina HTML, allora entra in gioco JavaScript. Il linguaggio di scripting amplia la struttura di base HTML e CSS, valutando le interazioni degli utenti, caricando, aggiornando o modificando i contenuti.
PHP
Mentre le pagine statiche sono a disposizione del server web, le pagine web dinamiche vengono generate da un browser soltanto su richiesta, il che è reso possibile da linguaggi di scripting come PHP. Una programmazione PHP viene interpretata lato server. Invece di consegnare il codice sorgente direttamente a siti web dinamici, il server web comunica il file a un interprete PHP il quale genera il sito richiesto (spesso sulla base di informazioni inserite nelle banche dati) e lo restituisce al server, che invia infine i dati al browser. Altri linguaggi di scripting per lo sviluppo di siti dinamici sono Perl e Python.