ユーザーがオブジェクト (円/楕円) を描画し、それらを線/矢印で接続してドラッグ/ドロップし、テキストを追加できるアプリを開発したいと考えています。もちろん、eventHandling も作成する必要があります。
それに最も適しているのは何ですか?gwt-graphics と GWTCanvas のどちらを選びますか?
ユーザーがオブジェクト (円/楕円) を描画し、それらを線/矢印で接続してドラッグ/ドロップし、テキストを追加できるアプリを開発したいと考えています。もちろん、eventHandling も作成する必要があります。
それに最も適しているのは何ですか?gwt-graphics と GWTCanvas のどちらを選びますか?
私が知っていることに基づいて、GWT-GraphicsはSVGに基づいています。一方、GWTCanvas (実際には GWT メインラインの一部) は canvas 要素に基づいています。
さて、簡単な比較。すべてのドラッグ アンド ドロップに関して、SVG ははるかに簡単で高速でした (大量の要素があるときにドラッグ アンド ドロップをテストしていたとき、キャンバスに基づく私のプログラムは、SVG に基づく同様のものよりもはるかに遅かったです)。
SVG ベースのライブラリのその他の利点は、canvas がすべてのブラウザーでサポートされていないことです (実際には古いバージョンのブラウザーには問題がある可能性があります)。
一方、大量のオブジェクトを描画する必要がある場合は、キャンバスの方がはるかに高速です。キャンバスは間違いなくあなたの選択です。
個人的には gwt-graphics を使用します。それは私がよく知っているものであり、私に必要なだけグラフィックスを制御できます (そして私はあなたもそう思います)。ほとんどのイベントは既に実装されているため、記述する必要があるロジックは最小限になります。
一方、SVG は IExplorer で十分にサポートされておらず、ベクトルが多数になると互換性の問題が発生します。
Canvas if HTML 5 は、ピクセルレベルの制御を提供します-これはあなたのプロジェクトには当てはまらないと思います-しかし、プロである-回避策のない-アプローチにもつながります。
結論として、キャンバスを使用しているときにユーザーに持たせたいコントロールのレベルと、自分でやりたい作業のレベルに依存すると思います。