【问题标题】:Future of mirrors in DartDart 中镜子的未来
【发布时间】:2014-11-15 18:47:07
【问题描述】:

我正在用 Dart 开发一个应用程序,我计划支持动态加载的插件。我不能在镜像中执行此操作,因为它不支持从外部源实例化类、从外部文件中列出类等。您打算扩展镜像以支持 java 之类的反射吗? 谢谢你,斯科基。

【问题讨论】:

  • 我猜这实际上不是一个询问 Dart 未来计划的平台。并且已经可以使用某种 java 反射机制。我猜你正在寻找类加载器之类的东西?
  • 你可以在没有镜像的情况下做到这一点。任意代码加载是通过 Isolate.spawnUri() 完成的,这可以将源文件加载到新的隔离中。必须通过消息传递 api 与隔离中的插件代码进行通信。我不会屏住呼吸等待 Mirrors 支持任意代码加载,因为这具有巨大的性能和安全隐患。

标签: plugins module dart dart-mirrors


【解决方案1】:

讨论了好几次,但我认为还没有决定。作为反对此功能的论据提到的是安全性,特别是在浏览器中,它非常重视安全性,但当然有优势,并且没有此功能会限制 Dart 的可能性。

您目前可以做的是从外部代码文件中启动额外的隔离。这目前在浏览器中很麻烦,因为浏览器中的隔离不仅不能提供对 DOM 的访问,还不能提供对任何浏览器 API 的访问,这是极其有限的。但据我了解,有一些改进计划或可能已经在进行中。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2014-03-31
  • 2019-12-09
  • 1970-01-01
  • 2015-08-14
  • 1970-01-01
  • 1970-01-01
  • 2016-06-17
  • 2021-05-28
相关资源
最近更新 更多