Microsoft publie des extensions pour combler les lacunes du JavaScript

Le , 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 ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Traroth2 Traroth2 - Membre chevronné https://www.developpez.com
le 24/11/2011 à 14:38
Microsoft n'aime pas Dart ? Vachement étonnant !
Avatar de Code62 Code62 - Membre éclairé https://www.developpez.com
le 24/11/2011 à 14:58
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...
Avatar de ferber ferber - Membre éprouvé https://www.developpez.com
le 25/11/2011 à 1:45

www.dartlang.org

Dart apporte :
cf :http://www.dartlang.org/docs/technic...iew/index.html

Heritage + Interface
Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
 
    interface 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); 
    }
Typage ( optionel )
//sans typage
Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
 
    class 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()); 
    }
//avec typage
Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
  
   class 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()); 
    }
des library de bases :
http://www.dartlang.org/docs/api/index.html
Code : Sélectionner tout
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
67
Library 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
dart peut être transcodé en js

Que dire de plus ?
Avatar de bilgetz bilgetz - Membre actif https://www.developpez.com
le 25/11/2011 à 8:30
Que dire de plus ?

Que l'un n’empêche pas l'autre ?
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.
Avatar de Benjamin Delespierre Benjamin Delespierre - Expert éminent https://www.developpez.com
le 25/11/2011 à 13:58
C'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...)
Offres d'emploi IT
Développeur WEB PHP F/H
VACALIANS GROUP - Languedoc Roussillon - SETE (34)
Développeur Web FULL-STACK
VACALIANS GROUP - Languedoc Roussillon - SETE (34)
RESPONSABLE WEB ANALYTICS F/H
VACALIANS GROUP - Languedoc Roussillon - SETE (34)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil