Corso JavaScript

CORSO DI JAVASCRIPT


Prima Parte - Introduzione; JavaScript e il Web; Note per il lettore; Informazioni sulle versioni

Il World Wide Web parla sempre più spesso un linguaggio multiplo, non più composto solo da HTML puro ma da diverse componenti, sia dal server sia dal client, disposte in modo da rendere interattive e maggiormente fruibili le pagine, pilotando opportunamente gli eventi ad esse collegati. JavaScript rappresenta non solo il più usato, ma soprattutto il più versatile e comodo strumento a disposizione dei progettisti di pagine per ottenere questi risultati. Nonostante le forze in campo siano già schierate - VBScript, ma anche i cugini Java e ActiveX, il linguaggio di scripting originario di Netscape Communications rimane il favorito per moltissime applicazioni, anche perchè è il più supportato.

di Luciano Giustini


Introduzione

Per certi versi propriamente, molti in questo periodo di tempo sono convinti che il Web stia crescendo troppo o troppo in fretta, e si stanno interrogando su dove si arrivera' nei prossimi anni (o mesi). D'altronde, e' recente l'introduzione della tecnologia "push", ovvero quella tecnologia che permette di ricevere sul proprio desktop parte delle informazioni che normalmente ricerchiamo in rete, e della tecnologia degli "Agents", agenti software che girano la rete cercando per noi le informazioni che preferiamo. Due metodi innovativi e che, per certi versi, sono destinati a cambiare gli scenari dei prossimi anni, tanto dal lato organizzativo quanto da quello commerciale. Ma molte altre novita' si affacciano al monitor del nostro computer e non passa giorno che non si assista a miglioramenti, aggiunte, riversamento di dati, maggiori servizi offerti, possibilita' sempre piu' ampliate e impegnative. Rete GARR

   Questo ci porta a due considerazioni. La prima e' che a questo ritmo di crescita (che gia' molti identificano con un "calendario" differente: tre mesi normali equivarrebbero a circa un anno web) molte soluzioni tecniche sono destinate a cambiare rapidamente o a diventare obsolete nel giro di pochi anni (web).Questo gia' accade normalmente per il mondo dei computer, e non e' una novita'. Non e' nemmeno una gran notizia sapere che il proprio computer dopo pochi anni (normali) diviene obsoleto, ma tant'e'. Nel mondo di Internet questa trasformazione e', se possibile, ancora piu' rapida: tre anni fa il web era due o tre paginette, dopo un mese era mille, dopo tre mesi un milione; sempre tre anni fa una banda di 128K era il non plus ultra, avere un sito proprio costituiva un lusso e nella stragrande maggioranza dei casi le informazioni bisognava andarsele a cercare, e con cura anche. Ora, nella seconda meta' del 1997, ci sono centinaia di milioni di server collegati in rete, una linea a due Megabit e' considerata il minimo per un ISP, un sito con dominio proprio e' solo il punto d'ingresso per una serie di servizi che sempre piu' soggetti, anche di modesta entita', erogano sul web. Il TCP/IP, collante per tutta la ragnatela, ancora regge ma il protocollo HTTP gia' e' obsoleto e presto cedera' all'HTTP 1.1, piu' prestante. Le universita' americane, preoccupate dalla tendenza commerciale che il web sta mostrando e che si presume sara' la sua anima futura, stanno formando l'Internet II. Tutto questo mentre fra un po' il Web si unira' alla TV e gireremo tra i siti e riceveremo informazioni col telecomando del nostro apparecchio televisivo. Insomma, un mondo in continua evoluzione cui e' difficile star dietro, almeno tecnicamente, e che richiede sempre piu' impegno e investimenti per tenergli testa o al limite per rimanere "visibili".

   La seconda considerazione, importante per chi seguira' questi articoli, e' legata alle pagine. Il mare magnum delle pagine del web e' iniziato con il facile HTML 2.0, che ne ha decretato l'enorme successo e ha facilitato lo sviluppo di Internet intesa come ragnatela mondiale di documenti iper-collegati. Ma dopo poco gia' era l'ora di HTML 3.0, e siamo attualmente al 4.0. Ma questo e' nulla, perche' la crescita del web e' avvenuta talmente in fretta che si e' avuto bisogno, per soddisfare molteplici esigenze, di strumenti per l'impaginazione molto piu' articolati e potenti. E poiche' fin da subito una delle critiche mosse al web e' stata di essere ben poco interattivo, si e' avuto bisogno anche di strumenti per agganciare l'utente al server, e viceversa, per rendere "pronte alla risposta" le pagine, i moduli, le interrogazioni, e chi piu' ne ha piu' ne metta. Quindi all'HTML "puro" si sono affiancati nel tempo linguaggi interpretati, in bytecode, esterni, ecc. per rendere le pagine e i siti che le ospitano delle vere e proprie centrali di servizi.
   In tutto questo rigoglio di metodi e linguaggi per presentare i contenuti (che, per inciso, sono sempre l'unica cosa veramente importante di qualsiasi sito) si possono intravedere comunque alcuni "standard" (le virgolette, dopo tutto quanto detto, sono d'obbligo). Tra questi uno dei piu' quotati, per anzianita' e adozione generalizzata, e' senz'altro JavaScript. Il linguaggio interpretato di Netscape Communications ha sempre vissuto "sulla cresta dell'onda", passatemi il termine. Creato poco meno di due anni fa e' stato subito adottato da webmaster e sviluppatori di pagine web per moltissime applicazioni ed e' continuamente migliorato e potenziato da Netscape stessa, al fine di renderlo il piu' competitivo e resistente agli attacchi possibile. L'intento, come dicevo, sembra perfettamente riuscire e questo linguaggio non conosce flessioni di utilizzo o l'esistenza di gravi bug che ne compromettano l'uso. JavaScript, sebbene la sua "vita web" sia gia' lunga e la concorrenza (Microsoft alla testa) agguerrita, e sebbene si profili all'orizzonte un "fratello maggiore" del tutto simile (ECMA-JS, ne parleremo nella prossima puntata), e' e restera' ancora a lungo (sempre nel tempo web) il piu' accessibile e versatile metodo per ottenere interattivita' dalle nostre pagine, e servizi aggiuntivi per il nostro sito. Il tutto con il pieno supporto dei client Netscape (ovviamente, direi) e, a breve con la versione 4.0, anche di quelli Microsoft.


