JavaScript, pour des pages Web dynamiques et au delà
Depuis que Netscape a créé JavaScript pour programmer des pages HTML
dynamiques, ses applications n'ont cessé de s'étendre.
Il est utilisé aussi pour permettre le scripting dans
des applications à langage de balisage (PDF, photoshop, XUL utilisent
JavaScript) et même pour la programmation système!

JavaScript dans Eclipse
Il s'est appelé successivement
Moka, puis LiveScript et finalement avec l'accord de Sun, JavaScript.
JScript est une version compatible implémentée par Microsoft
en 1006, pour Windows uniquement.
Le format décrit ici est ECMAScript 1.5, défini par l'ECMA en 1999. Des versions plus récentes existent, mais ne sont pas supportées par tous les navigateurs.
Caractéristiques
- La syntaxe du langage est similaire à celle de Java ou C.
- Variables dynamiques. Déclarées comme "var", des données de types différents peuvent être assignées à une même variable. Firefox avec le version 9 introduit l'inférence de type qui fait que le compilateur peut traiter les variables comme typée et accélérer considérablement le traitement.
- Orienté objets, utilise les éléments de la page comme objets. Les objets sont dynamiques.
- Pas de gestion de fichier ni de fonctions d'entrées-sorties (sauf boites de dialogues).
La fonction d'écriture sur fichier local est inclus dans HTML 5. - Contrôle du navigateur.
- Evènements.
- Tableaux dynamiques et associatifs.
- Les primitives (non déclarées) sont: boolean, string, number, date.
- Les objets Date, Math, RegExp sont prédéfinis.
- Un construct for .. in permet de scanner un tableau.
- Les fonctions sont déclarées avec le mot-clé function, sans type de retour.
- Opérateurs de Java plus: === et !==, comparaisons sur valeur et sur type.
- Les éléments de la page sont réferencés comme une hiérarchie d'objets, incluant ceux du Document Object Model (DOM, un standard du W3C): document, window, form, table, etc...
- Description complète de la syntaxe.
Exemple de code
Afficher les éléments d'une chaîne.
<script language ="JavaScript1.2">
var demo = "demo";
function dispstring(str)
{
for(i = 0; i < str.length; i++)
{
document.write(str.substring(i, i+1));
}
}
dispstring(demo);
</script>
Pourquoi utiliser JavaScript?
Rendre les pages web dynamiques, ajouter des menus, par exemple. C'est
aussi la base d'Ajax,
un standard pour accélérer l'affichage des pages. Des cadres
d'applications sont développés en JavaScript pour créer
des interfaces d'applications web.
Il est utilisé aussi pour programmer des interfaces graphiques
utilisateurs en XML, au format XUL notamment.
Un langage système?
Avec l'apparition des compilateurs JavaScript, fonctionnant aussi bien dans le navigateur que comme outil indépendant, de nouvelles utilisations voient le jour pour ce langage proche de C mais plus libre encore et disposant d'une gestion automatique de mémoire, de sandbox.
- JSLinux.
Ce projet permet de faire tourner Linux dans le navigateur. On peut éditer des programme, les compiler et les exécuter en ligne de commande. Pour avoir un stockage persistant, voir cette version. - Node.js.
Un serveur web orienté évènements basé sur le compilateur V8 fonctionnant comme programme indépendant.
Yahoo! a créé le framework Cocktail, basé sur Node.js et HTML 5 pour réaliser des applications en ligne fonctionnant avec ou sans navigateur, en ligne ou localement. Une sandbox. - Python to Node.js
Une expérience sur l'utilisation de Python et Node.js comme serveur d'application. (Anglais).
Documents
- Tutoriel JavaScript. Avec exemples et démonstrations.
- JSON
Une format de données à syntaxe JavaScript. - ECMAScript
La spécification de 1999 langage JavaScript. - JavaScript
Documentation de Mozilla (originellement Netscape, qui a créé JavaScript).
Extensions
- River Trail.
Extension à JavaScript sous la forme d'un plugin qui permet la programmation parallèle.
Utilisé dans WebGL par exemple, il permet de gérer des milliers d'objets simultanément. - Description de E4X. Cette extension à ECMAScript 1.7 permet de traiter plus simplement les documents XML. Elle n'est pas implémentée sur tous les navigateurs.
- Frameworks HTML 5
Librairies JavaScript utilisant Canvas.
Outils de développement
Vous pouvez développer une application en JavaScript sous Eclipse (voir image plus haut) ou Aptana, ou un éditeur de texte pour un simple script. Il est très recommandé d'utiliser un framework Ajax ou HTML 5 pour développer une application sérieuse. Il existe aussi des frameworks pour mobiles.
- Aptana Studio
IDE pour JavaScript, HTML et CSS. Il est basé sur Eclipse mais fournit une interface plus classique. On peut ajouter des plugins pour d'autres langages comme PHP.
Il offre aussi un template de départ pour HTML 5 et une interface à Git. - JSLint
Outil en ligne pour tester votre code JavaScript et détecter les erreurs (par le créateur de JSON). - Répertoire
Le répertoire JavaScript sur Dmoz contient des tutoriels, des exemples, et autres ressources. - Rhino
Un compilateur de JavaScript en bytecode Java. Peut s'utiliser en ligne de commande. - Compilateur V8
Télécharger le compilateur JavaScript pour exécuter des scripts JavaScript sans navigateur. - Emscriptem
Compile du bytecode LLVM en JavaScript. Donc tout langage compilé par LLVM tel que C++ peut être converti en JavaScript. Parmi les démos, le jeu Doom, qui fonctionne dans le navigateur.
|
|
|
