HTML canvas JavaScriptライブラリとフレームワークの現在の最新技術は何ですか?[閉まっている]


107

現在、新しいHTML 5アプリケーションでキャンバスを操作するためのオプションを調査していますが、HTMLキャンバスのJavaScriptライブラリとフレームワークの現在の状態はどうなっているのでしょうか。

特に、ゲーム開発に必要なもの(複雑なアニメーション、シーングラフの管理、イベントの処理、ユーザーインタラクション)をサポートするフレームワークはありますか?

また、商用製品とオープンソース製品の両方を検討する用意があります。


シーングラフを使用してイベントを処理している場合、SVGはニーズにより適していませんか?
Joeri Sebrechts、2010

まあ、それは私が尋ねる理由の一部です。Canvasには確実に勢いがあります。何が可能で何が不可能であるかを確認しようとします。複雑なアニメーションに関しては、SVGは特に適切にスケーリングしません。
Toby Hede

特に3Dグラフィックス、2D、またはどちらかを探していますか?
LarsH 2010

ここに別の素晴らしいデモがあります:kevs3d.co.uk/dev/asteroids。彼らが作成したライブラリがすべてのユーザーが利用できるかどうかはわかりません。キャンバスの良い例ですが。
カストロヘンジ

jsfiddle.net/user/zlatnaspirala/fiddlesがこのフレームワークvisualJSを試してください。
Nikola Lukic 2016年

回答:


96

Fabric.jsスクリーンショット

私は、イベントとユーザーの操作を処理することにより、canvas上のオブジェクトを操作するために、fabric.js(まさにそれを支援するキャンバスライブラリ)に取り組んできました。まだリリースされていませんが、簡単なプレビューデモをご覧ください

もともと作成されたこのデザインエディタで、実際の動作を確認することもできます。

編集:プロジェクトはgithub(MITライセンスでオープンソース)で利用可能になりました

開始するには、以下をチェックしてください:

ファブリックは他のJavaScriptキャンバスライブラリと比較してどうですか?こちらが比較表です。


IEでは何をしますか?ExplorerCanvas?
Sasha Chedygov 2010

14
これは驚異的なデモであり、非常に印象的なプロジェクトです
2010

3
@musicfreakはい、ExplorerCanvas。ところで、ネイティブキャンバスサポートを使用して、IE9(4番目のプレビュー)のすべての〜900テストに合格しています。
kangax 2010

4
fabric.jsのプロジェクトページはどこにありますか?もっと詳しく知りたいです。
Arne Roomann-Kurrik 2010

おっと、ちょうど私が必要なもの...私は実際に、このライブラリがシームレスに処理するようにこのライブラリを管理することがいかに困難であるかに苛立っていました!
Shouvik 2010

17

誰もWebGLとそれに基づいて構築されたフレームワークについて言及していないことに驚いています。私は、3D GPUアクセラレーショングラフィックスとHTMLキャンバス/ JavaScriptの複雑なアニメーションのための最先端のリストの上位にあると考えています。

WebGLは、OpenGL ES 2.0に基づく低レベル3DグラフィックAPI向けのクロスプラットフォームでロイヤリティフリーのウェブ標準であり、ドキュメントオブジェクトモデルインターフェースとしてHTML5 Canvas要素を通じて公開されます。...

WebGLはプラグインなしの3DをWebにもたらし、ブラウザーに直接実装されます。主要なブラウザベンダーであるApple(Safari)、Google(Chrome)、Mozilla(Firefox)、およびOpera(Opera)は、WebGLワーキンググループのメンバーです。

WebGLは、GPUアクセラレーショングラフィックスのサポートにおいて非常に強固です。これらのGLSL シェーダーの デモを確認してください。:-)そして、ユーザーインタラクションの例としてChemDoodleをご覧ください。

私は、シーングラフを管理し、レンダリングにWebGLを使用する(独自のプラグインを使用していた)GoogleのO3Dフレームワークを使用するアプリに取り組んでいます。O3Dは進行中の作業であり、そのドキュメントは完全に最新ではありませんが、活発に開発されており、いくつかの優れたデモがあります。3Dプールはあなたの路地を最も上にあるかもしれません。Googleの開発者は、ディスカッショングループの質問に非常に敏感です。

他にもWebGL上に構築されたフレームワークがいくつかあります。こちらをご覧ください。ゲーム開発とシーングラフについて言及しているのは、Copperlicht、SceneJS、X3DOMです。

WebGLは、いくつかのブラウザーの最近の開発ビルドで実行されますが、IEでは実行されません。私はFirefox( "Minefield")とChromiumを使用していて、良い結果が出ています。上記のデモを実行するには、これらのいずれかが必要です。

ただし、HTML 5 canvas / js以外の依存関係がないことが要件である場合、WebGLは適切な選択ではない可能性があります。それはそれをサポートしていますIEのようには見えませんいつでもすぐに。

更新:多くの抵抗を置いた後、MS はIE 11でWebGLをサポートすることを決定しました


Three.jsはwebglで実行されます
JqueryToAddNumbers '30 / 07/30

@nube:良い点。Three.jsは、WebGL、SVG、またはプレーン(2D)キャンバスにレンダリングできます。
LarsH 2011

15

three.js mr。doobは、シーングラフ(ソフトウェアとWebGL /ハードウェアアクセラレーションバージョンの両方)、シェーディング、パーティクル、スキンアニメーション(私は思う)、およびライティングエフェクトを含むJavaScript用の素晴らしい3Dエンジンです。それをチェックしてください、彼は非常に才能のある仲間です。

