Libgdx は主に Android に焦点を当てており、Java で書かれていますが、ブラウザ (webGL?) 上でアプリを実行できるようです。Three.js は、レンダリングに WebGL (または 2d キャンバス) も使用する非常に印象的な JavaScript 3D ライブラリです。焦点が異なるため、これまでのところ、この2つの比較は見ていませんが、違いを知りたいと思います.一方のライブラリでは何ができて、もう一方のライブラリでは何ができませんか.
1 に答える
私は Three.js について話す資格があるとは思いませんが、私の多くのプロジェクトで libGDX を使用しており、WebGL (ブラウザー エクスポート) に関しては libGDX の欠点を知っています。
最初に考慮すべき要素は、どの言語に慣れているかです。Three.js は JavaScript を使用し、libGDX は Java を使用します。また、libGDX は WebGL にエクスポートしますが、それは GWT を使用しているからに過ぎず、コーディングは Java で行います。
LibGDXは、(あなたが言ったように)モバイルおよび(ある程度)デスクトップアプリケーションに特化しています。モバイルやデスクトップだけでなく Web でも機能するものを作成することが目標である場合は、libGDX を検討する必要があります。ただし、Web 用にプログラミングするだけの場合は、後で説明する理由から Three.js を実行することを検討します。
LibGDX は主にゲーム開発用に作成されているため、作成しているアプリケーションがゲームである場合は、3D でのゲーム プログラミングが素晴らしく簡単になるため、libGDX を考慮することができます (複数のプラットフォームに移植できますが、ウェブのみ、モバイルとデスクトップ)。しかし、何か他のものを作成している場合は、Three.js の方が適している可能性があります。
配布用のプラットフォームが Web バージョンになる場合は、Three.js を使用することをお勧めします。libGDX は、WebGL エクスポートには適していないためです。最大の問題 (解決可能ですが、対処するのが面倒) の 1 つは、libGDX がデフォルトのブラウザー キーの使用を妨げないことです。ただし、libGDX を使用することを選択した場合は、この問題を (多かれ少なかれ) 解決するためにこれを確認してください。
ほとんどの場合、メイン プラットフォームが Web になる場合は、Web 開発用の言語でプログラミングする必要があります。Three.js フレームワークを使用して JavaScript でプログラミングすると、コードが簡潔になり、実行が速くなります。一方、libGDX を使用すると、基本的に Java コードが JavaScript コーディングに変換され、非効率的でかさばり、役に立たないか単純化できる JavaScript コード行が多数含まれます。これは libGDX (または GWT) 自体の問題ではなく、プログラミング言語の翻訳を自動化する際に避けられない問題です。例を挙げると、プログラミング言語 Haxe を使用して、HelloWorldをコンパイルすると、Haxe to C++ には、不要な変数とメソッド (C++ ソース コード内) が含まれており、それらを取り除くことができます。この場合も同じです。
ですので、最終的には何を目指すかによります。Web バージョンのみを使用する場合は、Three.js を使用します。それ以外の場合は、libGDX を検討する必要があります。