Je comprends Dart compile à JavaScript, et j'ai lu le Dart Language Spec sur les bibliothèques, même si je n'ai pas vu de réponse là-bas. En outre, une recherche sur leur formulaire de discussion pour le mot 'existant' montre trois résultats qui ne sont pas liés.
Est-ce que quelqu'un sait si Dart soutiendra l'utilisation de bibliothèques JavaScript existantes telles que jQuery ou Raphael?
La réponse est maintenant oui! Dart embarque maintenant 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 de fléchettes. La directive native est réservée aux bibliothèques principales de dartc (dart: core, dart: dom, dart: html, dart: json, etc.), qui lui-même compile sur javascript.
Voir ce sujet dans le forum de discussion: appel d'un ancien code javascript .
Il existe maintenant un nouveau moyen plus simple https://pub.dartlang.org/packages/js (version actuelle 0.6.0-beta.6)
Rendez les classes JS et les fonctions 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 d'informations, consultez le readme du colis
Il y a aussi une dart:js
library. Et voici un article expliquant comment utiliser cette bibliothèque pour interagir avec JavaScript.