Indice dei contenuti
Introduzione
Il web è diventato un mondo molto dinamico in termini di creazione di contenuti. Con l’avvento del Web 2.0, dei social, si sono creati tante opportunità, di fatto inclusive in termini di partecipazione e creazione di contenuti. Una maggior quantità di persone, professionisti e non, si sono trovati nella necessità di avere quindi nuovi strumenti che garantissero la creazione di pagine e siti web. In questo modo, si è data la possibilità di creare siti web qualitativamente validi a chi non avesse esperienza. Mentre per i professioni che l’esperienza l’hanno costruita, si sono forniti strumenti flessibili che snelliscono il lavoro, almeno in alcune situazioni e mansioni. Ecco i CMS, (Content Management System): software installato su un server web, ad esempio in hosting, che facilita la gestione dei contenuti del sito svincolando il creatore webmaster da conoscenze tecniche specifiche di programmazione web e dalla creazione di grafica specifica.
CMS, perché si e perché no
Qui già tocca correggere la definizione da manuale. I cms sono e saranno sempre un valido sistema per creare alla svelta e in modo agile siti web senza grandi conoscenze ma a patto che ci si accontenti di due caratteristiche. La prima è che il sito sia prevalentemente contenutistico, un blog o un sito di news si adattano bene ad essere realizzati con un cms. Mentre un sito che fornisce servizi complessi con molteplici form, bottoni che inviano dati o compiono particolari operazioni, non si adattano al contesto chiuso e vincolante del cms. Penso al sito dell’INPS per la compilazione di varia burocrazia e dichiarazioni, il sito della compagnia telefonica dove attivare o modificare promozioni e tariffe: qui non c’è spazio per il cms ma occorre realizzare il sito web con tecnologie “più tradizionali”, da zero o quasi.
Prestazioni
Il cms ha una struttura di front-end per la visualizzazione del sito o del blog, un sistema di back-end per le personalizzazioni possibili e l’inserimento di “articoli” che saranno di fatto le pagine del nostro sito. La struttura dei dati del database è fortemente dinamica con contenuti e impostazioni salvate su specifiche tabelle. Questa struttura richiede una quantità di codice molto elevata e un dialogo massiccio del cms col database per prelevare contenuti e tutte le configurazioni per visualizzarli. Questa struttura fa precipitare le prestazioni di caricamento di una pagina. Scrivere codice da zero, php, html, js e css sarà sicuramente più oneroso in termini di sviluppo iniziale, ma drasticamente più veloce.
I plugin
In un sito web costruito da zero, ogni caratteristica e funzionalità deve essere riscritta a mano o, se riusata, deve essere integrata nel codice delle pagine. Nei cms, molte funzionalità possono essere aggiunte con dei plugin, piccoli software che si vanno ad aggiungere al sistema base. Ogni plugin però introduce frammenti di codice front-end e back-end, arricchendo il primo di css e/o js e il secondo di menu da customizzare. Non è un mistero se un sito cms con tanti plugin è particolarmente lento e poco maneggevole da navigare. Sta allo sviluppatore capire quale sia la misura tra plugin e funzionalità necessarie e l’overhead che si va ad aggiungere alle prestazioni.
Un esempio? I caroselli per le immagini sono bellissimi e molto semplici da aggiungere con plugin versatili e personalizzabili, ma possono essere anche decine di volte più pesanti e lenti dello scrivere qualche riga di codice css/js.
La sicurezza
Tutti o quasi gli elementi del template possono essere modificati con potenti page builder, strumenti che con sistemi drag & drop, semplici click su vari strumenti, permettono di ottenere disposizione di oggetti, grafica avanzata e design accattivante con poche o nulle conoscenze di html, css, js. E’ chiaro che uno strumento di grafica, per quanto potente, ha dei vincoli che possono essere superati solo con le conoscenze di base. Se il cliente non ha strane pretese, probabilmente il cms con il giusto template e page buider è sufficiente a rispondere alle richieste, snellendo il lavoro dello sviluppatore. Certo, se invece al template sono necessarie migliorie, elementi particolari, sarà dura senza sapere dove mettere mano al codice. Quest’ultimo caso, avviene molto più spesso di quello che si pensa e fa la differenza tra una parcella di un vero professionista e quella di uno sviluppatore “arrangiato”.
Page Builder
La maggior parte dei cms sono software open source, sviluppati dalla comunità, così come la comunità sviluppa plugin gratis o a pagameanto, o forme ibride con funzionalità premium. Se la struttura del cms ha un impianto ed organizzazione per il rilascio e la gestione della qualità del software, non sempre accade lo stesso per i plugin. Essendo scritti da aziende o singoli individui, possono essere mal sviluppati, incompleti o potenzialmente dannosi. A questo si aggiunge l’ingenuità di moti sviluppatori cms che acquistano plugin non originali e contraffatti aprendo di fatto il fianco del loro back-end a malintenzionati. La struttura a pezzi del cms lo rende a prescindere più vulnerabile e non si può mai sapere come un plugin si incastri col codice principale aggravando la situazione.
I costi
La maggior parte dei CMS nasce come progetto Open Source, e quindi fondato sulla condivisione del software libero. A pagarsi sono spesso i servizi accessori, hosting personalizzati e soprattutto plugin e temi grafici. Esistono CMS proprietari dalle licenze costose ma con performance decisamente interessanti. E’ chiaro che sono molte di più le aziende e sviluppatori con competenza su piattaforme open piuttosto che proprietarie, ecco perché il mercato delle agenzie web è discretamente fiorente e con parecchio traffico.
Tipi di CMS
I più famosi? WordPress, Joomla, Drupal, Prestashop (per e-commerce) tra gli open source, Adobe AEM e Microsoft SharePoint tra i proprietari. Sono classici CMS in cui è integrato un sistema di pubblicazione di pagine attraverso articoli che vengono scritti in modalità WYSIWYG, ovvero come se su browser avessimo un piccolo Word dove digitare, formattare il testo, caricare e disporre immagini ed altri elementi testuali e multimediali, senza scomodare HTML e CSS. Il front-end, ciò che si vede nel risultato finale è integrato con il back-end. L’utente sviluppatore può scegliere un tema, una sorta di template grafico preconfezionato, tra centinaia di temi sia gratuiti, che a pagamento.
I CMS headless
Una alternativa complessa ma decisamente interessante che sta prendendo molto piede è quella dei CMS headless. Dall’inglese, senza testa, ovvero un sistema di gestione di contenuti con un back-end funzionale ma senza interfaccia grafica front-end. Senza template in sostanza, ma solo una serie di API, di chiamate e funzioni varie richiamabili dallo sviluppatore via php che a questo punto può realizzare una interfaccia complessa e completamente custom. Costoso? Si, in termini economici e di tempi di sviluppo. Ma la grafica si può toccare relativamente poco una volta implementata, quindi vale la pena investirci inizialmente per poter fare manutenzione e aggiunte in modo semplice dei successivi contenuti.
Ultima modifica 26 Aprile 2022