Client JavaScript

JavaScript e il Web

Dopo aver dato un'idea (senza dubbio incompleta!) del momento che la rete sta attraversando, e dopo aver introdotto a grandi linee il linguaggio JavaScript, iniziamo a vederlo piu' da vicino. Innanzitutto e' bene sottolineare che la grande forza di JavaScript (d'ora in poi JS), e anche la sua difficolta' iniziale, risiede nella vicinanza al C, e precisamente alla versione introdotta con Java, ovvero il C senza puntatori (da cui il prefisso Java-). Sebbene non presenti l'enorme versatilita' e duttilita' del C vero e proprio, e sia in ogni caso limitato nelle funzionalita' rispetto a Java, JS rappresenta comunque un linguaggio in tutto e per tutto, e in questo si discosta dalla procedura a marcatori dell'HTML. In altre parole, si tratta di due oggetti diversi, con finalita' simili ma con un approccio significativamente differente. Dal punto di vista esecutivo JS e' un linguaggio imperativo interpretato, dal client stesso, e quindi non richiede compilazione. Tutto cio' che serve per vederlo funzionare e' un client web che lo supporti. E' un linguaggio di scripting, e viene quindi scritto dentro le pagine web stesse (e' possibile anche collegarlo da listati esistenti, vedremo come). E' poi il client, individuatolo dai marcatori HTML propri, a eseguire il codice, a visualizzare la pagina, ad eseguire altro codice, e via interagendo.
Andiamo allora a vedere di cosa si tratta, come dichiararlo e utilizzarlo, proseguendo nella seconda parte del corso, in questo numero.

Note per il lettore

Il Corso tecnico JavaScript è rivolto soprattutto agli scrittori HTML. Per molti aspetti JS può essere considerato un'estensione dell'HTML perchè arrichisce il formato con una serie di nuove funzionalità di interattività, con una struttura ad oggetti, e con una gestione degli eventi. I programmatori alle prime armi potranno considerare JavaScript come un valido primo passo verso il più avanzato linguaggio di programmazione Java. Prerequisito essenziale per seguire questo corso è, quiundi, una buona conoscenza dell'HTML e delle caratteristiche di utilizzo di un client JS-compatibile come Netscape Navigator (dalla versione 2.0 in poi). Nel seguito del corso, poi, una posizione di primo piano verrà data al codice sorgente di JS. L'esame del codice è, infatti, il modo di gran lunga migliore per imparare i meccanismi di ogni linguaggio.

NOTE DI PROCEDURA
Le note di procedura per i lettori (salti di paragrafo, specificazioni, ecc.) all'interno dei capitoli del corso sono scritte con questo colore di sfondo.

TRUCCHI E ASTUZIE
I consigli e i trucchi per i lettori (note di sintassi, consuetudini, ecc.) all'interno dei capitoli del corso sono scritte con questo colore di sfondo.

Informazioni sulle versioni e sul software di sviluppo

Al momento di comporre questo corso, JavaScript 1.0 è supportato correttamente da Netscape Navigator 2.0, mentre la versione 1.1 da 3.0 e 4.0 nelle varie piattaforme, e da Microsoft Internet Explorer 3.0 (vedi oltre) e 4.0 beta. Tutti gli esempi riportati sono stati collaudati con una gamma di versioni Netscape tra le quali Navigator 3.0 e 4.0. Sebbene sin dalla versione 2.0 di Netscape JS sia supportato correttamente, Netscape Navigator 3.0 è la versione minima raccomandata come ambiente di sviluppo JS, per le notevoli migliorie e bug-fix che vi sono stati apportati. Ricordatevi che molte caratteristiche di JS che funzionano sotto Netscape Navigator 3.0 non sono compatibili all'indietro con Navigator 2.0, mentre in avanti in genere non c'è alcun problema. Faccio notare anche che, diversamente dalla versione 4.0 attualmente in via di ultimazione, la versione 3.0 di Internet Explorer supporta solo un subset del JS 1.1. Se dovrete sviluppare codice con la specifica di compatibilità per entrambi i client, dovrete provarlo anche sotto MSIE prima di poterlo pubblicare.

Collegamento d'articolo

Corso JavaScript - Seconda Parte


Logo Corsi di BETA Per saperne di più sui corsi di BETA



Luciano Giustini è raggiungibile su Internet all'indirizzo l.giustini@beta.it

Copyright © 1994-1997 BETA. Tutti i diritti riservati.