Javascript

Formatage de nombres avec Google Closure

Google Closure dispose d'une classe bien pratique nommée goog.i18n.NumberFormat qui permet de formater des nombres.

Formatage de monnaie

goog.require("goog.i18n.NumberFormat");
goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_FR;
var fmt = new goog.i18n.NumberFormat(
  goog.i18n.NumberFormatSymbols.CURRENCY_PATTERN
);
alert(fmt.format(1243.567)); // Affiche 1 243,56 €

Google Closure : premiers retours d'expérience

goog.require

Cette fonction est à la base du système de paquets de Google Closure. D'une façon similaire à la fonction require_once de PHP, elle permet d'inclure les dépendances. Techniquement parlant, elle charge les scripts nécessaires en ajoutant des balises SCRIPT. Le problème c'est que le chargement de ces scripts se fait de façon asynchrone.

La boite à outils Closure de Google

Un exemple de calendrier

Google vient de publier Closure qui est un ensemble d'outils destinés à faciliter le développement d'interfaces Web. Basé sur HTML + CSS + Javascript, cette boite à outils comprend notamment :

  • Le compilateur Closure : ce n'est pas vraiment un compilateur, mais plutôt un outil qui permet d'optimiser du code Javascript. Il effectue une série de vérification sur le code, supprime les parties non utilisées et en réécrit certaines pour accélérer l'exécution du script.
  • La bibliothèque Closure : c'est un ensemble de script Javascript qui fournit des contrôles (boutons, menus...) pour créer des interfaces utilisateurs et toutes une panoplie de fonctions pour manipuler le DOM, communiquer avec le serveur, réaliser des animations...
  • Les modèles Closure : Google fournit un compilateur (sous la forme d'une archive JAR) qui prend en entrée des fichiers modèles (ou templates si vous préférez) portant une extension .soy et qui génère des scripts .js. Ces scripts peuvent ensuite être utilisé pour générer du HTML.

JSBuilder 2

JSBuilder est un outil développé par l'équipe d'ExtJS pour packager des fichiers Javascript et des feuilles de style CSS. Il compresse les fichiers (avec YUI Compressor) et les concatène, ce qui vous permet de réduire le nombre de ressources à inclure dans vos page HTML et donc d'améliorer le temps de chargement de vos pages. En utilisant ce programme, on peut également répartir son code JS et ses règles CSS dans plusieurs petits fichiers qui peuvent être chargés plus facilement dans un IDE.

Etiquettes:

Ext.EventObject.getRelatedTarget

Il m'a fallu un peu chercher pour savoir à quoi sert cette méthode. La documentation d'ExtJS n'est en effet pas très explicite :

La documentation de Ext.EventObject.getRelatedTarget

C'est là qu'on se rend compte qu'à force d'utiliser des bibliothèques Javascript pour éviter les problèmes de compatibilité entre les navigateurs, on en oublie les bases, c'est à dire le DOM. relatedTarget est en fait un attribut des événements DOM qui contient dans le cadre d'un événement mouseenter une référence à l'élément que la souris vient de quitter. Pour un événement mouseout, c'est l'élément dans lequel la souris vient d'entrer.

Etiquettes:

Un débogueur et un profileur pour Google Chrome

Le logo Google Chrome

La version de développement de Google Chrome se dote de nouvelles fonctionnalités destinées au développeur. Jusqu'ici, on disposait d'une console Javascript qui permettait d'explorer le contenu des pages et d'afficher un graphique montrant le chargement des ressources. On a présent deux nouveaux onglets :

Mozilla Firefox 3.5 Béta 4

Logo Firefox

Je viens de tester rapidement Firefox 3.5 en béta 4. Ça a l'air bien rapide. Un peu moins que Google Chrome ou Safari, mais c'est pas mal quand même.

Il y a deux nouveautés intéressantes, en plus des balises video et audio : le support natif JSON, qui va permettre de sécuriser et d'accélérer le parsing des chaines encodées dans ce format, ce qui va rendre les applications Ajax encore plus rapides, et la géolocalisation qui va permettre de déterminer l'emplacement du visiteur.

Sélecteur de date avec ExtJS, le retour

Sélecteur de date inline avec ExtJS

Il y a quelque temps, j'avais écrit un article qui expliquait comment ajouter des sélecteurs de date avec ExtJS à des balises input.

Cette technique peut cependant poser problème avec certaines mises en page. En effet, les balises input sont des éléments inline alors que les champs ExtJS sont encapsulés dans une balise div qui est un élément de type block.

Etiquettes:

ExtJS Core Bêta 3

ExtJS

L'équipe d'ExtJS vient d'annoncer la sortie de la version 3.0 Bêta du noyau du framework Javascript.

Etiquettes:

NetBeans pour PHP

Le logo de l'IDE NetBeans

Ca fait maintenant une semaine que je me suis mis à NetBeans. Je ne l'avais jamais essayé jusqu'ici car pour moi c'était une usine à gaz en provenance du monde Java semblable à Eclipse.

Et bien j'ai été agréablement surpris. Il est bien plus léger et réactif qu'Eclipse. Il s'installe facilement, son support de PHP est proche de celui de Zend Studio, il marche très bien avec le Javascript et les feuilles de style CSS.

Pages

Subscribe to RSS - Javascript