Für die jüngsten Leser habe ich ab Januar 2013 Folgendes bewertet:
- Kinetisch
- Stoff
- Papier
- Staffelei
Mit "ausgewertet" habe ich mehr als nur die Dokumente gelesen. Ich habe eine Prototyp-App erstellt.
Ich habe mit Fabric angefangen, weil es die größte Community zu haben schien und dachte, dass es meine Lösung sein würde. Aber ich habe Fabric aus folgenden Gründen aufgegeben:
- seltsame und undokumentierte API-Inkonsistenzen, die einen Großteil meiner Zeit unnötig verbrannten.
- Unterstützung für inkonsistente Zeigerereignisse. Insbesondere betrachtet Fabric einen "Pfad" nicht als ein echtes Formobjekt, das auswählbar und beobachtbar ist. Dies entsprach nicht meinen Anforderungen, da interaktive Pfade eine wichtige Anforderung meiner App sind.
- Hinter den Kulissen werden Übersetzungen zum Canvas hinzugefügt, um Objekte zu positionieren. Für mich versucht Fabric in dieser Hinsicht zu klug zu sein, ohne dem Entwickler klar zu machen, was er tut.
- zu starke Meinung darüber, wie das Verschieben, Ändern der Größe und Drehen der Interaktivität funktioniert. In vielerlei Hinsicht ist es großartig, diese Funktionalität in das Framework integriert zu haben, aber in meinem Fall war ich mit der Art und Weise, wie sie implementiert wurde, nicht einverstanden, was bedeutete, dass ich sie ohnehin selbst neu implementieren musste.
- spärliche Dokumentation - viele Fälle, in denen die Dokumentation einer Methode die Form hat: "setX (Y) - setze das X auf Y" :-)
Ich habe mir Paper angesehen und bin nicht zu weit gekommen. Es schien mir zu stumpf und liegt auch zwischen zu Hockern IMO - es ist zu viel Visualisierungsbibliothek, um ein einfaches Objektmodell für Canvas zu sein, aber es reicht nicht aus, um mit D3 zu konkurrieren. Außerdem war die Dokumentation wieder nicht besonders zugänglich.
Ich denke, Staffelei macht wahrscheinlich sehr viel Sinn, wenn Sie einen Flash / ActionScript-Hintergrund haben, aber ich nicht. Außerdem schien es für meine Anforderungen zu spielorientiert zu sein. Der Nagel im Sarg war wieder Dokumentation - nicht genug und in nicht standardisiertem Format präsentiert.
Also habe ich mich für Kinetic entschieden, weil:
- wirklich reichhaltige und klare Tutorials und Beispiele
- API-Funktionen machen das, was sie genannt werden und sind weitgehend zu erraten - schnellere Produktivität, flachere Lernkurve
- ist ziemlich klar darüber, was es tut und was nicht - es ist nicht so reich wie einige der anderen, aber das ist ein Vorteil; es macht weniger Dinge, aber es macht sie besser
- Wege sind erstklassige Bürgerformen, wie jede andere Form, die für meine Anforderungen wesentlich war.
Kinetic ist keineswegs perfekt und es gab einige Male, in denen ich tief in den Quellcode eintauchen musste, um herauszufinden, was tatsächlich unter der Decke vor sich geht. Außerdem vermisse ich das SVG-Parsen und die Ausgabe von Fabric.