ほとんどのデモを表示するには、最新のGoogle Chromeまたは同等のものが必要になることを付け加えておきます。私のお気に入りの1つは、http//mrdoob.github.com/three.js/examples/webgl_materials_cars.htmlです


1
このデモは実際にはさらに優れています:carvisualizer.plus360degrees.com/threejs
Pierre Henry

13

KineticJSは、キャンバス上で個々の「レイヤー」を作成してアニメーション化し、高性能を実現する新進気鋭のライブラリです。

http://www.kineticjs.com/


github.com/ericdrowell/KineticJS/#mothballedは「言う私は、他のベンチャー企業やプロジェクトに移動してきたので、私はもはやこのレポや公式KineticJSのウェブサイトを維持しないであろうと、GitHubには147のオープンの問題を報告します」
xmojmr

8

CAKE.jsもはや維持されているではありませんが、かなり強力なフレームワークである- http://code.google.com/p/cakejs/

デモはこちら-http : //glimr.rubyforge.org/cake/canvas.html、http://glimr.rubyforge.org/cake/missile_fleet.html


2
驚くばかり。かなり洗練されているように見えます。そして、OSの世界では、積極的にメンテナンスされるのはたった1人の熱狂者です:)
Toby Hede

6

processingjsフレームワークを見てください。また、次のmootoolsバージョン2.0には、キャンバスで動作するアートプロジェクトが含まれています。


3
ProcessingJSは問題に対する興味深いアプローチですが、それは本質的にJavaScriptで実装された手続き型DSLであり、重要なアプリケーションに拡張できるかどうかはわかりません。MooToolsオプションをチェックします。
Toby Hede

うん、Processingはデータvizプロトタイピング言語です。Javascriptの移植版があることはすばらしいですが、それでHTML 5フレームワークになることはほとんどありません。
Peter Bailey

問題は、html5ではなくキャンバスフレームワークに関するものでした。
AndreasKöberle2010

私のセマンティクスエラーを許してください。Canvasフレームワークは私が得ていたものです。
Peter Bailey

6

ラファエルはかなり良いキャンバスライブラリのようです。これはSVGベース(またはInternet ExplorerではVMLベース)であるため、多くのユーザー入力イベントをサポートしています。かなり小さい(60kb gzip圧縮)ので、依存関係が大きすぎません。
それも素晴らしいツイナーを持っているようです:http ://raphaeljs.com/reference.html#animate (例についてはここここを参照してください)。

それができることの例については、この賢い小さなデモを見てください。

お役に立てれば!


10
SVGはキャンバスあたかも同じものではありません
トビーHede

4

2つのライブラリが非常に競争力があり、ファブリックよりもはるかに優れていることがわかりました。

Kinetic.jsとeasel.jsはどちらも、非常に優れたイベント処理、グループ化、および一般的な形状の抽象化を備えています。あなたはこれらの両方で愛する多くを見つけるでしょう。イーゼルは、より画像指向でフィルタリングされているようです。

ファブリックのイベントハンドリンはこれらのどちらよりもはるかに劣ります-基本的に、キャンバス全体を1つの大きなイベントラッパーとして扱い、「何か」がクリックされたときに通知します。個々のシェイプまたはシェイプのグループにイベントをアタッチしません。


2
FWIW、Fabricでは、イベントをオブジェクトに直接アタッチできるようになり、汎用的なグループ機能を備えています。
kangax 2012


3

また、JavaScriptのフレームワークは若くは悪くありませんが、それ(複雑なアニメーション、シーングラフの管理、イベントとユーザーインタラクションの処理)はすべてjCanvaScriptです。「シーングラフの管理」を除いて可能性があります。




2

JavaScriptを使用する場合は、Dojoが最適です。非常に強力なコンパクトなクロスプラットフォーム(SVG、VML、Canvas、Silverlight)のベクターグラフィックAPIを備えています。dojo.gfxとdojox.gfxにあります。

これを使用して、学生がベクトルや楕円など(画像を追加することもできる)を描画し、それらに対してあらゆる種類の変換を実行できるインタラクティブな物理学の先生を構築しました。http://gideon.eas.asu.edu/web-UI/login.htmlで私たちが行ったことを確認できます-任意のユーザー名でログインするだけです。

私はfabric.jsを調べましたが、dojox.drawingは多くの同じことを行います。ツールキットのテストを見ると(dojox / drawing / tests /になったら)、ベクターグラフィックスからイメージ、プログラムで作成されたシャドウまで、すべての例が見つかります。


1

ゲームエンジンとして秋葉原に感動しました。チュートリアルとAPIの形で素晴らしいドキュメントがあります。秋葉原2のリリースについてのいくつかのメッセージボードの話を見たことがあります。残念ながら、その話はすべて1年以上前のものです。このエンジンがまだ開発されていることを願っています。


1

AS3 / Flash開発のバックグラウンドを持つ人々を対象とした新しい描画とトゥイーンのライブラリの最初のイテレーションをリリースしました。私のlibはまだ複雑な描画パスやグラフをサポートしていませんが、基本的なプリミティブを慣れ親しんだ方法ですばやく描画およびアニメーション化できるようになることを願っています。

フィードバックやコメントは大歓迎です。 http://www.quietless.com/kitchen/introducing-js3/

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.