https://github.com/wspl/go-quickjs
自 quickjs 发布后,我十分兴奋并把它写成了 Go Bindings …… 使得可以在 Go 语言中使用 QuickJS 引擎。
目前支持的有限特性:
[]byte
的字节码[]byte
形式的字节码目前仅在 MacOS 下测试可用,Linux 理论上可用,对于其他平台的支持,欢迎大家参与贡献!
1
AngelCriss 2019-07-15 17:58:45 +08:00 via Android
binding 是不是就是用 cgo 封装了下?
|
2
eslizn 2019-07-15 18:28:25 +08:00
|
3
MeteorCat 2019-07-15 18:31:24 +08:00 via Android
用 c 就行了,cgo 还得再绑定一层
|
4
plqws OP |
5
eslizn 2019-07-15 18:46:27 +08:00
@plqws 有的,我就重写过我司的几个 cgo 组件
另外 js 的 pure go 虚拟机: https://github.com/dop251/goja https://github.com/robertkrimen/otto |
6
MeteorCat 2019-07-15 18:47:13 +08:00 via Android
nodejs 和 go 直接挂起 rpc,两者提供接口,不同的语言只要保证接口参数一致而不是生搬硬套,而且使用 rpc 能够提供很强扩展性
|
7
MeteorCat 2019-07-15 18:48:42 +08:00 via Android
rpc 能够抹平任何语言差距,哪怕以后你们扩展新的语言也能保证两者的通信交换
|
8
plqws OP |
9
Rorysky 2019-07-15 19:06:20 +08:00 via iPhone
一口暴击
|
10
Rorysky 2019-07-15 19:08:13 +08:00 via iPhone
go 用于移动平台 是什么场景?
|
11
plqws OP @Rorysky #9 #10 本来就是个满足我们项目需求的衍生小项目,没啥暴击不暴击的,脱离需求去讨论一个项目的意义本身就没有意义。
使用 场景当然是商业机密咯,整个 go-mobile 都是 cgo 实现的,难不成 go-mobile 也别用了? |
13
mamahaha 2019-07-15 19:25:18 +08:00
我还没学 go,这个题目我不太理解,go 语言能执行 js 代码吗?这也太强了吧?
|
14
plqws OP @Rorysky #12 误解了,抱歉。
对其他人: 这个项目对大多数人来说应该就是个小玩具吧,但对于我们自己来说是刚需。希望大家看问题的角度能积极一点吧,打击别人不仅对自己没好处,对开源社区也没好处,嘴下留情吧。 |
15
plqws OP @mamahaha #13 Go 语言是可以执行 JavaScript 代码,而且有很多种方法。我这个小项目只是其中一种方法而已。
|
17
1981 2019-07-15 19:35:48 +08:00
|
18
plqws OP @Rorysky #16 go 编译成 wasm 的话,就可以在浏览器中使用那些用 go 写的程序和库了。这个库是在非浏览器环境下使用 javascript 语言。这两个目的正好相反。
|
19
luozic 2019-07-15 22:43:44 +08:00 via iPhone
为啥不走 rpc ?
|
20
SPACELAN 2019-07-15 22:58:02 +08:00
楼主的项目对性能要求严格吗
|
21
kimown 2019-07-16 08:14:02 +08:00 via Android
pc 用 nodejs,mobile 有 jsc 和 v8,这个使用场景在哪
|
22
locoz 2019-07-16 08:18:56 +08:00 via Android
😄看完全贴我已经猜到楼主的业务场景是啥了,牛逼啊
|
23
sirgod 2019-07-18 22:50:26 +08:00
作为区块链的合约引擎?
|