Professione Scripter ... la accendiamo ?

Il JavaScript è diventato di forza e cuore pulsante dei più innovativi servizi Web 2.0, l'ActionScript è da tempo un linguaggio usato per creare siti, pubblicità ed altro ancora. La professione dello Scripter però stenta ad essere ufficializzata mentre potrebbe essere proprio questa la figura professionale capace di fare la differenza.
Il JavaScript è diventato di forza e cuore pulsante dei più innovativi servizi Web 2.0, l'ActionScript è da tempo un linguaggio usato per creare siti, pubblicità ed altro ancora. La professione dello Scripter però stenta ad essere ufficializzata mentre potrebbe essere proprio questa la figura professionale capace di fare la differenza.

Questa è l’era del Web 2.0, dove lo script viene sfruttato più che mai… e dove ancora si trovano errori poco ammissibili anche nell’era “precedente”.

Nelle ultime settimane si è parlato tanto della figura professionale dell’addetto al codice client, solitamente denominato come “JavaScripter” o perchè no “ActionScripter“, mentre in italia si è parlato anche molto della situazione lavorativa del settore ITC quando diuscussioni sui soli professionisti Web sono all’ordine del giorno.

In molti sembrano essere d’accordo sul fatto che non si possa vivere di solo scripting, e se persone note a livello internazionale in questo ambito, come è ad esempio Dean Edwards, arrivano a dichiarare frasi come questa:

In dieci anni di contratti come programmatore, soltanto una volta sono stato assunto per scrivere Javascript.

significa che il lavoro dello scripter non è mai preso seriamente in considerazione… e sinceramente, se posso permettermi, i risultati si vedono quotidianamente, anche nelle note Big di settore!

Il punto è che “lo scripting” viene spesso visto come un gioco, un di più divertente, che non richiede ne esperienza ne competenza, “tutti sanno o possono imparare facilmente l’ECMAScript”, pensiero probabilmente in vetta alla classifica dei requisiti minimi di settore per presentarsi ad un colloquio.

Niente di più opinabile, a mio modesto parere, la conoscenza del JavaScript o ActionScript che sia non è innata ne scontata. Entrambi sono linguaggi di programmazione nonchè tra i più discussi di questa rete; il solo JavaScript ha numerosi modi di essere scritto ed altrettanti modi per essere sfruttato in maniera ottimale dagli ancora tanti browsers che ci sono in circolazione, mentre ActionScript, seppur interpretato da una pseudo macchina virtuale, ha la possibilità in alcuni casi di essere sfruttato diversamente su browsers differenti e di garantire performaces più o meno elevate a seconda del codice utilizzato.

Dove voglio arrivare? Avete mai navigato, e rapidamente abbandonato, un sito pieno di errori JavaScript? Avete mai dovuto cambiare browser per un servizio on-line importante ma “ottimizzato” solo per una versione di un unico browser? Vi siete mai imbattuti in un banner capace di bloccarvi apparentemente il PC, mandare il processore al 100% ed impedirvi di svolgere le normali operazioni al punto da costringervi a chiudere temporaneamente il browser apparentemente bloccato?

A me tutto questo è capitato numerose volte! In periodo natalizio dello scorso anno, ad esempio, un banner di una nota azienda di telecomunicazioni mi ha costretto più volte a chiudere la pagina navigata, processore al 100% e la stessa cosa mi è accaduta di recente con un altro banner di un altra azienda ICT, presente in diversi portali.

Sebbene entrambe le compagnie non si occupino di realizzazione siti, entrambe si appoggiano ad altre aziende, o incorporano uno staff dedicato, per promuovere i loro indubbiamente validi prodotti. Ma se al supermercato dovessi trovare una carne di prima scelta, prodotta secondo i migliori standards igenici e qualitativi, e la stessa dovesse mostrare un’etichetta raffigurante una discarica, spenderei mai dei soldi per acquistarla?

Se un banner contenente del discutibile codice AS ed invita i navigatori a chiudere la pagina ospitante, in quanti ci rimettono?

Da un punto di vista esclusivamente professionale la mia prima impressione è stata che alcuni tra gli addetti ai banners di queste aziende hanno conoscenze scripting troppo superficiali e non sono stati in grado, almeno in questi due (ammetto rari) casi, di ottimizzare il codice al punto da non creare problemi ai navigatori. Che siano anche loro precari o inesperti dipendenti sotto contratto di formazione a tempo determinato? Non lo so e spero che almeno nelle grandi aziende si faccia una vera formazione del personale, qualora sia stato scelto appositamente inesperto, o almeno test di valutazione effettiva delle capacità di medio o alto livello prima dell’eventuale assunzione.

L’ultimo caso degno di nota che mi ha lasciato perplesso è l’Intel Web 2.0 Technology Development Kit (TDK), un’idea innovativa quanto inaspettata e gradita, che sfrutta però un codice client decisamente discutibile!

La verifica continua di un una funzione runningIE, l’abilitazione dei privilegi (netscape.security.PrivilegeManager.enablePrivilege( “UniversalXPConnect” );), non una volta per tutti o tramite un semplice metodo di oggetto ma sempre, ovunque in ogni file proposto, viene definita solitamente ridondanza.

Il mancato utilizzo di switch a favore di prolissi e meno appropriati if else if è parte integrante del toolkit, mentre funzioni di questo tipo:

function runningIE ()
{
var MSIE = "Microsoft Internet Explorer";
if ( navigator.appName == MSIE )return true;
return false;
}

banalmente ottimizzabili in questo modo:

function runningIE (){
return navigator.appName == "Microsoft Internet Explorer"
};

lasciano pensare che chiunque si sia occupato del codice client non sia stato particolarmente attento durante la sua stesura… ed eccovi la perla in grado di confermare questa “apparenza”:

function EventObserver(userData)
{
this.data = userData;
this.me = this;
this.invoke = function (eventData)
{
alert("this.me.data = " + this.me.data + " eventData = " + eventData);
}
this.notify = function (eventData)
{
alert("error: you must override this notify function");
}
}

this.me = this … tecnicismi a parte, una riassegnazione completamente inutile in quel tipo di contesto, dato che this.me.data sarà l’esatto equivalente del più “naturale” this.data.

Questo insieme di “piccoli orrori” è ovviamente trascurabile ed anche in questo caso nessuno mette in dubbio qualità e affidabilità storica del marchio Intel, ma almeno io sono convinto che in selezione personale puntino al massimo.

  1. Allora perchè non farlo anche quando si tratta di scripting?
  2. Perchè sembrano essere tutti convinti che “uno scripter vale l’altro“?
  3. Perchè se ci si butta nel settore non lo si fa nel miglior modo possibile o non si forma il proprio personale al meglio prima di fare “il salto”?
  4. Perchè quella dello scripter non viene riconosciuta come una vera e propria figura professione a se, che non ha nulla a che vedere con la grafica, con la programmazione C, C++, C# o Java che sia e che ha caratteristiche e potenzialità elevate, essendo l’unico anello mancante tra i numerosi linguaggi servers e le varianti per presentare dei contenuti?
  5. Possibile che nessuno sembra aver ancora valutato il fatto che un abile scripter, tanto quanto un abile sviluppatore server, possa trovare soluzioni innovative e fare veramente la differenza all’interno di un team di sviluppo Web (e non)?

Se nemmeno i Bigs quindi investono di più nello “scripting client” o sottovalutano l’importanza di una stesura dello stesso fatta da persone competenti, siamo così sicuri di essere pronti per questo Web 2.0?

Ti consigliamo anche

Link copiato negli appunti