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