# Web dinamico

In informatica il Web dinamico (Web 2.0) è un paradigma di programmazione web che viene utilizzato per indicare tutte quelle applicazioni web che interagiscono attivamente con l'utente, modificando le informazioni mostrate in base alle informazioni generate da quest'ultimo e ricevute dall'application server (user generated content). Esso si contrappone al web statico o web 1.0 che rappresenta invece la precedente fase o vecchio paradigma di programmazione web con pagine HTML con contenuti modificabili solo dall'amministratore o direttamente dal proprietario del sito web sul web server.

## Descrizione

Il termine Web 2.0 è stato strettamente associato a Tim O'Reilly grazie alla Web 2.0 conference di O'Reilly Media alla fine del 2004. Il termine 2.0 è mutuato direttamente dallo sviluppo software nel quale la notazione puntata indica l'indice di sviluppo e successiva distribuzione (release) di un particolare software. In questo caso la locuzione pone l'accento sulle differenze rispetto al cosiddetto Web 1.0, diffuso fino agli anni novanta, e composto prevalentemente da siti web statici, senza alcuna possibilità di interazione con l'utente eccetto la normale navigazione ipertestuale tra le pagine, l'uso delle e-mail e dei motori di ricerca.
In tale ambito per realizzare tale scenario interattivo e dinamico si fa frequentemente uso di applicazioni web quali applet, servlet, CMS, ecc., tramite opportuni programmi detti script, scritti in vari possibili linguaggi di scripting quali PHP, ASP, .NET, inseriti tipicamente all'interno della pagina web HTML e che, su particolare richiesta dell'utente, vengono attivati ed elaborati lato client tramite browser o lato server restituendo il contenuto dinamico sotto forma di codice HTML interpretato poi dal browser e visualizzato all'utente. Tuttavia per ottimizzare le performance delle varie piattaforme, si ricorre ad una certa staticità dei contenuti dinamici.
Esempi tipici di applicazioni web dinamiche sono i siti di e-commerce che ovviamente devono interagire con l'utente ed adeguarsi alle sue scelte. Molti siti web sono considerati "dinamici" dato che consentono all'utente di personalizzare l'impaginazione o le informazioni mostrate o aggiornare in maniera efficiente (dinamica appunto) i contenuti in modo da renderli più vicine alle richieste dell'utente o del programmatore web.
Un ulteriore esempio potrebbe essere il social commerce, l'evoluzione dell'E-Commerce in senso interattivo, che consente una maggiore partecipazione dei clienti, attraverso blog, forum, sistemi di feedback ecc. Per le applicazioni Web 2.0, spesso vengono usate tecnologie di programmazione particolari, come AJAX (Gmail usa largamente questa tecnica) o, in passato, Adobe Flex. Il tutto è stato favorito da una maggiore connettività in termini di banda trasmissiva (dai 2 Mbit/s in ADSL anziché i 56 Kbit/s delle connessioni con modem dial-up). Anche le comunità virtuali in Rete come ad esempio Blog e Forum, vengono considerate web dinamico, etc.
Negli ultimi anni hanno avuto un'elevata diffusione i siti di tipo wiki. In questi siti l'utente non solo interagisce con il sito per decidere quali informazioni visualizzare, ma a sua volta l'utente può fornire informazioni e contenuti se lo desidera. La stessa Wikipedia infatti è un sito web dinamico implementato attraverso un CMS scritto in PHP.
Gli scettici replicano che il termine Web 2.0 non ha un vero e proprio significato e dipenderebbe principalmente dal tentativo di convincere media e investitori sulle opportunità legate ad alcune piattaforme e tecnologie.
Alcuni come Seth Godin hanno iniziato, ad utilizzare il termine "New Web" (Nuovo Web) in quanto si rimane molto scettici sull'utilizzo dell'etichetta "web 2.0" (o anche 3.0 e successive) quando utilizzata al fine di definire univocamente e generalmente una complessa e continua innovazione dei paradigmi di comunicazione digitale sul web. Se pure il termine "Nuovo Web" non diventasse velocemente di uso comune anche tra i Netizen, questo probabilmente non diverrebbe obsoleto come sta accadendo per l'etichetta "web 2.0" a favore ad esempio di "3.0", "3.5", "4.0" e così via. Questo tipo di etichette hanno la funzione di "fotografare" in maniera non univoca un certo momento.

