web-dev-qa-db-fra.com

Dart prendra-t-il en charge l'utilisation des bibliothèques JavaScript existantes?

Je comprends que Dart compile en JavaScript, et j'ai lu Dart Language Spec sur les bibliothèques, bien que je n'y ai pas vu de réponse. Aussi une recherche sur leur formulaire de discussion pour le mot 'existant' donne 3 résultats qui ne sont pas liés.

Est-ce que quelqu'un sait si Dart prendra en charge l'utilisation des bibliothèques JavaScript existantes telles que jQuery ou Raphael?

104
TMB

La réponse est maintenant oui! Dart fournit désormais une bibliothèque JS-interop pour utiliser le code JavaScript existant avec votre application Dart. En savoir plus ici: https://www.dartlang.org/articles/js-Dart-interop/

95
Seth Ladd

Vous ne pourrez pas appeler javascript directement à partir du code Dart. La directive native est réservée aux bibliothèques de base de dartc (Dart: core, Dart: dom, Dart: html, Dart: json, etc.), qui se compile elle-même en javascript.

15
jtmcdole

Il existe maintenant un nouveau moyen plus simple https://pub.dartlang.org/packages/js (actuellement la version 0.6.0-beta.6)

Rendez les classes et fonctions JS disponibles pour Dart comme:

@JS("JSON.stringify")
external String stringify(obj);
@JS('google.maps')
library maps;

// Invokes the JavaScript getter `google.maps.map`.
external Map get map;

// `new Map` invokes JavaScript `new google.maps.Map(location)`
@JS()
class Map {
  external Map(Location location);
  external Location getLocation();
}

// `new Location(...)` invokes JavaScript `new google.maps.LatLng(...)`
//
// We recommend against using custom JavaScript names whenever
// possible. It is easier for users if the JavaScript names and Dart names
// are consistent.
@JS("LatLng")
class Location {
  external Location(num lat, num lng);
}

pour plus voir le readme du paquet

8
Günter Zöchbauer

Voir ce fil du forum de discussion: Appel de l'ancien code javascript .

4
Lukas Renggli

Il y a aussi Dart:js bibliothèque. Et voici n article expliquant comment utiliser cette bibliothèque pour interopérer avec JavaScript.

4
Shailen Tuli