Javascript

3.3642447418314 (1046)
Posté par hal 28/02/2009 @ 08:40

Tags : javascript, développement, high-tech

Dernières actualités
Vidéo : Firefox 3.5 présenté par Tristan Nitot - Clubic
Des performances du moteur de rendu javascript Tracemonkey à la prise en charge de l'HTML 5.0, Firefox 3.5 est une mise à jour majeure par rapport à la version actuelle et devrait être dévoilé à la fin du mois. Vu le nombre de logiciels installés,...
[Secu] Etude d'une infection JavaScript Gumblar par l'exemple - SecuObs
Présentation : On voit actuellement de plus en plus d'exploits basés sur des Javascripts. Pourquoi ? Car tout simplement ils sont très facilement modifiables et offuscables et du coup difficilement détectables par les antivirus....
Mise à jour de sécurité pour Mozilla Thunderbird - Silicon.fr
Ainsi, plusieurs failles concernent l'interpréteur JavaScript, une autre la gestion des greffons et la dernière l'accès SSL. L'utilisation de JavaScript et des greffons étant désactivée par défaut lors de la lecture des messages, le risque est limité....
Vous êtes ici : - APCE
La fonction qui vous permet d'écouter le texte sélectionné nécessite l'utilisation de JavaScript. NB : Les statistiques présentées dans ce document sont issues de la base de données Sirene de l'Insee. Les chiffres ont été corrigés par l'Insee et nous...
TUTORIEL/PRATIQUE Un outil pour l'intégration Web : Yaml Debug - Journal du Net
Un avantage de Yaml Debug : il fonctionne comme un bookmarklet, c'est-à-dire un code JavaScript court enregistré comme marque-page (ou favoris ou signet) du navigateur. our la petite histoire, lorsqu'on se trouve sur une page et qu'on clique sur le...
Le langage web facilite la création d'applications iPhone - L'Atelier
En utilisant des langages comme Javascript, Ansca simplifie le développement de modules iPhone aux designers et développeurs web. La création d'application pour iPhone est encore limitée reste encore l'apanage d'un nombre restreint de développeurs....
Bouquetins : Caresse a été revue ! - Parc national des Ecrins - Site officiel
Pour afficher ce contenu, vous devez utiliser un navigateur compatible avec JavaScript. "Vivre en montagne, s'adapter ou disparaitre" : un film de Laurent Cistac, tourné en grande partie dans le Champsaur, avec la contribution d'agents du Parc national...
Soldes : - 90 % sur vêtements et chaussures, c'est parti ! - La Chaussure et Les Femmes
Wordpress Hashcash needs javascript to work, but your browser has javascript disabled. Your comment will be queued in Akismet! Caluart: J'adooore ! J'ai essayé cette semaine les Night, mais ils n'avaient plus ma pointure en....
Nantes et sa région - maville.com
Il apparait que Javascript est désactivé dans votre navigateur. Veuillez l'activer pour avoir une expérience optimale de maville.com Spécialités grillades sur sarments de vigne. Côte de boeuf, entrecôte, filet, jarret, rognons de veau, grenouilles,...
Google améliore encore le référencement du Flash - 01net
Deuxième nouveauté, Google est désormais capable d'indexer du contenu Flash embarqué dans un code Javascript (script SWFObject and SWFObject2). Enfin, le moteur de recherche accepte les trois langages de Flash, que sont ActionScript 1, 2 et 3....

JavaScript

JavaScript est un langage de programmation de scripts principalement utilisé dans les pages web interactives. C'est un langage orienté objets à prototype, c'est-à-dire que les bases du langage et ses principales interfaces sont fournies par des objets qui ne sont pas des instances de classes, mais qui sont chacun équipés de constructeurs permettant de générer leurs propriétés, et notamment une propriété de prototypage qui permet d'en générer des objets héritiers personnalisés.

Le langage a été créé en 1995 par Brendan Eich pour le compte de Netscape Communications Corporation. Le langage actuellement à la version 1.7 est une implémentation du standard ECMA-262. La version 1.8 est en développement et intégrera des éléments du langage Python. La version 2.0 du langage est prévue pour intégrer la 4e version du standard ECMA.