### Esempio

Pagina base dinamica in PHP:
Pagina base dinamica in ASP:

### Analisi storica

Originariamente il web è stato concepito come modo per visualizzare documenti ipertestuali statici (creati con l'uso del linguaggio HTML); questo approccio può essere definito come Web 1.0 afferente al paradigma del Web statico.
In seguito, grazie all'integrazione con database e all'utilizzo di sistemi di gestione dei contenuti (CMS), esso è stato da alcuni definito Web 1.5.
Attraverso l'utilizzo di linguaggi di scripting come JavaScript, degli elementi dinamici e dei fogli di stile (CSS) per gli aspetti grafici, si possono creare delle vere e proprie applicazioni web che si discostano dal vecchio concetto di semplice ipertesto e che puntano a somigliare ad applicazioni tradizionali per computer.
Da un punto di vista strettamente di tecnologia di rete, il Web 2.0 è del tutto equivalente al Web 1.0, in quanto l'infrastruttura a livello di rete continua ad essere costituita da TCP/IP e HTTP e l'ipertesto è ancora il concetto base delle relazioni tra i contenuti. La differenza, più che altro, sta nell'approccio con il quale gli utenti si rivolgono al Web, che passa fondamentalmente dalla semplice consultazione (seppure supportata da efficienti strumenti di ricerca, selezione e aggregazione) alla possibilità di contribuire popolando e alimentando il Web con propri contenuti.
I primi siti web popolari di tipo partecipativo includevano Craiglist, un sito di annunci pubblicitari divisi per categorie che nacque nel 1995 evolvendosi da un notiziario che Craig Newmark faceva circolare regolarmente per posta elettronica con informazioni sugli eventi in calendario a San Francisco. Su Craiglist chiunque poteva pubblicare notizie d'interesse come avvenimenti imminenti, annunci personali oppure oggetti in vendita.

## Differenze con il Web statico o Web 1.0

Il Web 2.0 costituisce anzitutto un approccio filosofico alla rete che ne connota la dimensione sociale, della condivisione, dell'autorialità rispetto alla mera fruizione: sebbene dal punto di vista tecnologico molti strumenti della rete possano apparire invariati (come forum, chat e blog, che "preesistevano" già nel web 1.0) è proprio la modalità di utilizzo della rete ad aprire nuovi scenari fondati sulla compresenza nell'utente della possibilità di fruire e di creare/modificare i contenuti multimediali.
Sebbene potenzialmente in nuce nello stesso paradigma di rete, che si nutre del concetto di condivisione delle risorse, rappresenta la concretizzazione delle aspettative dei creatori del Web, che solo grazie all'evoluzione tecnologica oggi costituiscono una realtà accessibile. La possibilità di accedere a servizi a basso costo in grado di consentire l'editing anche per l'utente poco evoluto, rappresenta un importante passo verso un'autentica interazione e condivisione in cui il ruolo dell'utente è centrale.
Nel descrivere le caratteristiche del Web 2.0 si procede spesso per confronto con il Web 1.0, indicando come nel passaggio di versione gli elementi fondamentali si siano evoluti o siano stati sostituiti da nuovi. Si tratta dunque di un modo di rappresentare il Web 2.0 divulgativo e non prettamente tecnico, ma piuttosto efficace per riconoscere l'evoluzione dei sistemi su Internet.

### Dai siti web personali ai blog

Se prima la costruzione di un sito web personale richiedeva la padronanza di elementi di HTML e di programmazione, oggi con i blog chiunque è in grado di pubblicare i propri contenuti, dotandoli anche di veste grafica accattivante, senza possedere alcuna particolare preparazione tecnica. Se prima le comunità web erano in stragrande maggioranza costituite da esperti informatici, oggi la situazione è completamente ribaltata. I principali produttori di blog sono scrittori, giornalisti, artisti le cui attività non presuppongono una conoscenza informatica approfondita.

### Dai sistemi per content management ai wiki

La tecnologia Wiki (Wikipedia ne è la più celebre applicazione) è il punto di arrivo del content management, in quanto ne implementa tutti i paradigmi. Se prima erano necessarie più applicazioni informatiche per la gestione del ciclo di vita dell'informazione (dall'intuizione alla fruizione), oggi una stessa tecnologia supporta al meglio tutto il processo. Si fruisce dell'informazione nell'ambiente stesso in cui essa è nata.

