Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Microsoft publie des extensions pour combler les lacunes du JavaScript

Le , par Hinault Romaric

49PARTAGES

3  0 
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 ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de 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...
6  0 
Avatar de 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 ?
2  0 
Avatar de bilgetz
Membre averti 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.
1  0 
Avatar de 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...)
1  0 
Avatar de Traroth2
Membre chevronné https://www.developpez.com
Le 24/11/2011 à 14:38
Microsoft n'aime pas Dart ? Vachement étonnant !
1  1