Programmazione web

Con la locuzione programmazione web si indicano le attività e le tecniche di programmazione, con i rispettivi linguaggi di scripting, che consentono la realizzazione e lo sviluppo di applicazioni per il Web. La programmazione web si articola in tre tipologie

Con la locuzione programmazione web si indicano le attività e le tecniche di programmazione, con i rispettivi linguaggi di scripting, che consentono la realizzazione e lo sviluppo di applicazioni per il Web. La programmazione web si articola in tre tipologie

a) il design e developing per la realizzazione di siti web, CMS per blog, forum e reti sociali, applicazioni o portali per l'e-commerce;

b) lo scripting lato client e lato server;

c) la configurazione dei server web.

Descrizione

La programmazione web è dipendente dagli obiettivi dell'applicazione sviluppata ed è strettamente legata alla scelta tra pagine web statiche e dinamiche.

Il primo approccio è quello originario del Web e consiste nella stesura di documenti formattati direttamente in codice HTML e caratterizzati da una bassa interazione con l'utente.

Il secondo, rappresenta invece l'evoluzione delle applicazioni Web con l'inserimento di processi di automazione ed una maggiore interattività con l'utente (vedi anche Web 2.0).

I siti web dinamici fano sovente uso di database e di linguaggi di scripting elaborati dal server oppure dal client quali ad esempio PHP, ASP, .NET, JavaScript, Python: questi codici una volta elaborati restituiscono codice in HTML al web browser dell'utente.

Programmazione web come industria

Dalla metà degli anni 1990, quella della programmazione Web è stata una delle industrie nel mondo che si è sviluppata più velocemente: nel 1995 c'erano meno di 1.000 compagnie nel settore solo negli Stati Uniti, ma dal 2005 erano già oltre 30.000 avendo avuto un forte sviluppo negli anni 2000 con l'avvento del Web 2.0 e la diffusione di applicazioni Web.

La crescita di questa industria è spinta dalla prospettiva del mercato di vendere prodotti e servizi ai loro clienti al fine di automatizzare il flusso di lavoro; il settore della programmazione web è quindi generalmente un settore florido e in continuo sviluppo.

Aumentata la domanda, è aumentata anche l'offerta, facendo scendere i prezzi. Sono inoltre state sviluppate piattaforme pubbliche gratuite. Un esempio è il pacchetto LAMP (Linux, Apache, MySQL, PHP). Gli sviluppatori web mirano a realizzare applicazioni che tradizionalmente erano disponibili solo in ambiente locale. Questo ha permesso la nascita di nuovi metodi di comunicazione, la decentralizzazione dell'informazione e la distribuzione dei contenuti in rete.

Esempio della trasformazione che la programmazione web ha portato nelle comunicazioni e nel commercio è l'e-commerce (es. eBay). Altro esempio di come lo sviluppo del software destinato al web abbia apportato nette trasformazioni nel modo di comunicare sono i blog. Per le grandi imprese e le grandi organizzazioni, i team di web developer si compongono anche di decine di persone, mentre le organizzazioni più piccole possono necessitare di un webmaster singolo.

Suddivisione di base

A livello teorico la programmazione web può suddividersi in programmazione web lato client e programmazione web lato server a seconda che ci si occupi dello sviluppo del front-end o del back-end dell'applicazione web. Spesso allo sviluppatore capita di doversi occupare di entrambe le parti. Applicazioni web abbastanza semplici possono essere costruite anche totalmente con logica lato client (ad es. interamente in JavaScript). La parte data-layer, ovvero creazione del database con relative tabelle e manutenzione, è spesso opera di un database Administrator (DBA).

Programmazione Client Side

AJAX Fornisce nuovi metodi per l'utilizzo di JavaScript, linguaggi lato server (ASP.Net o PHP) e altri linguaggi al fine di migliorare l'esperienza dell'utente.

Adobe Flash Player onnipresente piattaforma client-side, ma oramai obsoleta.

JavaScript Formalmente chiamato ECMAScript, JavaScript è un utile strumento client-side (anch'esso praticamente onnipresente).

Programmazione Server Side

ASP (di proprietà Microsoft)

ColdFusion (di proprietà Adobe)

CGI e/o Perl (open source)

Java, Java EE o WebObjects

PHP (open source)

Python (open source)

Smalltalk

.NET (di proprietà Microsoft)

Database

Oracle

IBM DB2

Microsoft SQL Server

MySQL

Firebird SQL

PostgreSQL

SQLite

MongoDB

Sicurezza

Con il diffondersi delle piattaforme web, è aumentata la richiesta di sicurezza nella trasmissione e archiviazione dati. Gli sviluppatori web devono perciò tener conto di diverse considerazioni, come il filtraggio dei dati in uscita e la cifratura. Pratiche malevole come l'SQL injection possono permettere di aver accesso ad indirizzi email, password e contenuti protetti come i numeri di carte di credito.

Sovente si fa uso di diversi metodi di cifratura quando si devono trasmettere o salvare informazioni delicate. Per esempio l'ausilio di protocolli crittografici quali TLS, o SSL, permettono una comunicazione sicura e l'integrità dei dati su reti TCP/IP, aiutando a prevenire eventuali frodi informatiche. Una conoscenza di base della sicurezza informatica fa spesso parte delle conoscenze dello sviluppatore web.

Siccome alcuni problemi di sicurezza vengono identificati solo dopo la pubblicazione delle applicazioni, gli aggiornamenti sulla sicurezza sono di importanza cruciale. È spesso compito dello sviluppatore web tenere le applicazioni aggiornate con patch sulla sicurezza.

Servizi correlati

Altre voci

A

Applicazione web

Una applicazione web (web application in inglese, abbreviato web app), in informatica ed in particolare nella programmazione web, indica genericamente tutte le applicazioni distribuite ovvero applicazioni accessibili/fruibili via web per mezzo di un network, come ad esempio una Intranet…

Leggi la voce →
W

World Wide Web

Il World Wide Web (termine in lingua inglese traducibile in italiano come "rete di ampiezza mondiale" o "rete mondiale"), abbreviato web, WWW o W3, è uno dei principali servizi di Internet, che permette di navigare e usufruire di un insieme molto vasto di contenuti, multimediali e non,…

Leggi la voce →
BrowserB

Browser

In informatica il browser Web (o semplicemente browser /ˈbraʊzə(r)/), in italiano navigatore in rete, è un'applicazione usata principalmente per l'acquisizione, la presentazione e la navigazione di risorse sul Web. Tali risorse (come pagine web, immagini o video) sono messe a disposizione sul…

Leggi la voce →
Ambiente di sviluppo integratoA

Ambiente di sviluppo integrato

Un ambiente di sviluppo integrato (in inglese integrated development environment ovvero IDE) è un'applicazione che fornisce vari strumenti per lo sviluppo software, in particolare un editor di codice sorgente, modalità di automazione dello sviluppo, e un debugger. Alcuni ambienti comprendono…

Leggi la voce →
Genius (sito web)G

Genius (sito web)

Genius (precedentemente Rap Genius) è un sito internet dedicato alla spiegazione e all'interpretazione di testi musicali, in particolare testi hip hop.

Leggi la voce →
S

Smash (sito web)

Smash è un servizio francese di trasferimento file online, fondato nell'aprile 2017 dai fratelli Romaric e Rémi Gouedard-Comte a Lione.

Leggi la voce →