World Wide Web est encore jeune et ses navigateurs souffrent de lacunes. Ils ont été pensés en terme d'information statique, ne s'accomodent que de données de type texte, son ou image et se prêtent encore difficilement à la programmation dynamique. L'ambition de Sun avec sa technologie HotJava est d'insuffler une philosophie dynamique à l'information, de transférer en même temps que l'objet le module logiciel qui sera capable de le traiter, le représenter ou le visualiser. Cette philosophie est héritée en droite ligne du langage Java, également conçu par Sun, avec lequel il a été écrit.
Lorsqu'un navigateur traditionnel rencontre un nouveau type d'objet pour lequel il n'est pas préparé, il doit céder la main à une application extérieure ou sauver l'objet sur disque, faute d'outil de traitement adéquat. HotJava par contre peut délivrer via Internet un objet et la pièce de code nécessaire à son décodage. La même conception objet est appliquée à la gestion des protocoles de transfert de données. A côté du protocole HTTP, HotJava peut accepter dynamiquement de nouvelles formes de protocoles incluant par exemple de l'encryption. Chaque concepteur d'un protocole propriétaire peut intégrer dans un navigateur HotJava le code nécessaire à son bon fonctionnement. Si le client HotJava ne connaît pas encore le nouvel objet ou le nouveau protocole, il réclame simplement au serveur les portions logicielles requises.
Sun met à la disposition de tous sur http://www.sun.com un kit de développement en phase alpha incluant le browser HotJava et les spécifications du langage Java. Le kit est disponible pour stations Solaris et NT, Windows 95 et Macintosh.
Java est un langage orienté objet, distribué, interpreté, portable, multi-thread et dynamique. Il s'agit d'une version du langage C++ qu'on aurait allégé de sa complexité formelle. Java est conçu pour la programmation distribuée et est capable d'ouvrir et accéder des objets à distance via différents protocoles. Java utilise pour ses transferts une technique d'encryption basée sur le système de clé publique. Pour accentuer le caractère portable des données, Java utilise un format neutre de fichier objet capable d'être interprété puis utilisé sur un grand nombre de plates-formes et processeurs différents. La création d'applications incluant plusieurs processes ou threads est facilitée par la présence de primitives vouées à la synchronisation de ces threads.
Sans même encore écrire de code Java, il est possible d'intégrer des animations sonores et visuelles dans une page HTML sous forme d'applet. La portion de page HTML suivante est suffisante pour traiter une animation graphique ou un fichier son. Hot Java supporte déjà le son 8 kHz, 8 bits au format .au et est capable de réaliser une animation à partir d'une série de fichiers graphiques GIF.
<BODY> My HelloWorld applet: <APP CLASS="ImageLoopItem" SRC="doc:/demo/" IMG="images/duke"> </BODY>
Une application complète ressemble à ceci
import browser.Applet;
import awt.Graphics;
class HelloWorld extends Applet
{
public void init()
{
resize(150, 25);
}
public void paint(Graphics g)
{
g.drawString("Subliminal Hello world!", 50, 25);
}
}
On l'appelle dans le corps d'une page HTML avec la commande <APP CLASS="HelloWorld">
Les opérateurs sont identiques à ceux du langage C, des librairies C pouvant aussi être ajoutées à une application Java.
Java est décrit à travers une machine virtuelle, un modèle abstrait et logique incluant un jeu d'instructions, un jeu de registres, un stack, un heap et une espèce de segment texte baptisé ici "method area".
Toute une série de classes prédéfinies permettent de jongler avec des objets de base aux noms évocateurs d'Url, Ftp, Http, telnet, smtp, nntp ou sockets. Bref, on dispose d'une librairie de classes World Wide Web très fournie et le développement d'applications Internet en est considérablement simplifié.
Les navigateurs Hot Java sont disponibles gratuitement sur l'Internet pour les utilisateurs individuels, tandis que les kits pour développeurs seront payants.
Retour à la table des matières
Dernière modification de cette page : 14 novembre 1996