Son okuyucular için, Ocak 2013 itibariyle şunları değerlendirdim:
- Kinetik
- Kumaş
- Kağıt
- Şövale
"Değerlendirildi" ile, dokümanları okumaktan daha fazlasını yaptım; Bir prototip uygulaması oluşturdum.
Fabric ile başladım çünkü en büyük topluluğa sahip gibi görünüyordu ve bunun benim çözümüm olacağını düşündüm. Ancak aşağıdaki nedenlerden dolayı Fabric'ten vazgeçtim:
- zamanımın çoğunu gereksiz yere harcayan tuhaf ve belgelenmemiş API tutarsızlıkları.
- tutarsız işaretçi olay desteği. Özellikle Fabric, bir "Yol" un seçilebilir ve gözlemlenebilir gerçek bir şekil nesnesi olduğunu düşünmez. Etkileşimli Yollar uygulamamın temel gereksinimi olduğundan bu, ihtiyaçlarımı karşılamadı.
- nesneleri konumlandırmak için perde arkasına Tuvale çeviri eklemeleri. Benim için Fabric, geliştiriciye ne yaptığını netleştirmeden bu konuda çok zeki olmaya çalışıyor.
- hareket etme, yeniden boyutlandırma ve döndürme etkileşiminin nasıl çalıştığına dair aşırı güçlü fikir. Pek çok yönden, bu işlevselliğin çerçeveye yerleştirilmiş olması harikadır, ancak benim durumumda, uygulanma şekline katılmadım, bu da aslında onu yine de yeniden uygulamak zorunda olmak anlamına geliyordu.
- seyrek dokümantasyon - bir yöntemin dokümantasyonunun şu biçimde olduğu durumların çoğu: "setX (Y) - set, X'den Y'ye" :-)
Kağıda bir göz attım ve fazla uzağa gitmedim. Bana aşırı derecede geniş göründü ve aynı zamanda IMO dışkılarının arasına giriyor - Canvas için basit bir nesne modeli olmak için çok fazla bir görselleştirme kitaplığı ama D3 ile rekabet etmek için yeterli bir görselleştirme kitaplığı değil. Ayrıca, dokümantasyon yine özellikle erişilebilir değildi.
Bir Flash / ActionScript arka planınız varsa, Easel'ın muhtemelen çok mantıklı olduğunu düşünüyorum, ancak ben yok. Ayrıca, gereksinimlerim için fazlasıyla oyun odaklı görünüyordu. Tabuttaki çivi yine dokümantasyondu - yeterli değildi ve standart olmayan bir formatta sunuldu.
Böylece, Kinetic'e gittim çünkü:
- gerçekten zengin ve net öğreticiler ve örnekler
- API işlevleri dedikleri şeyi yapar ve büyük ölçüde tahmin edilebilirdir - daha hızlı üretkenlik, daha sığ öğrenme eğrisi
- ne yaptığı ve neyin yaramadığı konusunda oldukça nettir - diğerleri kadar zengin değildir, ancak bu bir fayda; daha az şey yapar ama onları daha iyi yapar
- Yollar, diğer tüm Shape'ler gibi birinci sınıf vatandaş Şekilleridir ve bu benim gereksinimlerim için gerekliydi.
Kinetik hiçbir şekilde mükemmel değildir ve örtülerin altında gerçekte neler olup bittiğini anlamak için kaynak kodunun derinliklerine dalmak zorunda kaldığım birkaç kez olmuştur. Ayrıca, Fabric'in SVG ayrıştırmasını ve çıktısını özlüyorum.