首页 文章

在Flutter中使用JS库

提问于
浏览
0

我想在我的Flutter应用程序中使用Ether JS . 我知道它不是直接支持的,甚至现有的实现也没有很好地记录 .

有没有什么办法可以在我的Flutter Android和iOS应用程序中使用这个库?任何其他替代建议也欢迎 .

我试过js.dart但无法弄清楚如何使用它 . 我甚至不确定它是否适合这种情况 .

我也试过Flutter WebView Plugin .

plugin.evalJavascript(
    'function add(a,b){return a+b;}add(2,3);'
).then((s) {
    print(s);
}

此函数正确地返回 5 作为响应 . 但我不明白如何使用这样的EtherJS库 .

我是Flutter,Dart和JS的菜鸟 . 任何帮助将不胜感激 .

1 回答

  • 2

    老实说,如果你愿意投入相当多的时间 . 它取决于你究竟是什么时候将它与颤振整合起来很困难 . 有一个Ethereum package,但它看起来比你一直在看的ether.js库的范围要窄得多 - 它主要集中在与RPC api的通信而不是处理钱包等 .

    如果您已经决定使用Flutter,那么最好的办法是使用AndroidiOS特定的库来执行实际的以太坊内容,并通过Platform Channels与您的dart代码中的公共API进行通信 . 这可能是一项重大任务,具体取决于您需要暴露多少API,特别是对于那些刚接触扑克/飞镖以及可能进行android / ios开发的人 . 这比使用webview中运行的javascript来回传递要高得多,并且实际上可能更容易编码,因为flutter现在没有任何好的机制来调用js代码 .

    还有另一种选择 - 完全使用不同的客户端UI框架 . React native可能会做你需要的一切,并且具有使用Javascript的优势,因此它很可能很容易集成Ether.js库,虽然我不能保证它实际上完全支持ether.js库(它的运行时可能没有例如,必要的加密扩展) .

相关问题