10 tips pour améliorer les performances de vos applications Windows 8
Javascript & tools
1. Slim Soussi Vladimir Kostarev David Catuhe David Rousset
Intel Intel Microsoft Microsoft
2. David Catuhe / Microsoft David Rousset / Microsoft
http://blogs.msdn.com/eternalcoding http://blogs.msdn.com/davrous
davca@microsoft.com davrous@microsoft.com
3. Agenda
• Un peu d’histoire
• Fondamentaux
• Les outils
• Quelques frameworks utiles…
4.
5. Un peu d’histoire
• Développé par Brendan Eich de Netscape en 1995
• Nom de code Mocha puis renommé en LiveScript et
finalement en JavaScript
• Première version avec Netscape 2.0 en Septembre 1995
• Peu de rapport avec Java (choix du nom surtout dicté par
des raisons marketings de l’époque)
• Novembre 1996 : Soumission à l’ECMA et apparition de
l’ECMAScript
6. Un peu d’histoire
• Juin 1997 : Première version de l’ECMAScript
• Juin 2011 : ECMAScript 5.1
• La marque « JavaScript » est sous copyright de Oracle
• JavaScript est sorti du pur web:
• Développement coté serveur (nodeJS)
• Développement applicatif (Windows 8)
6
7.
8. Fondamentaux de JavaScript
JavaScript est :
• Construit autour de fonctions
• Un langage à base de prototype
• Un langage de script (mais pas que…)
• Dynamique
• Faiblement typé
9. Fondamentaux de JavaScript
En JavaScript tout est fonction. Elles servent à :
• Faire des fonctions (!!!)
• Mimiquer les concepts objets
• Constructeurs
• Méthodes
• Définir des namespaces
• Définir la portée
PUZZLE.update = function () {
for (var index = 0; index < PUZZLE.blocks.length; index++) {
var block = PUZZLE.blocks[index];
PUZZLE.updateBlock(block);
}
};
9
11. Fondamentaux de JavaScript
Un langage à base de prototypes :
• Principe de clonage d’objets modèles (le prototype)
• Délégation des méthodes vers le prototype
• « Remplace » classes et héritage
this.prototype.add = function (otherVector) {
return new Vector2(this.x + otherVector.x, this.y +
otherVector.y);
};
11
13. Fondamentaux de JavaScript
Un langage de script :
• Compilé à la volée par les navigateurs modernes (JIT)
• Profite des dernières avancées des compilateurs
• Multi cores
• Optimisations
13
14. Fondamentaux de JavaScript
Un langage dynamique et faiblement typé :
• Les types sont associés aux valeurs et non aux variables
• Par exemple :
• Une variable x peut être associée à un numérique à un instant et à une
chaine de caractères plus tard
• Types de valeurs supportés :
• Number
• String
• Boolean
• Function
• Array
• Object
14