Dla niedawnych czytelników, od stycznia 2013 r., Oceniłem:
- Kinetyczny
- Tkanina
- Papier
- Sztaluga
„Oceniając”, zrobiłem więcej niż tylko przeczytanie dokumentów; Stworzyłem prototypową aplikację.
Zacząłem od Fabrica, ponieważ wydawało się, że ma największą społeczność i pomyślałem, że to będzie moje rozwiązanie. Ale zrezygnowałem z Fabric z następujących powodów:
- dziwne i nieudokumentowane niespójności w API, które niepotrzebnie pochłonęły mój czas.
- niespójna obsługa zdarzeń wskaźnika. W szczególności Fabric nie traktuje „ścieżki” jako obiektu o rzeczywistym kształcie, który można wybrać i obserwować. Nie spełniło to moich potrzeb, ponieważ ścieżki interaktywne są głównym wymaganiem mojej aplikacji.
- za kulisami dodawanie tłumaczeń do kanwy w celu pozycjonowania obiektów. Dla mnie Fabric stara się być pod tym względem zbyt sprytny, nie wyjaśniając programistom, co robi.
- zbyt mocna opinia na temat tego, jak działa interaktywność przenoszenia, zmiany rozmiaru i obracania. Pod wieloma względami świetnie jest mieć tę funkcjonalność wbudowaną we frameworku, ale w moim przypadku nie zgadzałem się ze sposobem jej implementacji, co oznaczało w istocie konieczność samodzielnego jej ponownego zaimplementowania.
- rzadka dokumentacja - wiele przypadków, w których dokumentacja metody ma postać: "setX (Y) - ustaw X na Y" :-)
Spojrzałem na Paper i nie zaszedłem za daleko. Wydawało mi się to zbyt tępe, a także wpada między zbytnio stołki IMO - to zbyt duża biblioteka wizualizacji, aby być prostym modelem obiektowym dla Canvas, ale nie wystarczająca biblioteka wizualizacji, aby konkurować z D3. Ponadto dokumentacja ponownie nie była szczególnie dostępna.
Myślę, że Easel prawdopodobnie ma dużo sensu, jeśli masz tło Flash / ActionScript, ale ja nie. Poza tym wydawało się, że jest zbyt skoncentrowany na grze jak na moje wymagania. Gwóźdź do trumny znów był dokumentacją - za mało i przedstawioną w niestandardowym formacie.
Więc zdecydowałem się na Kinetic, ponieważ:
- naprawdę bogate i przejrzyste samouczki i przykłady
- Funkcje API działają tak, jak się nazywają, iw dużej mierze można je odgadnąć - szybszą produktywność, płytszą krzywą uczenia się
- jest dość jasny, co robi, a czego nie - nie jest tak bogaty jak niektóre inne, ale to jest korzyść; robi mniej rzeczy, ale robi to lepiej
- Ścieżki to kształty obywatelskie pierwszej klasy, jak każdy inny Kształt, który był niezbędny dla moich wymagań.
Kinetic nie jest w żaden sposób doskonały i kilka razy musiałem zagłębiać się w kod źródłowy, aby dowiedzieć się, co tak naprawdę dzieje się pod okładkami. Poza tym brakuje mi analizy SVG i wyjścia Fabric.