为什么dart.io等只能在命令行应用程序中使用?

时间:2014-01-24 03:44:33

标签: google-chrome-extension dart libvirt dart-io

我想从dart程序中使用libvirt api。 这是文档https://www.dartlang.org/articles/native-extensions-for-standalone-dart-vm/。 但是我发现它只能在dart命令行app中使用,所以dart.io也是如此。 我不熟悉Web应用程序,我想知道为什么会发生这种情况以及为什么我们无法在Web应用程序中调用系统API。难道这是不可能的,还是有其他技巧可以做到这一点?

编辑:如果我真的想写一个在系统中调用libvirt c api的网络应用程序,我该怎么办? 对于第一个,我可以编写一个后端服务器来为web应用程序提供api(可能是REST)。 但是,如果我不想拥有服务器后端,并且可以从chrome扩展访问libvirt api。我看到chrome扩展可以作为后台应用运行,我认为可能不是网络应用。

1 个答案:

答案 0 :(得分:6)

Web应用程序在浏览器中运行,无法直接访问系统,这就是dart:io的用途。如果任意网站可以访问您的本地文件系统/网络/ ...,这将是一个严重的安全问题。这不是Dart限制。