Будет ли Дарт поддерживать использование существующих библиотек JavaScript? - программирование
Подтвердить что ты не робот

Будет ли Дарт поддерживать использование существующих библиотек JavaScript?

Я понимаю, что Дарт компилируется на JavaScript, и я читал Dart Language Spec в библиотеках, хотя я не видел там ответа. Также поиск в их форме обсуждения для слова "существующий" вызывает 3 результата, которые не связаны.

Кто-нибудь знает, поддерживает ли Dart использование существующих библиотек JavaScript, таких как jQuery или Raphael?

4b9b3361

Ответ 1

Ответ теперь да! Дарт теперь отправляет библиотеку JS-interop для использования существующего кода JavaScript с вашим приложением Dart. Подробнее здесь: https://www.dartlang.org/articles/js-dart-interop/

Ответ 2

Вы не сможете вызывать javascript непосредственно из кода дротика. Нативная директива зарезервирована для основных библиотек dartc (dart: core, dart: dom, dart: html, dart: json и т.д.), Которая сама компилируется в javascript.

Ответ 3

Теперь появился новый более простой способ 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);
}

для более подробной информации о пакете

Ответ 5

Существует также библиотека dart:js. И вот статья, объясняющая, как использовать эту библиотеку для взаимодействия с JavaScript.

Ответ 6

Теперь у нас есть Flutter, использование javascript было бы действительно здорово, но я не думаю, что это было бы очень полезно для мобильной разработки.