Ответ 1
Ответ теперь да! Дарт теперь отправляет библиотеку JS-interop для использования существующего кода JavaScript с вашим приложением Dart. Подробнее здесь: https://www.dartlang.org/articles/js-dart-interop/
Я понимаю, что Дарт компилируется на JavaScript, и я читал Dart Language Spec в библиотеках, хотя я не видел там ответа. Также поиск в их форме обсуждения для слова "существующий" вызывает 3 результата, которые не связаны.
Кто-нибудь знает, поддерживает ли Dart использование существующих библиотек JavaScript, таких как jQuery или Raphael?
Ответ теперь да! Дарт теперь отправляет библиотеку JS-interop для использования существующего кода JavaScript с вашим приложением Dart. Подробнее здесь: https://www.dartlang.org/articles/js-dart-interop/
Вы не сможете вызывать javascript непосредственно из кода дротика. Нативная директива зарезервирована для основных библиотек dartc (dart: core, dart: dom, dart: html, dart: json и т.д.), Которая сама компилируется в javascript.
Теперь появился новый более простой способ https://pub.dartlang.org/packages/js (в настоящее время версия 0.6.0-beta.6)
Сделайте классы и функции JS доступными для Dart:
@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);
}
для более подробной информации о пакете
Смотрите эту дискуссию на форуме: Вызов старого кода javascript.
Существует также библиотека dart:js
. И вот статья, объясняющая, как использовать эту библиотеку для взаимодействия с JavaScript.
Теперь у нас есть Flutter, использование javascript было бы действительно здорово, но я не думаю, что это было бы очень полезно для мобильной разработки.