Le langage a été créé en 1995 par Brendan Eich pour le compte de la Netscape Communications Corporation, qui s'est inspiré de nombreux langages, notamment de Java mais en simplifiant la syntaxe pour les débutants.

Brendan Eich a initialement développé un langage de script côté serveur, appelé LiveScript, pour renforcer l'offre commerciale de serveur HTTP de Mosaic Communications Corporation. La sortie de LiveScript intervient à l'époque où la NCSA force Mosaic Communications Corporation à changer de nom pour devenir Netscape Communications Corporation.

Netscape travaille alors au développement d'une version orientée client de LiveScript. Quelques jours avant sa sortie, Netscape change le nom de LiveScript pour JavaScript. Sun Microsystems et Netscape étaient partenaires, et la machine virtuelle Java de plus en plus populaire. Ce changement de nom servait les intérêts des deux sociétés.

En décembre 1995, Sun et Netscape annoncent la sortie de JavaScript. En mars 1996, Netscape met en œuvre le moteur JavaScript dans son navigateur Web Netscape Navigator 2.0. Le succès de ce navigateur contribue à l'adoption rapide de JavaScript dans le développement web orienté client. Microsoft réagit alors en développant JScript, qu'il inclut ensuite dans Internet Explorer 3.0 en août 1996 pour la sortie de son navigateur.

Netscape soumet alors JavaScript à Ecma International pour standardisation. Les travaux débutent en novembre 1996, et se terminent en juin 1997 par l'adoption du nouveau standard ECMAScript. Les spécifications sont rédigées dans le document Standard ECMA-262.

JavaScript est décrit comme un complément à Java dans un communiqué de presse commun de Netscape et Sun Microsystems, daté du 4 décembre 1995. Cette initiative a contribué à créer auprès du public une certaine confusion entre les deux langages, proches syntaxiquement mais pas du tout dans leurs concepts fondamentaux, et qui perdure encore aujourd'hui.

Le propos de JavaScript est de manipuler de façon simple des objets, au sens informatique, fournis par une application hôte.

La troisième édition d'ECMAScript, parue en 1999 correspond à la version 1.5 de JavaScript. Sa mise en œuvre par Microsoft est JScript. Adobe pour sa part, met en œuvre ces spécifications dans son langage ActionScript.

SpiderMonkey est le nom de la mise en œuvre en langage C du langage JavaScript utilisé dans Gecko, le moteur de rendu développé par Mozilla. SpiderMonkey est disponible sous la licence « MPL/GPL/LGPL tri-license ».

Interpréteur basé sur les spécifications ECMA-262 3e édition.

Interpréteur basé sur les spécifications du langage ECMAScript Edition 4, un standard rédigé par l'ECMA dans le document ECMA-262 4e édition.

Du code JavaScript peut être intégré directement au sein des pages Web, pour y être exécuté sur le poste client. C'est alors le navigateur Web qui prend en charge l'exécution de ces programmes appelés scripts.

Généralement, JavaScript sert à contrôler les données saisies dans des formulaires HTML, ou à interagir avec le document HTML via l'interface Document Object Model, fournie par le navigateur (on parle alors parfois de HTML dynamique ou DHTML). Il est aussi utilisé pour réaliser des services dynamiques, parfois futiles ou strictement cosmétiques.

JavaScript n'est pas limité à la manipulation de documents HTML et peut aussi servir à manipuler des documents SVG, XUL et autres dialectes XML .

Netscape et Microsoft (avec JScript dans Internet Explorer) ont développé leur propre variante de ce langage qui chacune supporte presque intégralement la norme ECMAScript mais possède des fonctionnalités supplémentaires et incompatibles, rarement utilisées dans le cadre de la programmation de pages web. Pourtant les scripts JavaScript sont souvent la source de difficultés. Le plus souvent, elles sont dues non à des problèmes de portabilité du langage (les différentes mises en œuvre respectant assez bien la norme ECMAScript) mais au support des différentes versions des modèles d'objets (DOM) fournis par les navigateurs.

Une autre méthode consiste à verifier, côté serveur, le navigateur utilisé par le client et d'envoyer le code correspondant.

