Javascript, Java ed ActiveX

JavaScript

Javascript e' un linguaggio interpretato in continua evoluzione che puo' essere usato per estendere le funzionalita' di pagine HTML.

Javascript e' stato inventato dalla Netscape con la release 2 del Navigator ed aveva il nome originario Livescript. Javascript non ha niente a che fare con Java. La versione di Netscape 3 e' molto piu' stabile e meno prona ad errori. Si prevede un'evoluzione e manutenzione futura del linguaggio.

Si tratta di procedure inframmezzate al testo della pagina HTML e racchiuse da opportuni tag. Il programma browser interpreta tali procedure durante la resa della pagina ed esegue delle azioni di conseguenza.

Un esempio di procedura Javascript e' la seguente, che produce una piccola tabella di fattoriali:

<html>
<head>
<title>Tabella di Fattoriali<title>
<head>
<body bgcolor="#ffffff">
<script language="JavaScript">
document.write("<h2>Tabella di Fattoriali<h2>
for(i=1, fact=1; i<10; i++, fact*=i){
        document.write(i + "! = " + fact);
        document.write("
} <script> <body> <html>

Per vedere un risultato di tale procedura cliccare qui.

Visivamente la pagina generata e' come segue:

Javascript e' un linguaggio dalla sintassi non troppo complessa e rassomigliante ad una mescolanza tra il Linguaggio C ed alcune caratteristiche di Java. Il linguaggio e' basato sugli eventi e vagamente orientato agli oggetti, tranne che non e' possibile definire oggetti nuovi ma bisogna creare applicativi basati sugli oggetti gia' forniti.

Alcune cose che si possono fare con Javascript:

Per quanto inventato originariamente per la piattaforma browser Netscape, Javascript e' supportato anche dai browser Microsoft, seppure con una release di ritardo rispetto a Netscape.

Java

Il linguaggio di programmazione Java e' un linguaggio orientato agli oggetti e guidato dagli eventi, di complessita' simile al C++ e particolarmente studiato per l'ambiente Web.

Gli applicativi generati in Java possono essere:

Un applet viene generato sulla macchina server scrivendo il codice sorgende e poi effettuando una semicompilazione col compilatore Java. Questo compilatore controlla la sintassi e poi genera del codice intermedio, detto bytecode, che non dipende da nessuna architettura di CPU specifica.

Quando un browser si collega via Web ad una pagina che contiene il riferimento ad un applet Java, lo applet viene inviato tramite rete al browser del client. Per risparmiare tempo di scaricamento tutti gli applet sono semicompilati in maniera dinamica: le librerie di riferimento si trovano gi a' a bordo del client.

Il browser del client trasforma dapprima il 'bytecode' in una versione piu' vicina all'architettura della macchina di destinazione e poi interpreta ed esegue il codice risultante.

Java puo' fornire un programma client in un'architettura client / server che interagisce in modo ottimale col server e rende le piattaforme client finalmente libere dai problemi di versione. E' un vero sogno di portabilita' ed efficienza per i fautori del modello esteso client server.

Ci sono pero' tutta una serie di problemi:

ActiveX

ActiveX e' un'offerta puramente e completamente Microsoft, che funziona solo su Internet Explorer. L'idea e' molto simile a quella di Java e comporta la distribuzione di un programma in rete che viene poi eseguito sul calcolatore del browser client. Il programma e' ottimizzato per essere eseguito sulla piattaforma Windows 95, NT e future (difatti non puo' essere eseguito su nessun'altra piattaforma).

Lo sviluppo di applicativi ActiveX e' piu' facile in Windows di quello di applicativi Java e puo' essere fatto da uno qualsiasi degli ambienti di programmazione grafica di Microsoft, Visual Basic incluso.

ActiveX ha maggior facilita' di Java per quanto concerne la generazione di nuovi 'controlli' e di nuove classi e supporta il modello orientato agli oggetti di Microsoft (non lo standard internazionale CORBA).

Almeno fino ad ora ActiveX ha avuto la fama di essere un disastro dal punto di vista della sicurezza. Mentre in Java alcune attivita' semplicemente non si possono compiere, ActiveX da la possibilita' al programmatore di controllare l'intero sistema operativo del client, incluso volendo riformattare il disco fisso.

ActiveX e' un toolkit di virus istituzionalizzato. Anche se per protezione i programmi ActiveX sono coperti da certificati forniti solo da enti pubblici e' stato ampiamente dimostrato che sia e' abbastanza facile ottenere tali certificati, sia e' possibile convincere l'utente finale, con opportuna ingegneria umana a disabilitare le protezioni sul client.


©1998 A.P.Software Informatica