Cosa è un'applicazione web?
Un programma che si usa attraverso un browser. Tutti le usano ma pochi sanno di cosa si tratta. Tutte le cose belle su internet sono costituite da applicazioni web: Facebook, Google, Twitter, Flickr, Gmail, il conto bancario online, il sistema di gestione dei contenuti (CMS) del tuo sito web o del tuo blog o del tuo forum. Questi sono solo alcuni esempi di applicazioni web.
![]()
Perchè usare le applicazioni web?
Senza le applicazioni web internet sarebbe come un giornale, potremmo sfogliarlo ma non sarebbe interattivo.
Le applicazioni web semplificano la vita:
- rendono banale la distribuzione delle informazioni (siti web con cataloghi, giornali online, le webmail come Gmail)
- permettono di svolgere operazioni su dati ovunque ci si trovi, basta ci sia internet (gestionali, conti correnti online)
- sono il modo più semplice per gestire la condivisione dei dati a diversi livelli (sito web con amministrazione e aree riservate per gli utenti, Facebook, Flickr)
Per il resto sono come qualunque altro software: se funzionano, eseguono operazioni complicate e/o ripetitive al posto nostro.
Altre informazioni le trovate su Wikipedia (un'altra applicazione web!)
Quando ci serve un'applicazione web?
Se vogliamo inserire, manipolare, presentare e/o scambiare dei dati in modo semplice e intuitivo attraverso una rete (internet o intranet) abbiamo bisogno di un'applicazione web.
Come si realizza un'applicazione web?
Ci sono diversi momenti e possono essere coinvolte più professionalità. In generale possiamo considerare:
- Fase di analisi e di progetto: si definisce nel dettaglio quali operazioni devono essere svolte dall'applicazione e come devono essere svolte;
- Fase di sviluppo: si scrive materialmente il codice che implementa le specifiche risultato della fase di analisi;
- Fase di test: si verifica che l'applicazione si comporta esattamente come previsto in tutte le situazioni;
- Fase di rilascio: il lavoro è finito e può iniziare un periodo di assistenza e manutenzione.
In molti casi tutto questo lavoro viene svolto da un unico sviluppatore ma nel caso di progetti complessi possono essere necessari più sviluppatori che possono essere affiancati anche da altre figure come esperti di database, web designer o esperti del settore oggetto dell'applicazione. Per esempio: lo sviluppo di un'applicazione web per commercialisti richiederà almeno la consulenza di un commercialista.
Le cose non sono proprio così semplici. Ciascuna di queste fasi può richiedere molte ore di lavoro e implica scelte che influiranno sul risultato finale facendo la differenza tra un progetto ben realizzato e un progetto 'venuto male'.
Applicazioni Web
Sviluppo applicazioni web in PHP dal 2000. Ho iniziato con i pannelli di amministrazione dei siti web, poi ho scritto gestionali web per piccole associazioni, in seguito ho sviluppato un gestionale web per la bollettazione e la fatturazione per alcune Amministrazioni locali, poi ho scritto un gestionale web per l'amministrazione e la fatturazione di un'azienda di telefonia e poi... tante altre.
Linguaggi di programmazione
Una applicazione web si può scrivere in tanti linguaggi: PHP, Python, Ruby, ASP, Perl, Java ecc. Ogni linguaggio ha pregi e difetti. La scelta del linguaggio per la vostra applicazione web può dipendere da tanti fattori:
- conoscete un programmatore che usa quel linguaggio o è facile trovarne uno
- sapete che è facile trovare un hoster (un provider che vi mette a disposizione dello spazio su un server che supporta quel linguaggio)
- quel linguaggio in genere consente tempi di sviluppo molto rapidi
- è un linguaggio maturo e permette di fare qualunque cosa
- è il linguaggio più usato
- è Open Source (il programmatore che lo usa non deve pagare licenze e quindi vi costerà meno. Forse.)
- vi piace il nome :)
Io ho scelto il PHP. Ho provato anche gli altri. Ruby è molto interessante ma al momento non mi permette di fare più di quanto possa fare con PHP.
Framework
Scrivere una applicazione web oggi presuppone l'uso di un Framework che possiamo immaginare come una impalcatura software con l'aiuto della quale costruire la nostra applicazione. Utilizzare un framework semplifica la stesura del codice e standardizza il comportamento della applicazione con vantaggi per: la velocità di sviluppo, l'omogeneità di funzionamento e la manutenzione (ulteriori informazioni su Wikipedia).
Ovviamente ci sono tanti framework. Anche la scelta del Framework può dipendere da molti fattori:
- conoscete un programmatore che lo usa o è facile trovarne uno
- quel Framework in genere consente tempi di sviluppo molto rapidi
- è un Framework maturo e permette di fare qualunque cosa
- è molto usato
- è Open Source (magari vi costa meno. Forse.)
- vi piace il logo :)
Ci sono molti Framework MVC (Model-View-Controller) in PHP. Io ho usato Code Igniter per circa un anno, poi ho iniziato a studiare Kohana e ho finito per scriverne uno mio X4 WebApp (sulla base di una versione semplificata e personalizzata di Kohana).

Avendo l'occasione mi piacerebbe provare Zend Framework (a cui ho dato uno sguardo) e Symfony (di cui ho solo letto qualcosa).

Framework Javascript
Per una applicazione Web 2.0 non possiamo trascurare il Javascript e Ajax. Anche qui ci sono tante opzioni: JQuery, Mootools, Prototype, ExtJS ecc.
Io ho provato Mootools e mi sono sentito a mio agio.
Conclusione: l'importanza del Cuoco
Possiamo immaginare un'applicazione web come un piatto prelibato: serve una ricetta e bisogna procurarsi gli ingredienti. Ma non bastano gli ingredienti migliori per fare un piatto gustoso: alla fine ci vuole un Cuoco che, con esperienza e gusto personale, sappia usarli al meglio.







