Libgdx主要关注Android,用java编写,但显然它可以在浏览器上运行应用程序(webGL?)。 Three.js是一个非常令人印象深刻的JavaScript 3D库,它使用WebGL(或2d canvas)以及渲染。 到目前为止,我还没有看到这两者之间的任何比较,因为他们有不同的侧重点,但我想知道它们之间的区别,一个图书馆可以做什么,另一个不能。three.js vs libgdx用于3D网页开发
回答
我不认为我有资格谈论Three.js,但是我已经使用了libGDX来处理我的许多项目,并且在WebGL(浏览器导出)方面知道它的缺点。
要考虑的第一个因素是您习惯的语言,Three.js使用JavaScript,而libGDX使用Java。尽管libGDX导出到WebGL,但仅仅因为它使用GWT,您仍然使用Java进行编码。
LibGDX是专门的(如你所说)在移动和(在某种程度上)桌面应用程序。如果你的目标是创造一些在网络上以及移动和桌面上运行的东西,那么应该考虑libGDX。然而,如果你只想为网络编程,那么我会考虑只是在做Three.js,我会稍后解释。
LibGDX主要用于游戏开发,所以如果你正在制作的应用程序是一款游戏,那么你可以考虑libGDX,因为它使得3D游戏编程变得简单易行(你可以将它移植到多个平台,不仅仅是网络,而是移动和桌面)。但是如果你做了其他的事情,Three.js可能是更好的选择。
如果您的分发平台将成为您的网页版本,我会建议坚持使用Three.js,因为libGDX对于WebGL导出不太好。最大的问题之一(这是可以解决的,但需要付出一定的代价)是libGDX不会阻止使用默认浏览器密钥。但是,如果您选择使用libGDX,请确保您查看this以解决该问题(或多或少)。
大多数情况下,如果您的主要平台将是网络,您需要使用适用于Web开发的语言进行编程。如果使用Three.js框架在JavaScript中编程,代码将更干净,运行速度更快。同时,如果您使用libGDX,它实质上会将Java代码转换为JavaScript代码,从而导致代码效率低下且体积庞大,并且会包含许多无用或简化的JavaScript代码。这不是libGDX(或GWT)本身的问题,而只是在自动化编程语言转换时无法避免的问题。举个例子,使用编程语言HaXe,如果你编译了一个HaXe到C++,它包含了一堆你可以摆脱的不必要的变量和方法(在C++源代码中)。在这种情况下也一样。
所以最终它取决于你的目标。如果您打算坚持只使用Web版本使用Three.js,否则应考虑libGDX。
- 1. Three.js - 2D + 3D网格
- 2. 用于2D开发的3D JS引擎?
- 3. LibGDX VS Cocos2dx开发Android游戏
- 4. 使用java 3d的网站? (需要为网络开发3d)
- 5. 用于网页开发的Java技术
- 6. 使用html5/three.js开发3D虚拟游览
- 7. 网页开发
- 8. Gimp vs Inkscape vs Fireworks的网站开发?
- 9. libGDX:从2D屏幕打开3D场景
- 10. 使用xcode开发网页
- 11. 在网页开发中使用SVG vs字体图标
- 12. 开发任何基于网络的3D游戏
- 13. 用于PHP开发的NetBeans VS PhpStorm
- 14. Three.js + leaflet = 3D地图?
- 15. libgdx假3D阴影
- 16. 未来的后端网页开发与前端网页开发
- 17. 适用于iOS的Unity 3D vs. UDK 3
- 18. 3D网页可视化。 Three.js(webgl)还是其他任何使用的技术?
- 19. libGDX适用于仅桌面应用程序开发吗?
- 20. 嵌入网页在libgdx
- 21. Batch.end()VS Batch.flush()libgdx
- 22. Libgdx batch.draw vs sprite.draw
- 23. libGDX JglfwApplication vs LwjglApplication
- 24. 网页开发工具
- 25. Android网页开发问题
- 26. Smalltalk网页开发软件
- 27. asp.net网页开发环境
- 28. 网页设计/开发
- 29. 网页开发软件
- 30. 网页开发工具linux
这样的问题很难以合理的方式回答。通常你会得到的答案会严重偏向一个图书馆或另一个图书馆,除非你缩小了一点。如果你想知道对特定功能的支持,请列出它们,否则你可能和我们任何一个人一样能够对这两者进行重点比较。 – Toji
我很好奇的是,如果他们都是众所周知的,适合webGl开发,为什么你不能在谷歌的同一页面找到'libgdx'和'three.js'。 – olanod
因为libgdx最初是作为桌面/ Android框架开始的,并且在几个月前添加了纯Javascript/WebGL支持(游戏已经部署到例如Facebook或Google Chrome商店)。目标受众可能会因语言不同(Java语言在libgdx中,Javascript/Coffescript在three.js中)和平台选择(大多数人或者专注于Android或网页游戏,但通常不是两者,特别是业余爱好者) 。 – badlogic