最近の読者のために、2013年1月の時点で、私は次のことを評価しました。
「評価」することで、ドキュメントを読むだけではありませんでした。プロトタイプのアプリを作成しました。
コミュニティが最大のようで、それが私の解決策になると思ったので、私はファブリックから始めました。しかし、私は次の理由でファブリックをあきらめました:
- ドキュメント化されていない奇妙なAPIの不整合が、私の時間の多くを不必要に燃やしました。
- 一貫性のないポインターイベントのサポート。具体的には、Fabricは「パス」を選択可能で観察可能な真の形状オブジェクトとは見なしません。インタラクティブパスがアプリの主要な要件であるため、これは私のニーズを満たしませんでした。
- オブジェクトを配置するためにCanvasに翻訳を追加します。私にとって、Fabricは、開発者が何をしているのかを明確にすることなく、この点で賢すぎるようにしています。
- インタラクティブ機能の動作、サイズ変更、回転の仕組みに関する過度に強い意見。多くの点で、この機能をフレームワークに組み込むのは素晴らしいことですが、私の場合、実装方法に同意できなかったため、本質的に自分で再実装する必要がありました。
- 疎なドキュメント-メソッドのドキュメントが次の形式である場合の多く: "setX(Y)-set's the X to Y" :-)
私はペーパーを見て、あまり遠くに行かなかった。それは私には過度に鈍いと思われ、あまりにもスツールIMOの間に収まります-Canvasの単純なオブジェクトモデルになるには可視化ライブラリが多すぎますが、D3と競合するための可視化ライブラリは十分ではありません。さらに、ドキュメントは特にアクセスしやすかった。
Flash / ActionScriptのバックグラウンドがあれば、イーゼルはおそらく意味があると思いますが、そうではありません。さらに、それは私の要件に対して過度にゲームに集中しているように見えました。棺の釘は再び文書でした-十分ではなく、非標準形式で提示されました。
したがって、私はKineticを使用することになりました。
- 本当に豊かで明確なチュートリアルと例
- API関数は、それらが何と呼ばれるかを実行し、主に推測可能です-より速い生産性、より浅い学習曲線
- それが何をするか、何をしないかについてはかなり明確です-それは他のいくつかのように豊かではありませんが、それは利点です。それはより少ないことを行いますが、それらはより良いです
- パスは、他のシェイプと同様に、ファーストクラスのシチズンシェイプであり、私の要件に不可欠でした。
Kineticは決して完璧なものではなく、実際に何が行われているのかを理解するために、ソースコードを深く掘り下げる必要があったことが何度かありました。さらに、SVGの解析とファブリックの出力がありません。