### Dalla stickiness al syndication

Le tecniche utilizzate in precedenza per tenere per più tempo i visitatori su un sito web (stickiness, letteralmente l'"appiccicosità" di un sito, cioè la capacità di tenere "incollati" gli utenti ad esso) stanno lasciando il posto ad altre concezioni di contatto con il fruitore. Attraverso le tecnologie di syndication (RSS, Atom, tagging) chi realizza contenuti fa in modo che questi possano essere fruiti non solo sul sito, ma anche attraverso canali diversi.
Un esempio di questi nuovi canali sono i feed, cioè delle liste di elementi con un titolo (es. notizie di un giornale, thread di un newsgroup), che permettono il successivo collegamento ai contenuti informativi. Questi ultimi possono essere aggiornati e consultati di frequente con programmi appositi o anche attraverso i browser e quindi consentono di essere sempre a conoscenza dei nuovi contenuti inseriti su più siti senza doverli visitare direttamente.

## Strumenti per la creazione di contenuti

Tale possibilità di creazione e condivisione di contenuti su Web, tipica del Web 2.0, è data da una serie di strumenti (tool in inglese) on-line che permettono di utilizzare il web come se si trattasse di una normale applicazione. In pratica il Web di seconda generazione è un Web dove poter trovare quei servizi che finora erano offerti da pacchetti da installare sui singoli computer.
Esempi di Web 2.0 sono Ckeditor e Writely, veri e propri elaboratori di testi e convertitori di formato, oppure NumSum, una sorta di foglio elettronico. Anche Google ha lanciato la sua suite di editor, chiamata Google Docs & Spreadsheet, e Microsoft ha distribuito una versione online della suite Office, Microsoft 365.
Oltre alla creazione condivisa di contenuto on-line, il Web 2.0 è caratterizzato dalla pubblicazione immediata del contenuto e alla sua classificazione e indicizzazione nei motori di ricerca, in modo che l'informazione sia subito disponibile a beneficio dalla comunità, realizzando in maniera veloce il ciclo di vita del content management. Per la pubblicazione dei contenuti fanno da padrone sul Web (di oggi) i provider di blog come Blogger, WordPress e Splinder, ma anche piattaforme commerciali come Microsoft Sharepoint Services che nella versione 3.0 accentua le sue caratteristiche di collaborazione diventando la parte server di Office 12.

## Pro e contro
### Vantaggi

I vantaggi sono:
* Possibilità di creare ecommerce, blog, forum e siti web dove l'utente può commentare, registrarsi, interagire con gli altri utenti del sito, chattare, modificare il sito stesso tramite le wiki.
* Il Content Management System (CMS) consente ad un utente che non conosce linguaggi come HTML, CSS, PHP, ASP, JavaScript, MySQL, SQL eccetera può creare un sito statico da zero senza programmare. Per i soggetti che fanno sviluppare il sito istituzionale/aziendale alle web agency (tipico caso delle imprese, enti pubblici, associazioni, lavoratori autonomi), il CMS permette di aggiornare i contenuti con estrema facilità (è solo in caso in modifiche strutturali che occorre nuovamente rivolgersi alla web agency).
* Può generare HTML diverso per ciascuna richiesta. Tramite database si possono richiedere informazioni in modo organizzato e strutturato per creare e visualizzare contenuti a seconda di come l'utente vuole visualizzarli.
* Il contenuto viene generato rapidamente.

### Svantaggi

Gli svantaggi sono:
* Il costo iniziale può essere superiore rispetto a un sito statico.
* Tempi di caricamento più lunghi.
* Rischio attacchi informatici, furto d'identità e furto dei dati di pagamento degli utenti.
* Nel caso di uso dei CMS può essere necessario un continuo aggiornamento di plugin e del CMS stesso.