Microsoft publie des extensions pour combler les lacunes du JavaScript
Le 2011-11-24 13:30:50, par Hinault Romaric, Responsable .NET
Microsoft s’engage à faire progresser la norme JavaScript et a présenté lors de la réunion de l'ECMA TC39 (l’organisme chargé de la standardisation du langage) ses implémentations visant à combler quelques lacunes du JavaScript.
L’objectif de la firme est de doter la norme de quelques objets de bases et des aides pour les bibliothèques qui sont nécessaires pour le développement des applications Web riches et pour rendre le langage attrayant pour la conception des solutions complexes.
Les extensions développées par l’éditeur encore en phase expérimentale, ajoutent à JavaScript la globalisation des interfaces, des fonctions pour combler les limites des bibliothèques Math, Number et String.
Les prototypes supportent 363 localisations, 18 systèmes de numérotation, des formats de date différents et les calendriers grégoriens, musulmans, hébraïques, bouddhistes, coréens et japonais, lors d’une exécution sur les systèmes d’exploitation Windows 7.
Microsoft, qui voit en JavaScript des grandes opportunités pour la construction des applications complexes en HTML5, s’insurge contre les solutions alternatives, visant à remplacer le langage comme Dart, le langage de programmation structurée pour le Web de Google.
« Quelques exemples, comme Dart, montrent que JavaScript a des défauts fondamentaux et soutenir ces technologies nécessite une rupture nette avec JavaScript » écrit l’équipe JavaScript de Microsoft « Nous sommes en désaccord avec ces points de vue. Nous croyons qu’avec le soutien d’ECMA TC39, la norme pourra être étendu »
Les extensions sont disponibles en téléchargement sur HTML5 Labs avec des applications d’exemples. Microsoft souligne qu’elles ne doivent être utilisées qu’à des fins d’évaluation.
Télécharger les extensions
Source : Microsoft
Et vous ?
Que pensez-vous de ces extensions ?
Êtes-vous également contre des solutions comme Dart ?
L’objectif de la firme est de doter la norme de quelques objets de bases et des aides pour les bibliothèques qui sont nécessaires pour le développement des applications Web riches et pour rendre le langage attrayant pour la conception des solutions complexes.
Les extensions développées par l’éditeur encore en phase expérimentale, ajoutent à JavaScript la globalisation des interfaces, des fonctions pour combler les limites des bibliothèques Math, Number et String.
Les prototypes supportent 363 localisations, 18 systèmes de numérotation, des formats de date différents et les calendriers grégoriens, musulmans, hébraïques, bouddhistes, coréens et japonais, lors d’une exécution sur les systèmes d’exploitation Windows 7.
Microsoft, qui voit en JavaScript des grandes opportunités pour la construction des applications complexes en HTML5, s’insurge contre les solutions alternatives, visant à remplacer le langage comme Dart, le langage de programmation structurée pour le Web de Google.
« Quelques exemples, comme Dart, montrent que JavaScript a des défauts fondamentaux et soutenir ces technologies nécessite une rupture nette avec JavaScript » écrit l’équipe JavaScript de Microsoft « Nous sommes en désaccord avec ces points de vue. Nous croyons qu’avec le soutien d’ECMA TC39, la norme pourra être étendu »
Les extensions sont disponibles en téléchargement sur HTML5 Labs avec des applications d’exemples. Microsoft souligne qu’elles ne doivent être utilisées qu’à des fins d’évaluation.
Source : Microsoft
Et vous ?
-
Code62Membre éclairéEtendre != corriger...
C'est bien de vouloir rajouter des éléments pour combler les lacunes, mais javascript a pas mal de lourdeurs qui ne seront pas modifiées par ces ajouts... Les langages alternatifs qui se veulent plus orientés vers "le web de maintenant" ont la possibilité de simplement ne pas introduire les faiblesses présentes dans javascript, et d'implémenter nativement ce que microsoft propose d'ajouter au js...le 24/11/2011 à 14:58 -
ferberMembre éprouvé
www.dartlang.org
Dart apporte :
cf :http://www.dartlang.org/docs/technic...iew/index.html
Heritage + Interface
Code : 1
2
3
4
5
6
7
8
9
10
11
12
13interface Shape { num perimeter(); } class Rectangle implements Shape { final num height, width; Rectangle(num this.height, num this.width); // Compact constructor syntax. num perimeter() => 2*height + 2*width; // Short function syntax. } class Square extends Rectangle { Square(num size) : super(size, size); }
//sans typage
Code : 1
2
3
4
5
6
7
8
9
10
11
12class Point { var x, y; Point(this.x, this.y); scale(factor) => new Point(x*factor, y*factor); distance() => Math.sqrt(x*x + y*y); } main() { var a = new Point(2,3).scale(10); print(a.distance()); }
Code : 1
2
3
4
5
6
7
8
9
10
11
12class Point { num x, y; Point(num this.x, num this.y); Point scale(num factor) => new Point(x*factor, y*factor); num distance() => Math.sqrt(x*x + y*y); } void main() { Point a = new Point(2,3).scale(10); print(a.distance()); }
http://www.dartlang.org/docs/api/index.html
Code : 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67Library Reference corelib Classes and interfaces AssertionError Clock Collection<E> Comparable Date Dispatcher<T> Duration Expect FallThroughError Function HashMap<K,V> HashSet<E> Hashable Isolate Iterable<E> Iterator<E> LinkedHashMap<K,V> List<E> Map<K,V> Match Math Object Pattern Promise<T> Proxy Queue<E> ReceivePort RegExp SendPort Set<E> Stopwatch String StringBuffer Strings TimeZone TypeError bool double int num BadNumberFormatException ClosureArgumentMismatchException EmptyQueueException Exception ExpectException IllegalAccessException IllegalArgumentException IllegalJSRegExpException IndexOutOfRangeException IntegerDivisionByZeroException NoMoreElementsException NoSuchMethodException NotImplementedException NullPointerException ObjectNotClosureException OutOfMemoryException StackOverflowException UnsupportedOperationException WrongArgumentCountException Top-level fields print
Que dire de plus ?le 25/11/2011 à 1:45 -
bilgetzMembre avertiQue dire de plus ?
Après tous on peut toujours étendre JavaScript, ça n' empêche pas les gens qui le veulent a utiliser DART.
De plus comme DART peut être transcodé en JavaScript, il pourra utiliser ces nouvelles fonctionnalités.le 25/11/2011 à 8:30 -
Benjamin DelespierreExpert éminentC'est pas étonnant en effet de voir Microsoft critiquer le langage de son concurent Google. En revanche, je reste sceptique quand à l'amélioration possible de JavaScript, des extensions comme la surcharge des opérateurs, pourtant d'un intérêt indiscutable avec HTML 5 et le dessin 2D (voir 3D avec WebGL), ont déjà été rejetées.
Rappelons également que le langage semble bien peu évoluer et qu'avant de vouloir étendre les fonctionnalités natives, il faudrait que tous les fabricants de navigateurs web se mettent d'accord une fois pour toute sur l'implémentation des normes et corrigent les problèmes de compatibilité inter-navigateurs (notamment en ce qui concerne le XHR - ok ça ne vient pas de l'ECMA mais bon...)le 25/11/2011 à 13:58 -
Traroth2Membre émériteMicrosoft n'aime pas Dart ? Vachement étonnant !le 24/11/2011 à 14:38