JavaScript est un des composants essentiels de la technique AJAX (Asynchronous Javascript And XML). La plupart des applications AJAX utilisent l'objet XMLHTTPRequest (XHR) pour envoyer une requête à un script serveur, et parser dynamiquement les résultats de ce dernier via DOM. Internet Explorer est le premier à proposer ce composant, sous forme d'un ActiveX, et ce dès la fin des années 90. Ce n'est qu'en 2002 que les développeurs commencent massivement à l'utiliser. Les versions d'Internet Explorer antérieures à la 7 ne géraient pas l'objet XHR tel que décrit dans les standards du W3C mais proposaient un contrôle ActiveX équivalent (à partir de la version 5), ce qui impose des fourches dans le code, tel que montré ci-dessus.

AJAX est une des technologies phares du mouvement Web 2.0 qui définit les interfaces riches permettant à l'internaute une plus grande interactivité avec la page Web.

JSON (JavaScript Object Notation) est un format utilisant la notation des objets JavaScript pour transmettre de l'information structurée, d'une façon plus compacte et plus proche des langages de programmation, que XML.

Malgré l'existence du DOM et l'introduction récente de E4X (voir ci-dessous) dans la spécification du langage JavaScript, JSON reste le moyen le plus simple d'accéder à des données, puisque chaque flux JSON n'est rien d'autre qu'un objet JavaScript sérialisé. De plus, malgré son lien historique (et technique) avec JavaScript, JSON reste un format de données structurées, et peut être utilisé facilement par tous les langages de programmation.

Toutes ces raisons sont probablement la cause de l'existence de l'acronyme AJAJ, en marge d'AJAX, où le format JSON est utilisé à la place du format XML, pour des résultats identiques.

Internet Explorer 8 intègre un support natif du format JSON.

JavaScript peut également être utilisé comme langage de programmation sur un serveur HTTP. Initialement, il était proposé sur les serveurs de Netscape, par la suite distribués par Sun Microsystems sous les noms iPlanet et Sun ONE, mais JScript peut aussi être utilisé sur les serveurs Internet Information Services de Microsoft. JScript peut d'ailleurs servir pour scripter une plate-forme Microsoft Windows via Windows Scripting Host (WSH).

On peut encore citer ActionScript, utilisé dans Macromedia Flash qui est aussi une mise en œuvre d'ECMAScript. Il permet de manipuler tous les éléments de l'animation, considérés comme des objets.

JavaScript est enfin utilisé dans la plate-forme de développement Mozilla, sur laquelle sont basés plusieurs logiciels comme des navigateurs Web, pour des tâches relatives à l'interface utilisateur et de communication interne (Exemple : les extensions de Firefox et Thunderbird sont installées à base de fichiers XPI utilisant le JavaScript. Voir aussi Prefs.js). Depuis 2004, l'objet "js" de l'environnement de programmation graphique Max/MSP, permet d'ouvrir une fenêtre pour programmer en JavaScript, au sein même d'un programme Max/MSP.

JavaScript est aussi utilisé dans un contenu BIFS pour l'exploitation des événements. Pour cela la spécification BIFS fournit un nœud Script pour incorporer de l'ECMAScript.

Javascript peut être utilisé pour scripter les applications Adobe (Photoshop, Illustrator...), ce qui permet d'avoir des scripts indépendants de la plate-forme (Mac/Windows).

JavaScript est aussi utilisable en shell ou avec les gadgets vista.

Une fonction anonyme est, comme son nom l'indique, une fonction qui n'a pas de nom.

Les fermetures sont une caractéristique aussi puissante que méconnue du langage. Il s'agit de la possibilité, pour une expression, d'accéder à des variables qui ne sont plus à sa portée.

Dans l'exemple ci-dessus, la fonction interne ajoute10 a toujours accès au paramètre effectif nombre malgré le fait que l'appel à la fonction ajouteur soit terminé.

Un prototype est un objet JavaScript qui est utilisé lors d'un échec de résolution d'un nom sur son objet parent. Ce mécanisme est un type d'héritage : l'héritage par prototype.

