Kor*_*nel 34 cocoa go cocoa-bindings scripting-bridge
是否可以在Google Go中编写Mac OS X/Cocoa应用程序?
是否有Go-Obj-C桥?(在我看来,Obj-C的动态非常适合Golang的界面)
我至少可以将两者连接在一起,并通过普通的C函数让它们相互通信吗?
现在似乎没有一个用于将Cocoa绑定到Go的包.Cocoa是用Objective-C编写的,它是C的超集.目标-C消息是(或至少用于,不确定现代编译器)由编译器转换为C函数调用,如下所示:
objc_msgSend(object, sel_getUid("foo:bar:err:"), var, var2, errVar);
Run Code Online (Sandbox Code Playgroud)
因此,绝对可以使用Go的Cocoa.
如果你遇到一个问题,你发现你想在Go应用程序中使用Cocoa,恕我直言退后一步,想想你想要解决的问题.Cocoa大量使用命名参数,方法可以有很长的签名.这在Objective-C中运行良好,但我怀疑代码在Go中看起来不错.另一方面,Go解决了另一组问题.也许在Objective-C/Cocoa中用Go和GUI代码编写一个库(应用程序逻辑)就可以了?
TL; DR:在Objective-C中用Go和GUI代码编写模型怎么样?
你可以看看我的博客文章作为例子。恐怕我没有继续努力,但这里的源代码可以帮助您建立一个裸 Cocoa/ObjC/Go 项目。
正如自述文件中所述,您将能够执行类似的操作。
package main
import (
"github.com/alediaferia/gogoa"
)
func main() {
app := gogoa.SharedApplication()
window := gogoa.NewWindow(0, 0, 200, 200)
window.SetTitle("Gogoga!")
window.MakeKeyAndOrderFront()
app.Run()
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7769 次 |
| 最近记录: |