Jenkins: non solo Java
Monday, June 27th, 2011Stavo scrivendo un post dopo aver letto l’annuncio di questo strumento per il controllo dei CSS quando mi è venuto in mente che forse sarebbe più interessante discutere dell’evoluzione generale del (mio) modo di creare applicazioni1 per il web. Quindi ho buttato nel cestino il post sui CSS.
Oltre il “plain text”
Una delle ragioni del successo del web è il fatto di essere basato su formati testuali: se voglio vedere com’è fatta una pagina, un foglio di stile, uno script, basta che lo apra con un qualsiasi editor di testo. Anche su tutti i processi che stanno a contorno del lavoro creativo vero e proprio beneficiano di questa semplicità. Una volta creato un file, questo è pronto per svolgere la sua funzione senza passaggi intermedi, basta caricarlo sul sito.
Tutto questo, però, è sempre meno vero perché la pressione per ottenere prestazioni sempre migliori sta portando sempre di più verso un contenuto che, se ancora si può tecnicamente definire “plain text”, risulta illeggibile in modo diretto. 2.
Poi ci sono l’ottimizzazione delle immagini o, come abbiamo visto, i controlli di qualità ecc. Insomma, si può dire che i processi usati nel creare delle applicazioni “tradizionali”, con linguaggi compilati e anche il semplice sito statico, si assomigliano sempre di più.
I prossimi passi
Sono perciò arrivato alla conclusione che è sensato usare gli stessi strumenti in tutti casi.
Quindi, anche se devo ancora programmare la questione nel dettaglio, sicuramente comincerò a spostare i progetti sotto Jenkins; da lì vedrò poi di decidere caso per caso le operazioni da fare. In alcuni casi gli stadi del processo saranno delle semplici ottimizzazioni, in altri ci saranno anche tutte le varie batterie di test ma l’infrastruttura di base sarà la stessa.
- C’è sicuramente una bella differenza fra un sito “statico” e un’applicazione, ma credo che sia conveniente comunque considerarli come estremi di uno stesso spettro. Anche per le ragioni esposte in questo post. ↩
- Gli esempi ovvi sono la miniaturizzazione dei fogli di stile e degli script. Anzi, per JavaScript siamo ormai arrivati alla compilazione vera e propria. Poi ci sono altre forze di cambiamento come la sempre maggiore dinamicità delle pagine, il cui contenuto finale, una volta che il browser ha completato il processamento, non assomiglia nemmeno lontanamente a quello partenza. ↩