En C, chaque instruction se termine par un point-virgule. Cette pratique a fait du point-virgule une obligation dans de nombreux langages inspirés de la syntaxe du C.

Les ouvrages de programmation avancés en JavaScript mettent en garde contre les effets inattendus de la déduction automatique de fin d'instruction et conseillent d'écrire un point-virgule à la fin de chaque instruction, ce qui n'empêche pas les surprises lorsqu'on oublie le point-virgule.

L'exemple ci-dessus récupère la fonction correspondant à l'action "New". Le résultat de l'évaluation est "CreateNewDoc()".

Le résultat de l'évaluation est "Close".

En haut



Rhino (moteur JavaScript)

Rhino est un moteur JavaScript libre. Il est développé entièrement en Java par la Fondation Mozilla (qui fournit aussi SpiderMonkey, un moteur JavaScript écrit en C).

Il est distribué selon les termes des licences MPL et GNU GPL.

Netscape a commencé le projet Rhino en 1997 au début du développement de Javagator, un navigateur en Java destiné à supplanter leur navigateur déjà existant, Netscape Navigator. Javagator fut abandonné, mais Rhino survécut, et fut même licencié par de multiples compagnies, qui en financèrent le développement. La Fondation Mozilla a hérité de Rhino en 1998, et l'a rendu open source par la suite.

Rhino peut être utilisé seul, comme interpréteur, mais aussi intégré dans une application. De même, il est capable de fonctionner en mode interprété, tout comme en mode compilé.

Rhino ne fournit en principe que les objets natifs définis par la spécification du langage (exemples : String, Date, etc.). On n'y trouvera donc pas les objets habituellement exposés par les moteurs JavaScript des différents navigateurs (exemples : window, document, etc.).

De plus, son utilisation en mode shell expose un certain nombre de fonctionnalités supplémentaires, que l'on peut trouver sur le site de Mozilla.

Chacune des applications embarquant Rhino peut exposer ses propres fonctionnalités. Par exemple, en tant que navigateur web, Javagator aurait exposé un DOM HTML complet à Rhino, permettant la manipulation de l'environnement HTML via JavaScript.

Enfin, la version 6 de l'API Java offre désormais une interface générique permettant d'implémenter n'importe quel moteur de script, et inclut Rhino par défaut.

Rhino est capable de fonctionner en mode compilé(le script est alors compilé en bytecode Java, Rhino pouvant même générer des binaires .class et les associer à des packages), et en mode interprété (le script est alors compilé en objets JavaScript).

En mode compilé, Rhino peut rivaliser en performances avec SpiderMonkey, son équivalent implémenté en C, mais il serait toutefois victime de fuites de mémoire. En mode interprété, la compilation du script est plus rapide, et aucune fuite de mémoire n'a lieu, mais le script est alors plus lent.

En haut



Archetype JavaScript Framework

Archetype est un framework JavaScript, écrit au dessus de Prototype(en) dont le but est l'industrialisation du Javascript côté client.

Celui-ci vise à simplifier le développement et l'écriture du JavaScript, ainsi qu'à inciter aux bonnes pratiques de développement pour rendre le code plus lisible et plus maintenable, notamment en utilisant le Javascript discret.

Afin de simplifier les développements, le framework fonctionne sur le principe de Convention over Configuration(en), ceci ayant le double avantage d'organiser les développements de façon homogène et de diminuer la configuration requise pour obtenir ce que l'on désire.

En outre, le concept de Composant, sorte de "super objet", accompagné des MethodBuilder, permet au framework d'associer des services transversaux aux Composants, visant à simplifier l'écriture et le développement, ainsi que de faciliter les tâches courantes que posent le développement d'une application Web (... 2.0). Ce principe se rapproche de la Programmation orientée aspect.

Grâce à ces fonctionnalités, il devient aisé, même pour des débutants en Javascript, de développer des RIA utilisant un Front entièrement Javascript, communiquant par le biais d'Ajax, se basant soit sur les capacités Ajax de Prototype(en), soit sur les capacités de chargement de Javascript du framework, soit en utilisant un framework dédié à la couche de transport, tel que DWR (en) ou YAWS RPC.

En haut



Source : Wikipedia