Web development

02
Dic
2011

Quanto costa un sito internet? Parte seconda: sviluppo e programmazione

Il tema dei costi di un sito web è già stato affrontato in un post precedente. Questa volta ci occupiamo di un altro aspetto: lo sviluppo (vale a dire la scrittura del codice) e la programmazione delle principali funzioni.

1. Siti dinamici

Più volte mi è capitato di incontrare l’espressione “siti dinamici” usata a sproposito, intendendo cioè l’uso di animazioni mirabolanti e di effetti speciali. “Dinamico” non vuol dire “in movimento”, vuol dire che i contenuti vengono richiamati dinamicamente, in base a una richiesta effettuata dall’utente. Ad esempio, un sito può contenere migliaia di pagine, ciascuna con un articolo, sulle quali sia possibile effettuare ricerche per argomenti o per parole  chiave. Naturalmente un sito di questo genere non è realmente composto da così tante pagine, ma da pochi layout (pagine graficamente composte ma prive di contenuti) e da un dbase che contiene il testo non formattato di tutti gli articoli. Ogni qual volta si clicca sul titolo di un articolo, viene richiamato il layout assegnato e il contenuto corrispondente a quell’articolo, secondo lo schema seguente.

Composizione di una pagina: testo + layout

Naturalmente ci sono esempi più complessi (ad esempio, un quotidiano online utilizza numerosi layout), ma ogni sito “dinamico” si basa su questo meccanismo. Vediamo ora alcuni componenti di un sito internet che necessitano di sviluppo e programmazione.

2. Content Management System (CMS)

È il cuore di ogni sito. Attraverso il CMS è possibile gestire tutti i contenuti: pagine, articoli, blog, gallerie fotografiche, presentazioni video e potenzialmente qualsiasi elemento che possa essere visualizzato sul web. Naturalmente il costo sarà commisurato alla complessità e a quante cose permette di fare.
Un CMS è composto sostanzialmente da un lato “pubblico” (una serie di script che interrogano il dbase) e da uno “riservato”, che consente all’amministratore di intervenire sul sito, aggiornando contenuti e modificando la struttura. Può essere sviluppato ad hoc, oppure basarsi su una piattaforma, come ad esempio WorpPress (che ho utilizzato per lo sviluppo del mio sito), Joomla e Drupal. Queste sono le piattaforme più diffuse, sono open source e il loro utilizzo è gratuito. Esistono anche delle piattaforme a pagamento, come ad esempio Ariadne Content Manager, utilizzato da enti e aziende con esigenze molto complesse.

La scelta del CMS va valutata bene in base a tre parametri: a) le funzioni (cosa voglio fare), b) il costo (quanto posso spendere), c) la facilità di utilizzo (sono in grado di gestirlo da solo? In quanto tempo?). Quest’ultimo punto viene spesso trascurato, ma credo sia di importanza cruciale per un progetto: mantenere un sito aggiornato ha inevitabilmente dei costi che, sul lungo periodo, possono essere anche considerevoli. Nella scelta di un sistema di aggiornamento devo prevedere il tempo necessario per il suo utilizzo, il costo di un’eventuale formazione degli utilizzatori, il costo che avrebbe il servizio appaltato esternamente.
Ancora una volta, l’esperienza di un operatore esperto sarà sicuramente utile per arrivare alla miglior decisione possibile.

3. E-commerce

Un ragionamento analogo può essere fatto con l’e-commerce: ci sono molte piattaforme, che comprendono carrello della spesa, magazzino, visualizzazione oggetti, gestione ordini e fatturazione. Anche in questo caso le piattaforme possono essere open source o a pagamento. Le voci di costo riguarderanno l’installazione, la personalizzazione (il vero e proprio allestimento del negozio virtuale),  l’aggiornamento degli articoli e, se la piattaforma è a pagamento, la licenza d’uso (una tantum o sotto forma di canone periodico).

4. Aree riservate

Vi è spesso la necessità di allestire aree riservate, il cui accesso è riservato solo ad alcuni utenti autorizzati. In questo caso, occorre realizzare degli script che rendano possibili le seguenti operazioni:
a) Iscrizione. L’iscrizione può essere eseguita da un amministratore del sito o direttamente dall’utente. In quest’ultimo caso occorrerà generare uno username e una password, inviarla per posta, verificare l’utente e attribuirgli i privilegi di accesso.
b) Personalizzazione. È possibile che si voglia differenziare i contenuti in base agli utenti o a gruppi di utenti.
c) Recupero password. Funzione pressoché obbligatoria: scordarsi la password è piuttosto comune e, senza una funzione che consenta di recuperarla o generarne una nuova, l’assistenza dovrebbe intervenire troppo frequentemente.

In generale, ogni qual volta si richiede all’utente di svolgere alcune operazioni (come ad esempio un’iscrizione, un acquisto o una transazione), è necessario studiare una procedura facile da eseguire e prevedere i necessari messaggi di conferma o di errore. Questa è una parte molto delicata del sito: una mancanza di chiarezza nelle procedure può significare il fallimento degli obiettivi di conversione.
Come si può vedere, allestire un’area riservata non si limita a proteggere i contenuti con una password!

5. Newsletter

Si tratta di uno script che permette l’iscrizione/cancellazione di utenti in una mailing list e l’invio di una mail agli iscritti. La funzione è piuttosto semplice, ma le personalizzazioni (ad esempio la generazione automatica del testo, la differenziazione delle mailing list, la verifica dell’avvenuta lettura…) possono richiedere tempo e quindi un maggiore costo.

I costi di sviluppo sono sicuramente meno evidenti di quelli relativi al design, perché si riferiscono a qualcosa che “sta dietro” e che la maggior parte delle persone conosce poco. Inoltre, quando si tratta di codice informatico, spesso i tempi di lavorazione non sono così lineari: a volte si introduce una modifica che interferisce con qualcosa che già esiste. Perciò occorre ricontrollare tutto per trovare l’errore (“debug”) e sistemare il problema. In generale, un codice ben scritto darà sicuramente meno problemi di uno sviluppato “al risparmio”, inoltre la pulizia del codice avrà una ricaduta diretta sulla velocità del sito, e quindi sull’esperienza positiva del visitatore e sul posizionamento nei motori di ricerca.

Realizzo siti internet per aziende e professionisti: ideazione, progettazione e sviluppo, front end e back end.

Altri post

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *