我想使用我最喜欢的编程语言Golang编写3D应用程序。但是,我宁愿不要直接将本机OpenGL用作图形前端,因为这将带来比我所能容忍的更大的学习曲线。另外,我真的不想使用go:ngine这样的Golang游戏引擎。
在进行了一些研究之后,我发现了令人惊叹的WebGL Javascript库three.js,我对此非常着迷,以至于我在几个小时内完成了Javascript入门课程。我根本不是一个Web开发人员,所以我想知道主要使用Go编写一个具有Three.js前端的应用程序对我来说有多实际。
一些具体问题:
谢谢,任何答复表示赞赏。
您是否打算在Go中对几何进行实时操作,并使用Websockets与Javascript层进行通信?
是的,这就是我现在在想的。我打算让我的(Golang)程序根据用户的一些参数生成顶点和三角形流。每个“结构”都是在用户提供其参数后立即生成的(我将其视为滑动条+ Javascript前端上的输入框)。
这是一个Go程序可能生成的示例,以GNUPlot绘制:(来源:alexozer.com)
如果是这种情况,您可能会低估Javascript。您应该使用Javascript编写大部分应用程序,并将Go用作经典的后端服务层,例如用户帐户,持久状态等。
除了这些原因,我可以这样做:
所以我想问的是这三种可能性之一的实现细节:
我建议您忽略整个Websocket方面,因为这只是一个可能的优化(也许甚至没有)。
如果您需要依赖Go的并发模型,请继续使用它,在Go中编写您的组件,然后在Go中的Web服务器获取来自HTML请求的参数,使用它们来计算结果并以JSON格式发送回数据。
然后,在前端,您将仅专注于在用户更改参数时发送此请求,并且对于显示JSON数据,您可以立即使用ThreeJS。
不过,您仍然必须学习一些Web开发和Javascript。但是,嘿,他们说网络是未来;-)
我认为这是解决问题的方法,因为您的应用程序以非常严格的请求结果方式运行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句