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?
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/
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.
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
Voir ce fil du forum de discussion: Appel de l'ancien code javascript .
Il y a aussi Dart:js
bibliothèque. Et voici n article expliquant comment utiliser cette bibliothèque pour interopérer avec JavaScript.