JavaScript est l'un des trois grands de l'hébergement web : En outre HTML (structure de la page) et CSS (présentation), le langage de programmation orienté objet permet de dynamiser le contenu. Mais JavaScript n'est pas seulement applicable dans le contexte de la conception des pages. Les applications côté serveur peuvent également être contrôlées avec JavaScript.
Origines de JavaScript
Malgré son nom, JavaScript n'a pas grand chose à voir avec Java. À l'origine, le langage de script devait s'appeler LiveScript et a été développé par Netscape pour l'interaction du Netscape Navigator avec les applets Java (applications clientes Java). En tant que véritable logiciel propriétaire, JavaScript représentait un facteur de compétitivité pour des entreprises comme Microsoft dar. Ceux-ci ont répondu au développement de JavaScript avec leurs propres solutions telles que le langage de script JScript. Au fil du temps, cependant, JavaScript est devenu le principal langage de script pour les applications côté client et (outre php) dynamisation côté serveur.
Dynamisation côté client
La fonction la plus utilisée de JavaScript est probablement la possibilité de dynamisation côté client. Le client est le navigateur web. La dynamisation côté client signifie que les contenus affichés dans le client sont manipulés. Le HTML est la description statique de la structure d'une présence sur le Web, appelée Document Object Model (DOM). Alors que le CSS (Cascading Style Sheets) est utilisé pour la conception séparée de ce "squelette", le JavaScript offre la possibilité de déplacer, de supprimer ou d'ajouter des éléments HTML.
Cette manipulation DOM (DOM scripting) peut être utilisée de plusieurs façons. Les fonctions sont d'abord liées à certains événements par l'intermédiaire de ce qu'on appelle des gestionnaires d'événements. Il peut s'agir de clics de l'utilisateur, de points dans le temps ou du chargement du site web. En utilisant les ID attribués aux éléments en HTML, les changements basés sur des événements peuvent ensuite être déclenchés. Cela peut aller de la programmation de formes simples et dynamiques ou de filtres de tableau à l'intégration de lecteurs vidéo ou de graphiques dynamiques complexes.
JQuery : Le JavaScript le plus simple
JavaScript est un exemple de langage de programmation orienté objet. Ainsi, le seuil d'entrée pour les concepteurs de sites web inexpérimentés est relativement élevé. Sans restreindre (beaucoup) les fonctionnalités de JavaScript, la bibliothèque JQuery offre une syntaxe simplifiée qui permet de créer rapidement et facilement les cas d'utilisation les plus courants. Alors que JavaScript offre une complexité et une évolutivité similaires à celles de Java ou de Python en définissant des prototypes (au lieu de classes), des instances (objets concrets) et des méthodes (fonctions liées aux objets), JQuery limite le vocabulaire et les structures. Les commandes ont une structure emboîtable, de sorte que la structure peut être comprise assez rapidement. Par conséquent, à moins que vous n'ayez affaire à des applications complexes et inhabituelles, il existe très probablement une solution simple dans JQuery.
Dynamisation côté serveur : AJAX et Node.js
Outre la manipulation du DOM, JavaScript est également utilisé pour la communication avec les serveurs, par exemple pour les interrogations de bases de données. Depuis 2009, il existe node.js, un cadre pour la dynamisation côté serveur avec JavaScript. Cela était déjà possible avant 2009, mais node.js permet une intégration plus facile. C'est un avantage pour les programmeurs JavaScript, car ils n'ont alors plus besoin d'utiliser d'autres langages comme le php. En outre, le node.js permet également la parallélisation des processus. C'est un avantage, car un trop grand nombre de ces soi-disant fils peut conduire à un blocage. Avec node.js, les requêtes passent par un seul fil, ce qui peut augmenter considérablement les performances.
Node.js est un exemple pour les possibilités d'AJAX. L'acronyme désigne une procédure appelée Asynchronous JavaScript and XML. Ce principe permet de récupérer des contenus sur des serveurs sans avoir à recharger la page entière. Pour de nombreux sites web comme YouTube, un rechargement complet après une demande de vidéo ou le chargement de commentaires serait un gros inconvénient. AJAX est également une solution au problème de l'accumulation des demandes grâce au traitement asynchrone comme expliqué ci-dessus pour Node.js.
Intégration de JavaScript
L'intégration de base de JavaScript dans les offres web fonctionne exactement de la même manière que la connexion avec les fichiers CSS. Il y a donc deux possibilités pour cela : D'une part, le JavaScript peut être utilisé dans l'en-tête ou dans le corps du document HTML.