Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart是否支持使用现有的JavaScript库?_Javascript_Libraries_Dart - Fatal编程技术网

Dart是否支持使用现有的JavaScript库?

Dart是否支持使用现有的JavaScript库?,javascript,libraries,dart,Javascript,Libraries,Dart,我理解Dart编译成JavaScript,我阅读了关于库的文章,尽管我没有看到答案。此外,在搜索“现有”一词时,会发现3个不相关的结果 有人知道Dart是否支持使用jQuery或Raphael等现有JavaScript库吗?您将无法直接从Dart代码调用JavaScript。本机指令是为dartc的核心库(dart:core、dart:dom、dart:html、dart:json等)保留的,它本身编译成javascript。现在答案是肯定的!Dart现在提供了一个JS互操作库,可以在Dart应

我理解Dart编译成JavaScript,我阅读了关于库的文章,尽管我没有看到答案。此外,在搜索“现有”一词时,会发现3个不相关的结果


有人知道Dart是否支持使用jQuery或Raphael等现有JavaScript库吗?

您将无法直接从Dart代码调用JavaScript。本机指令是为dartc的核心库(dart:core、dart:dom、dart:html、dart:json等)保留的,它本身编译成javascript。

现在答案是肯定的!Dart现在提供了一个JS互操作库,可以在Dart应用程序中使用现有的JavaScript代码。在这里了解更多信息:

还有一个
dart:js
库。这里解释了如何使用该库与JavaScript进行互操作。

现在有了一种新的更简单的方法(当前版本为0.6.0-beta.6)

使JS类和函数可用于Dart,如:

@JS("JSON.stringify")
external String stringify(obj);

有关更多信息,请参阅软件包的自述文件

,尽管我现在发布了。您对此有参考资料吗?我在dartc团队工作,内部有关于将本机指令和关键字限制为dart:库的讨论。您当然可以查看任何核心函数(例如,isolate.dart和isolate.js),并看到在函数签名后附加“native”关键字(注意:dart版本中没有主体)将允许您调用损坏的javascript函数;但是我们没有承诺我们不会在未来打破你。我理解和尊重给网络一个干净的和思考的语言的理想,但是我恳求你考虑一个互操作层。Microsoft提供了一个从Com到.Net的版本,以帮助确保项目可以增量迁移。这丝毫没有妨碍.Net的成功;我相信这有助于它的采用,尽管他们确实随着时间的推移有所改进。如果打破是一个严重的问题,考虑一个邀请计划的主要图书馆,如jQuery,MOOTooS和Script。谢谢。我邀请您通过我们的问题追踪器@提出功能请求。我不相信这个决定已经成为定局。我只是指出这又是一个问题:@Seth我有一个后续问题。当Dart最终取代Javascript时,使用Dart中的Javascript库真的有意义吗?Dart是否内置了可视化功能?@AmitTomar社区无法立即移植所有JS库,因此使用大量JS库是有意义的。至于图表(可视化),我只知道与基于JS的库的互操作。感谢Seth,我还演示了如何在这方面使用它。注意链接不准确。Dart/JS是主要Dart库的一部分,使用它与javascript接口更容易、更清晰。我没有看到关于这个主题的任何官方消息,但它是SDK的一部分:
@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);
}