Il CSS è per sviluppatori

Lea Verou fa una riflessione sul linguaggio CSS. Le capacità richieste per scrivere un buon codice CSS sono in gran parte le stesse capacità richieste per scrivere un buon codice in generale. E' rischioso affidare la scrittura del codice, anche se si tratta di CSS, ad un visual designer?
Il CSS è per sviluppatori

Specifiche sulla traduzione

Di seguito la traduzione dell’articolo “CSS is for developers” di Lea Verou.

Designer o programmatore, questo è il problema!

Spesso le persone suppongono che, dato che il linguaggio su cui mi concentro è il CSS, allora debba essere una web designer. Non fraintendetemi, amo con passione il visual design. L’ho studiato molto nel corso degli anni e ho lavorato a molti progetti di design per i clienti. Cavolo, ho persino un profilo su Dribbble!

Comunque, se dovessi scegliere un ruolo, mi considererei assolutamente più un programmatore che un designer. Ho scoperto da sola la programmazione quando avevo 12 anni e finora è stato l’amore della mia vita che è durato più a lungo. Nonostante abbia perso la mia “verginità di programmatore” con Visual Basic (è qualcosa che ancora mi imbarazza), nel corso degli anni ho programmato in Java, C, C++, C#, PHP, JavaScript prima di arrivare ai CSS. A dire la verità ho studiato Informatica all’università e mi sono laureata quarta nella mia classe, mentre ho imparato totalmente da sola tutto quello che riguarda il design. La mia personalità è molto più simile a quella dei programmatori rispetto a quella dei designer. La programmazione mi risulta naturale, ma devo lottare per migliorare il design. Sono un programmatore migliore di quanto potrei mai essere se fossi un designer.

Ancora, la supposizione è che “non posso essere un programmatore ed essere interessata ai CSS, quando ci sono tutti questi fantastici linguaggi di programmazione su cui invece concentrare la mia energia. Quindi devo essere un designer… giusto?“. Ci sono addirittura persone che sanno dei miei progetti open source, e ancora pensano che io non possa programmare in JavaScript o in qualunque altro linguaggio di programmazione (non sono sicura di come si possano fare la maggior parte di questi tool con il CSS puro, ma poichè il CSS è un “Turing complete“, credo ci possa essere un modo!).

Se pensate che io sia un’eccezione, vi sbagliate. Chiunque altro nel W3C CSS Working Group, il gruppo che definisce il futuro dei CSS, rientra nel profilo di un programmatore molto più che in quello di un designer. Infatti, potrei essere la persona “più designer” al suo interno! Persino fuori dal WG, le persone che conosco che sono davvero brave con CSS, sono programmatori o ibridi (designers & programmatori).

Non è una coincidenza. Le capacità richieste per scrivere un buon codice CSS sono in gran parte le stesse capacità richieste per scrivere un buon codice in generale. Il codice CSS necessita anche di essere riutilizzabile, facile da aggiornare, flessibile, ecc. Il CSS può avere un output visibile, ma è pur sempre un codice, proprio come SVG, WebGL/OpenGL o il JavaScript Canvas API. Richiede ancora lo stesso tipo di pensiero analitico che richiede la programmazione. Specialmente in questo periodo in cui la maggior parte delle persone usa preprocessori per il loro CSS, con variabili, calcoli, costrutti condizionali e cicli, sta quasi iniziando a sembrare programmazione!

Trovo controproducente che il CSS in molti lavori venga assegnato ai designers. I designers dovrebbero fare ciò che fanno meglio e che amano: Design. Certo, dovrebbero essere consapevoli delle limitazioni pratiche del mezzo e dovrebbero essere capaci di leggere e modificare quanto basta il CSS o di creare un prototipo per mostrare come il loro design si comporta in diverse condizioni, ma non dovrebbe essere il loro lavoro quello di scrivere CSS per la produzione. I talenti richiesti per essere un buon designer e un buon programmatore sono molto diversi ed è irragionevole aspettarsi entrambi da tutti. Inoltre, quando sai che dovrai montare un design sul quale stai lavorando, la tentazione di produrre designs che possano essere facilmente convertiti in CSS è molto alta. Solitamente non ci aspettiamo che i programmatori si occupino di design, anche se è un bonus aggiunto il fatto che abbiano anche un occhio per il design. Dovrebbe essere lo stesso per i designers.

E se sei un designer che scrive un CSS fantastico e stai per rimproverarmi nei commenti, trattieniti. Non sto dicendo che non dovresti programmare in CSS. Sto dicendo che se sei bravo a fare questo, significa che sei sia un designer che un programmatore. Hai fatto centro!

Search
Tags
Seleziona rubrica
Seleziona rubrica
Codice Github