Javascript

De Wiki du développeur
Aller à la navigationAller à la recherche

JavaScript[modifier | modifier le wikicode]

JavaScript est un langage de programmation principalement utilisé pour créer des pages web interactives. Il a été développé initialement par Brendan Eich chez Netscape en 1995 sous le nom de Mocha. Après quelques changements de nom, il est finalement devenu JavaScript. Ce langage est l'une des trois technologies clés du World Wide Web, aux côtés de HTML et CSS, et il permet de créer des interactions dynamiques sur les sites web.

Historique[modifier | modifier le wikicode]

JavaScript a été conçu en seulement dix jours par Brendan Eich, alors employé de Netscape Communications Corporation. Il visait à permettre des scripts côté client pour des pages web, avec une syntaxe inspirée de Java mais un fonctionnement plus proche de celui de Scheme et Self.

  • 1995 : La première version de JavaScript, nommée Mocha, est incluse dans Netscape Navigator 2.0.
  • 1996 : Microsoft introduit JScript dans Internet Explorer 3.0, provoquant une adoption plus large.
  • 1997 : ECMA International publie la première édition de la norme ECMAScript (ECMA-262).

Caractéristiques[modifier | modifier le wikicode]

JavaScript est un langage interprété, dynamique, faiblement typé, et multi-paradigme. Il supporte les styles de programmation impérative, fonctionnelle et orientée objet. Les principales caractéristiques comprennent :

  • Prototypes : Au lieu de classes, JavaScript utilise des prototypes pour l'héritage. Chaque objet peut être relié à un autre objet en tant que prototype.
  • Asynchrone : JavaScript offre des fonctionnalités asynchrones comme les callbacks, les promesses (promises) et les mots-clés async/await, permettant de gérer les opérations non bloquantes.
  • Event-driven : JavaScript est conçu pour réagir aux événements utilisateur, comme les clics et les entrées clavier, ce qui le rend idéal pour les applications web interactives.

Utilisations[modifier | modifier le wikicode]

JavaScript est utilisé dans divers contextes :

  • Développement web côté client : Manipulation du Document Object Model (DOM), validation de formulaires, création d'animations et interactions dynamiques.
  • Développement web côté serveur : Avec l'arrivée de Node.js, JavaScript est également utilisé pour le développement côté serveur, permettant d'écrire des applications complètes en JavaScript.
  • Applications mobiles et de bureau : Des frameworks comme React Native (mobile) et Electron (desktop) permettent de créer des applications multiplateformes en utilisant JavaScript.

Frameworks et bibliothèques[modifier | modifier le wikicode]

JavaScript bénéficie d'un écosystème riche en bibliothèques et frameworks :

  • Bibliothèques populaires :
 * jQuery : Simplifie la manipulation du DOM, la gestion des événements, et les requêtes AJAX.
 * D3.js : Utilisé pour produire des visualisations de données interactives basées sur les standards web.
  • Frameworks front-end :
 * React : Développé par Facebook, il permet de construire des interfaces utilisateur avec des composants réutilisables.
 * Angular : Un framework complet maintenu par Google pour la création de SPAs (Single Page Applications).
 * Vue.js : Un framework progressif pour la construction d'interfaces utilisateur.
  • Frameworks back-end :
 * Node.js : Environnement d'exécution pour JavaScript côté serveur, basé sur le moteur V8 de Google Chrome.
 * Express.js : Framework web minimaliste pour Node.js, facilitant la gestion des requêtes et des réponses HTTP.

Sécurité[modifier | modifier le wikicode]

JavaScript est soumis à des restrictions dans les navigateurs pour des raisons de sécurité. Par exemple, il n'a pas accès direct au système de fichiers de l'utilisateur, aux périphériques, ou à certaines informations sensibles sans autorisation explicite. Cependant, des failles de sécurité peuvent survenir, telles que :

  • Cross-Site Scripting (XSS) : Injection de scripts malveillants dans des pages web visualisées par d'autres utilisateurs.
  • Cross-Site Request Forgery (CSRF) : Détournement de l'identité d'un utilisateur pour exécuter des actions non autorisées sur un site web.

Normalisation[modifier | modifier le wikicode]

La spécification officielle de JavaScript est maintenue par ECMA International dans le document ECMA-262. Le comité technique TC39 est chargé de l'évolution du langage, avec des mises à jour régulières visant à introduire de nouvelles fonctionnalités et améliorations. Les récentes versions d'ECMAScript ont introduit des fonctionnalités comme les modules (ES6), les classes, les promesses et l'async/await.

Influence et popularité[modifier | modifier le wikicode]

JavaScript est l'un des langages de programmation les plus populaires dans le monde. Il est utilisé par plus de 97% des sites web, selon diverses études. Son utilisation ubiquitaire, tant côté client que côté serveur, ainsi que son large écosystème de frameworks et bibliothèques, en font un outil indispensable pour le développement web moderne.

Références[modifier | modifier le wikicode]