我想使用我最喜欢的编程语言 Golang 编写一个 3D 应用程序。但是,我不希望直接使用原生 OpenGL 作为图形前端,因为这将需要比我愿意容忍的更大的学习曲线。此外,我真的不想使用像 go:ngine 这样的 Golang 游戏引擎。在做了一些研究之后,我发现了令人惊叹的 WebGL Javascript 库three.js,我非常感兴趣,以至于我在几个小时内完成了介绍性的 Javascript 课程。我根本不是真正的 Web 开发人员,所以我想知道主要用 Go 编写应用程序但使用three.js 前端对我来说有多实用。一些具体问题:像这样使用 Javascript/three.js 作为 Golang 服务器的前端是否值得/实用?如果值得,我在哪里可以学习如何干净地整合两者?如果它真的不值得,我有哪些选择?谢谢,任何回应表示赞赏。编辑:您是否计划在 Go 中对几何进行操作,可能是实时的,并使用 Websockets 与您的 Javascript 层进行通信?是的,这就是我现在的想法。我打算让我的(Golang)程序根据用户的一些参数生成顶点和三角形流。每个“结构”都是在用户提供参数后立即生成的(我将其视为 Javascript 前端的滑块 + 输入框)。这是 Go 程序可能生成的示例,绘制在 GNUPlot 中:如果是这种情况,您就有点低估了 Javascript。您应该使用 Javascript 编写大部分应用程序,并将 Go 用作经典的后端服务层,例如用户帐户、持久化状态等。我可以这样做,除了以下原因:核心生成过程从根本上依赖于 Goroutines 和 Channels我对 Web 开发几乎一无所知,包括前端和后端所以我想我是在询问这三种可能性之一的实现细节:使用 JS 编写大部分程序,包括生成器,并使用 Go 编写最小后端用 Go 编写大部分程序并将 JS 用作图形前端还有什么?
2 回答
茅侃侃
TA贡献1842条经验 获得超21个赞
我建议忽略整个 Websocket 方面,因为它只是一种可能的优化(甚至可能不是)。
如果你需要依赖 Go 的并发模型,那就去吧,用 Go 编写你的组件,然后用 Go 编写一个 Web 服务器,它接受来自 HTML 请求的参数,使用它们来计算结果并以 JSON 格式发回数据。
在前端,您将只专注于在用户更改参数时发送此请求,并且为了显示 JSON 数据,您可以立即使用 ThreeJS。
不过,您仍然需要学习一些 Web 开发和 Javascript。但是,嘿,他们说网络是未来 ;-)
我认为这是适合您的情况的方法,因为您的应用程序以非常严格的请求-结果方式运行。
杨__羊羊
TA贡献1943条经验 获得超7个赞
您的问题的答案很大程度上取决于您计划在 Go 组件和 Javascript 组件之间划清界限的确切位置。从你描述问题的方式我得到的感觉是,你想用 Go 编写大部分应用程序并且只使用 JS 作为显示层?我不建议这样做。
重新表述我的问题:您是否计划在 Go 中对几何进行操作,可能是实时的,并使用 Websockets 与您的 Javascript 层进行通信?如果是这种情况,您就有点低估了 Javascript。您应该使用 Javascript 编写大部分应用程序,并将 Go 用作经典的后端服务层,例如用户帐户、持久化状态等。
如果我知道你到底打算做什么,我也许可以给出更具体的答案。
- 2 回答
- 0 关注
- 313 浏览
添加回答
举报
0/150
提交
取消