La plan?te enti?re sait maintenant que la version 2.0 du navigateur Web Mozilla Firefox fera son apparition officielle ? la fin de ce mois d'octobre, qu'elle apportera son lot de nouvelles fonctionnalit?s, et qu'une grande f?te est m?me pr?vue le 26 de ce mois, ? Paris. Ce que l'on sait moins, c'est que cette date devrait ?galement marquer les d?buts de la nouvelle d?clinaison de l'interpr?teur JavaScript 1.7 du m?me ?diteur, et que les changements qui y ont ?t? apport?s sont l? aussi tr?s nombreux.
Apr?s bien des fausses joies, sauf peut-?tre du c?t? de chez Microsoft, Mozilla devrait finalement pr?senter la version finale de Firefox 2.0 dans une paire de semaines. On en attend une s?curit? accrue, une plus grande rapidit? dans le rendu des pages Web, une meilleure qualit? graphique en g?n?ral, mais pour parvenir ? ces prouesses, il aura fallu changer une pi?ce essentielle du moteur : son interpr?teur JavaScript.
Qualit? ?ber alles
Mike Schroepfer, l'un des vice-pr?sidents de Mozilla, le mart?le ? chaque fois qu'il en a l'occasion : l'?diteur open-source ne publie pas ses logiciels en fonction de dates-butoirs (suivez mon regard), mais ? condition qu'ils aient atteint une maturit? suffisante. Ce qu'il faut comprendre par, "qu'ils soient au point". Aussi, interrog? sur les reports successifs de lancement de Firefox 2.0, il explique que ce dernier va bient?t recevoir son bon de sortie, et rappelle que ses entrailles renferment pas mal de nouveaut?s, certaines d?j? maintes fois ?voqu?es ici, comme les modifications apport?es ? la navigation par onglets ou l'interface graphique, et d'autres presque jamais mentionn?es, comme un nouvel interpr?teur pour les pages Web ?crites en JavaScript. Si Firefox 2.0 sort bien le 26 octobre prochain, comme tout le monde semble le penser, il emportera dans ses bagages la version 1.7 de l'interpr?teur JavaScript maison, dont ce sera l? le bapt?me du feu.
Pages d'?criture
firefoxLes techniques de programmation en mati?re d'?criture de pages Web ont bien ?volu?, au fil des ans. Je vous la fait en mode raccourci : on a connu la mode du tout-HTML, puis l'av?nement du PHP, avec la mont?e en puissance de l'open-source, avant de voir d?ferler la vague AJAX, une m?thode d'?criture hybride qui combine les avantages (et les inconv?nients) des langages JavaScript et XML, sans oublier le Flash. Dans le cas d'AJAX (Asynchronous JavaScript And XML), le fait que le traitement des diff?rents ?l?ments constitutifs de la page se fasse de mani?re asynchrone (au rafra?chissement d'une page, par exemple, les cadres non modifi?s demeurent, tandis que changent ceux auxquels l'internaute a apport? une modification, en saisissant par exemple un identifiant et un mot de passe) en a fait un outil de choix pour les d?veloppeurs de sites Web, car il impose moins de contraintes au navigateur lors du rendu, et au serveur lors du traitement. Cette technique n'est pas parfaite?aucune ne l'est vraiment?mais les programmeurs l'appr?cient, et l'ont popularis?e, au point que les sites qui n'y font pas appel se comptent d?sormais sur les doigts de la main d'un l?murien. Devant cette affluence, les outils existants de d?codage de ces pages hybrides avaient atteint leurs limites, et Mozilla a d? travailler ? l'am?lioration de son interpr?teur JavaScript. A tel point que certains n'h?sitent pas ? affirmer que les navigateurs Web de la famille pourront bient?t se passer d'un moteur de rendu graphique bas? sur le langage HTML. Il faut dire que nombreux sont les membres de l'?quipe Netscape/JavaScript originelle ? avoir rejoint les rangs de Mozilla, ? commencer par le p?re historique du JavaScript, Brendan Eich, qui est depuis devenu le responsable technique en chef de l'?diteur open-source.
Polyvalence
De son c?t?, Schroepfer rel?ve que si Firefox est autant appr?ci? des d?veloppeurs de sites Web, c'est justement en raison de tout ce qui pr?c?de : sa souplesse, la justesse de son rendu, et la possibilit?, non seulement de lire le code ins?r? dans les pages Web telles qu'elles ont ?t? ?crites, mais ?galement d'agir c?t? client (le navigateur, par opposition au serveur, fournisseur de contenu dans ce cas), afin d'ex?cuter un code compris, par exemple, dans une extension au navigateur lui-m?me. Les extensions, ces petits programmes annexes bien pratique, ont eux aussi particip? ? l'essor de Firefox, en lui donnant des fonctionnalit?s que ses g?niteurs lui avaient refus?. Pour rester ? la page, Firefox devait changer certaines pi?ces de son moteur, dont l'interpr?teur JavaScript ; ce sera chose faite ? la fin du mois.
Comme tous les langages informatiques, hormis peut-?tre ceux qui ont cess? d'?tre d?velopp?s, JavaScript continue d'?voluer. On a pr?t? ? ce langage bien des maux, apr?s l'avoir encens? ? sa sortie, en 1995, et force est de reconna?tre que bon nombre des failles relev?es dans les diff?rents navigateurs Web du commerce ont un lien direct avec lui. Il a tout de m?me gagn? de nouvelles fonctionnalit?s, au fil du temps, au point de concurrencer dans le coeur des d?veloppeurs d'autres langages ? la mode, comme Python, ou Ruby. Ces derniers, orient?-objet comme JavaScript, ont pour eux leur l?g?ret? et leur adaptabilit?, mais en terme de programmation, tout le monde a raison, et personne n'a tort : si l'on y met tout son coeur, on peut faire ?voluer un langage jusqu'? lui donner des capacit?s insoup?onn?es ? sa naissance. JavaScript n'?chappe pas ? la r?gle, et il a pour lui de pouvoir compter sur une colonie de d?veloppeurs motiv?s... et une large base de client?le. De fait, d'accessoire n?cessaire ? un bon rendu des pages Web, l'interpr?teur JavaScript prend dans la nouvelle version de Firefox un r?le central. Il ?tait donc temps de le faire ?voluer en profondeur, d'autant que Firefox ne se destine pas seulement au grand public ; il veut s?duire encore plus de d?veloppeurs. La version 1.7 de l'interpr?teur JavaScript devrait encore renforcer sa popularit?.
Le dynamisme ? l'honneur
Ceux qui manient au quotidien du JavaScript verront d'embl?e les deux principales am?liorations introduites avec l'interpr?teur 1.7, les g?n?rateurs et les it?rateurs. En tant normal, une page Web ?crite en JavaScript, si elle se veut interactive, doit accepter de sortir de ses param?tres d'affichage lorsque l'internaute, par exemple, clique sur un lien ou remplit un formulaire. Si le code n'inclut pas cette ?ventualit?, le lien demeurera inerte, et la page inchang?e. Il est donc n?cessaire d'introduire une fonction qui am?ne la page ? un niveau sup?rieur ou inf?rieur. C'est facile ? faire, mais suppose que l'int?gralit? de la page soit modifi?e. Vous cliquez sur un lien, et au lieu de changer la physionomie de la partie active de la page (le cadre dans lequel vous avez cliqu?, la portion de formulaire que vous ?tes en train de remplir, etc...), c'est toute la page qui dispara?t, pour r?appara?tre modifi?e. Etant donn? que nous avons affaire l? ? une nouvelle page Web, elle n'est pas encore mise en cache, et son affichage peut donc prendre "un certain temps". Avec les nouveaux it?rateurs et g?n?rateurs introduits dans l'interpr?teur JavaScript 1.7, chaque cadre actif devient un objet ? part enti?re, ind?pendant des autres objets que renferme la page. On peut ?galement introduire des limites ? un objet qui ne concerneront pas les autres objets d'une m?me page. Ainsi, il devient possible de rafra?chir ? partir du cache un certain nombre de cadres, m?me si le remplissage de l'un d'entre eux ? ?t? emp?ch? par une erreur de saisie de la part de l'internaute. Exemple : vous r?servez votre billet de train en ligne, et au moment de valider votre num?ro de carte bancaire, vous vous trompez dans les chiffres ; avec les nouvelles fonctions ?voqu?es plus haut, la seule portion de l'?cran qui sera remise ? z?ro pour permettre une nouvelle saisie sera la partie o? se situe l'erreur. Le rechargement int?gral d'une page vierge de vos informations pr?c?dentes ne sera plus n?cessaire, d'o? un important gain de temps pour tout le monde : sur certains sites surcharg?s, tout d?lai dans la validation des formulaires en ligne par tel ou tel internaute maladroit entra?ne un ralentissement, qui se r?percute sur les autres usagers. En rafra?chissant les pages de mani?re s?lective, on soulage les serveurs et on rassure en m?me temps l'usager. Tout b?nef pour tout le monde, en somme...
JavaScript 1.7 n'est qu'une ?tape dans la derni?re ligne droite, celle qui nous s?pare de la sortie de la version 2.0, laquelle, si elle est valid?e par l'organisme de certification ECMA (ce dernier l'?value depuis 2003), offrira en outre une interaction directe avec l'outil d'?criture de script ActionScript, imagin? par Macromedia avant son rachat par Adobe, au printemps dernier. En version 1.7 d?j?, JavaScript ajoute ? sa palette des fonctions auxquelles les d?velopeurs en Python ou en Perl sont habitu?s, et qui rendent l'?criture des pages Web ? la fois plus intuitive et plus rapide. JavaScript n'est pas mort, malgr? son grand ?ge.
Qu'on se le dise...
source:generation-nt.com