AJAX, Anything else

Javascript > DHTML > AJAX > Web 2.0 > Frameworks > ToolKit ….è la strada giusta?

Che sia la strada corretta?

Questa la situazione:

Tanto tempo fa lo chiamavamo DHTML e per lo pi√π lo si vedeva nei siti “da smanettoni”, ingredienti: HTML e Javascript.
Si, lo stesso javascript che fino a poco tempo fa veniva denigrato anche per i controlli sui mail form…adesso sembra che Javascript sia diverso, sia pi√π buono, oserei dire quasi indispensabile per un sito web tanto se ne parla, perchè questo non è pi√π il “www”, questo è il “web 2.0″…ingredienti: HTML e Javascript….-.-‘

Un Javascript in framework, beninteso, lungi dall’essere paragonabile a quanto popolava i siti prima dell’avvento di prototype, jquery, scriptaculous e quant’altro, ma pur sempre Javascript. Google ci sta scommettendo da un bel pezzo, gran parte delle sue applicazioni sono AJAX, anzi, sono le antesignane delle applicazioni web-based di un certo calibro (basti pensare a google maps, google documents o alla stessa gmail), ora la segue a ruota Microsoft dopo aver provato a fare il verso ad Adobe con il suo Silverlight.
Certo è che la via che si sta percorrendo (o che almeno Google e ora Microsoft hanno intrapreso) è quella di portare i programmatori al web, o meglio…ai soliti 2 ingredienti: HTML e Javascript.

Perplessità

Sono perplesso. Da quando sono al mondo (digitale :)) ho sempre sentito parlar male da tutti (anche all’università tra l’altro…) di Javascript per i motivi pi√π diversi…ne elenco alcuni:

  • è un linguaggio weak typed
  • è interpretato dai client pi√π disparati (per lo pi√π gecko webkit e internet explorer) con tutte le problematiche che ne conseguono (ogni browser “capisce quello che vuole lui“)
  • non tutti lo abilitano, i browser pi√π diffusi danno la possibilità all’utente di disattivarlo (anche di default volendo)
  • è difficilmente debuggabile (a causa delle interpretazioni e del weak typing)
  • ha una mediocre (per non dire scarsa) capacità di gestione degli eventi
  • in ogni caso si appoggia ad un linguaggio di output anch’esso di libera interpretazione…HTML

Come da ultimo punto…HTML. Oltre a tutti i problemi relativi allo scripting Javascript bisogna appoggiarsi ad un output HTML sommando dunque tutti i problemi relativi all’interpretazione del box model.

Prospettive

Sono pessimista a riguardo, Javascript (che venga sputato da un “compilatore” Java o .NET o da un framework o da quel che sia) resta un linguaggio DEBOLE, e lo si sta sopravvalutando TROPPO.

Tuttavia è l’unica alternativa free e open per lo scripting lato client su web. Esistono anche altre realtà: flash player e java applet per citarne due, ma sono tecnologie proprietarie che funzionano senz’altro meglio, ma richiedono all’utente plugin o interpreti per girare sul browser “sporcando” la concezione purista di web (anche se Adobe Flash Player è installato praticamente ovunque).

Un motore di rendering HTML e un interprete Javascript unico risolverebbero qualcosa? non credo, o meglio, in minima parte: ci sarebbero meno problemi nella visualizzazione corretta di un documento HTML, ma rimarrebbe la “pochezza” di un linguaggio di programmazione approssimativo come Javascript.

Javascript VS Actionscript

Faccio un parallelo con Actionscript, visto che è il linguaggio che padroneggio con maggior sicurezza ed è (o meglio era) molto simile a Javascript per certi versi (e poi qui siete a casa di un flasher ricordate?:D).
Per come la vedo io Javascript attualmente riesce a fornire all’utente un’interazione con il browser pi√π o meno pari a quanto Actionscript riusciva a fare ai tempi di Flash 5 (quando venne abbandonata la sintassi della barra per quella del punto per intenderci..) nel lontano 2000 sotto l’ombra del millennium bug.
Da allora Actionscript ha implementato lo strong typing, è passato all’OOP e ha reso possibili le Rich Internet Applications grazie ad una piattaforma sempre pi√π aggiornata e diffusa come Flash Player…Javascript dal canto suo non è passato all’OOP (se non in modo fittizio) nè è stato implementato lo strong typing…e l’interprete continua ad essere diverso da browser a browser limitando non poco chi si accinge a farne uso.

Conclusioni?

Avevo già affrontato l’argomento flash vs ajax in passato, ma la faccenda si sta evolvendo in fretta e in direzioni “impreviste”, quindi ho preferito ritornarci sopra, anche solo per chiarirmi le idee a riguardo. Non voglio trarre conclusioni univoche, suppongo che venga piuttosto facile intuire che “tifo” per l’ulteriore affermazione di flash, ma a breve assisteremo ad una nuova svolta online con l’avvento di HTML5…sperando che le sorprese non finiscano con una rivisitazione del box model… e chissà che non sia capace di farmi cambiare parere a riguardo 😀

…ad ogni modo, se avete letto i miei penseri fin qui, bè…avanzate una birra 😀

stay tuned

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s