Le développement de Javascript

Le développement de JavaScript et de sa documenataion continu. De nouvelles caracteristiques sont prévues, et certaines pourraient être modifiées, si necessaire.


Introduction

Le langage JavaScript

JavaScript est un langage compacte, orienté objet pour développer des applications serveur et clients sur Internet. Netscape Navigateur interprète le JavaScript directement intégré aux pages HTML, et LiveWire vous permet de créer des applications basés sur le serveur, ressemblant aux CGI (Common Gateway Interface).

Dans une application client pour Navigateur, le JavaScript intégré dans les pages HTML peut réagir aux actions de l'utiliosateur, comme des clicks de souris, des reponses de formulaires et des pages de navigation.

Par exemple, vous pouvez écrire une fonction JavaScript pour vérifier que la réponse dans un formulaire du genre de celle de votre numero de telephone est valide (elle ne l'est pas, par exemple, si vous mettez un numero de tel à 15 chffres...;-)). Sans aucune transmission sur le réseau, une page HTML dans laquelle est intégrée du JavaScript peut interpreter un texte inséré par un utilisateur et lui demander confirmation avec une boite de dialogue. De même vous pouvez utiliser JavaScript pour jouer un son, comuniquer avec un plug-in, executer une autre fonction en réponse d'une action ou d'une omission (!!) de l'utilisateur, comme quand vous chargez une page, ou quittez une page, quand votre curseur passe par quelquepart, etc...


JavaScript et Java

Le langage JavaScript ressemble à Java, mais sans sa syntaxe statique et moins maléable. JavaScript supporte la plupart des commandes de Java. A la difference du systeme de compilation de classes de Java, JavaScript supporte un systeme de run-time basé sur un petit nombre de données, representant des valeurs numériques, booléennes, et chaînales. JavaScript est définit par des comandes trés simples, mais qui lui donnent des capacités signifiantes.

JavaScript supporte aussi des fonctions, toujours sans besoins déclaratifs spéciaux.

JavaScript complemente Java par un exposé des propriétés utiles des applis Java aux auteurs de Script. un évenement JavaScript peut recevoir et définir des propriétés, sans amoindrir les performances d'applis Java ou d'un plug-in..

Java est un langage créé pour être une extension, en particulier pour des executions rapides, et sans dangers. Si elle est sans danger, c'est car il est impossible de mettre un int dans une réference d'objets, ou d'acceder à des informations confidentielles en "cassant" le code de javascript.

Les programmes Java ne sont constitués que des classes et de leurs procédés. Dans Java, le besoin de déclarer les classes, d'écrire les procédés, et s'assurer que la syntaxe est exactement exacte font de JavaScript un langage beaucoup plus simple d'emploi.

Ensuite, JavaScript est le descendant de langages de programmation en temps réel trés simple comme HyperTalk et dBASE. Ces langages offrent un langage à une audience beaucoup plus grande du fait de leur simplicité, avec des fonctions intégrées spécialisées, et des besoins trés limités pour créer des objets.

Le tableua siuvant compare Java et JavaScript.

JavaScript Java
Interprété (pas compilé) par le client. Compilé sur le serveur avant l'éxecution sur le client.
Basé Objet. Le code utilise des fonctions intégrées, des objets extensibles, mais pas de classes ou de successions. Orienté Objet. Les applis consistent en classes qui sont des objets, avec des successions.
Code integré, et inclus au HTML. Applis distinctes du HTML (accédé par des pages HTML).
Les types de variables ne sont pas déclarées (loose typing). Les types de variables doivent-être déclarées (strong typing).
Classeurs Dynamiques. Les références des objets sont vérifiées au moment du chargement. Classeurs Statiques. Les références des objets doivent exister à la compilation.
Sécurité. Ne peut pas écrire sur le disque dur. Sécurité. Ne peut pas écrire sur le disque dur.


Développement de JavaScript

Vous n'avez pas besoin de savoir programmer les classes pour étendre leurs fonctionnalités, ou pour en tirer des données. En fait, l'auteur utilises des composents terminés exposant les grandes lignes de l'application, comme "visible" ou "couleur", et ensuite définit ses propriétés pour executer la tache voulue.

Par exemple, supposez que vous vouliez déssiner des pages HTML qui contiennent un texte de catalogue, la photo d'un tee-shirt disponible en plusieures couleurs, un formulaire pour commander le tee-shirt et un selecteur de couleur pour le tee-shirt, qui est visuellement intégré au formulaire. Vous pourriez ecrire une appli Java qui déssinerait toute la page, mais vous seriez confronté au langage de programmation qui serait trés trés trés compliqué.

Une meilleure solution serait d'utiliser la puissance de Java en implementant uniquement le selecteur de couleur et al photo du tee-shirt, et utiliser le HTML pour le travail de frames et le formulaire d'achat. Un script qui s'execute quand on, clique sur une couleur pourrait transmettre la valeur de la couleur à l'appli chargée d'afficher la photo du tee-shirt. De plus, on pourrait utiliser cette application tout le long du catalogue, et l'on n'aurait même pas à savoir comment programmer en Java.