Introduzione
Cows è un linguaggio di scripting il cui principale obiettivo è rendere la creazione e l'aggiornamento di un sito internet veloce, flessibile e meno suscettibile ad errori senza richiedere l'utilizzo di tecnologie lato-server (linguaggi di scripting, estensioni a web server ecc.).
L'idea di base è che la tecnologia lato-server dovrebbe essere utilizzata solamente per aggiungere funzionalità dinamiche. Attualmente, molti siti la utilizzano anche per rendere più semplice la gestione di un sito - anche quando i contenuti sono statici - con il risultato di sobbarcare il server di lavoro inutile.
Naturalmente, grazie al continuo aumento della potenza delle CPU e al prezzo per l'hosting dinamico in discesa, sono pochi a preoccuparsi delle prestazioni. Questo è un punto di vista condivisibile: prima di ottimizzare qualcosa occorre chiedersi se il tempo necessario non potrebbe essere utilizzato meglio. D'altra parte utilizzare Cows invece di una tecnologia lato-server non comporta un dispendio di tempo aggiuntivo, e anche l'utilizzo combinato di Cows per le parti statiche e di un'altra tecnologia per quelle dinamiche è molto semplice.
Inoltre le pagine statiche hanno degli altri vantaggi rispetto a quelle dinamiche:
- le pagine statiche, a differenza di quelle dinamiche, posso essere cachate dai browser degli utenti e dai proxy, facendoti risparmiare banda;
- puoi creare il tuo sito senza installare un server web e un modulo per linguaggio di scripting dinamico o un application server;
- se fai parte di un team puoi permettere agli altri di vedere con facilità il tuo lavoro spedendo loro dei file HTML, senza chiedere loro di installare un server web e altri strumenti;
- puoi distribuire il tuo sito su un CD-ROM o permettere agli utenti di scaricarne un archivio compresso e consultarlo in un secondo momento;
- è possibile effettuare dei mirror del tuo sito con facilità;
- puoi effettuare rigidi controlli su situazioni inaspettate: utilizzando un linguaggio di scripting statico insieme ad un sistema di aggiornamento automatico (ex. Make), gli eventuali errori si manifesteranno senza dover testare tutto il sito e non costruirai ulteriore lavoro su di essi;
- puoi liberamente generare da script qualsiasi elemento (CSS, dimensioni delle immagini ecc.) senza preoccuparti di perdite di prestazioni;
- i tuoi siti saranno molto più sicuri se valuti determinate condizioni in fase di cosruzione e non in seguito ad ogni richiesta.
Il manuale di G-Cows fornirà un'analisi più approfondita di questi vantaggi.
Ma soprattutto, Cows ti permette di utilizzare tutti i tuoi strumenti Unix preferiti mentre crei un sito: puoi attraversare tutto l'albero di directory con `find', estrarre informazioni con `grep', creare complesse pipeline e così via..
Puoi anche includere degli script e programmi esterni, scritti in qualsiasi linguaggio il cui interprete o compliatore sia installato sulla macchina che utilizzi. Alcuni compiti possono essere molto semplici da portare a termine con un piccolo shell script; altri possono richiedere linguaggi più complessi.
Anche se utilizzi un linguaggio di scripting lato-server, puoi comunque apprezzare Cows per ogni compito che non richieda un aggiustamento dinamico dei contenuti del tuo sito. Attualmente uso Cows, PHP, moduli Apache custom e un application server.