【发布时间】:2014-08-23 23:59:30
【问题描述】:
我想使用我最喜欢的编程语言 Golang 编写一个 3D 应用程序。但是,我不希望直接使用原生 OpenGL 作为图形前端,因为这将需要比我愿意容忍的更大的学习曲线。此外,我真的不想使用像 go:ngine 这样的 Golang 游戏引擎。
在做了一些研究之后,我发现了令人惊叹的 WebGL Javascript 库 three.js,我非常感兴趣,以至于我在几个小时内完成了介绍性的 Javascript 课程。我根本不是一个真正的网络开发人员,所以我想知道主要用 Go 编写我的应用程序但使用 three.js 前端有多实用。
一些具体问题:
- 像这样使用 Javascript/three.js 作为 Golang 服务器的前端是否值得/实用?
- 如果值得的话,我在哪里可以学习如何将两者干净地结合起来?
- 如果真的不值得,我有哪些替代方案?
谢谢,感谢任何回复。
编辑:
您是否计划在 Go 中对几何图形进行实时操作,并使用 Websockets 与您的 Javascript 层进行通信?
是的,这就是我现在的想法。我打算让我的(Golang)程序根据用户的一些参数生成顶点和三角形流。每个“结构”都是在用户提供参数后一次性生成的(我在 Javascript 前端看到滑块+输入框)。
以下是 Go 程序可能生成的示例,绘制在 GNUPlot 中:
(来源:alexozer.com)
如果是这种情况,你有点低估了 Javascript。您应该使用 Javascript 编写大部分应用程序,并将 Go 用作经典的后端服务层,例如用户帐户、持久状态等。
我可以这样做,除了以下原因:
- 核心生成过程从根本上依赖于 Goroutine 和通道
- 我对 Web 开发几乎一无所知,包括前端和后端
所以我想我是在询问以下三种可能性之一的实现细节:
【问题讨论】:
标签: javascript 3d go three.js