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
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

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.

Documents

Extensions

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.

Langages de programmation AspectJ - Basic - C - CIL - C++ - C++11 - C# - Dart - Eiffel - Go - Java - JavaScript - JavaFX Script - Pascal - PHP - Python - QML - Rexx - Ruby - Scala - Scriptol - Tcl - HTML - XML - XAML - XUL - SQL