Per i lettori recenti, a partire da gennaio 2013, ho valutato:
- Cinetico
- Tessuto
- Carta
- Cavalletto
Con "valutato", ho fatto di più che leggere i documenti; Ho creato un'app prototipo.
Ho iniziato con Fabric perché sembrava avere la community più grande e ho pensato che sarebbe stata la mia soluzione. Ma ho rinunciato a Fabric per i seguenti motivi:
- incoerenze API strane e non documentate che hanno bruciato molto del mio tempo inutilmente.
- supporto di eventi puntatore incoerenti. In particolare, Fabric non considera un "Percorso" come un vero oggetto di forma selezionabile e osservabile. Questo non ha soddisfatto le mie esigenze poiché i percorsi interattivi sono un requisito importante della mia app.
- dietro le quinte aggiunte di traduzioni alla tela per posizionare gli oggetti. Per me, Fabric cerca di essere troppo intelligente in questo senso senza essere chiaro allo sviluppatore cosa sta facendo.
- opinione eccessivamente forte su come funziona lo spostamento, il ridimensionamento e la rotazione dell'interattività. In molti modi, è fantastico avere questa funzionalità incorporata nel framework ma, nel mio caso, non ero d'accordo con il modo in cui è stata implementata, il che significava essenzialmente doverla reimplementare comunque.
- documentazione scarsa - molti di quei casi in cui la documentazione di un metodo ha la forma: "setX (Y) - set's the X to Y" :-)
Ho dato un'occhiata a Paper e non sono andato troppo lontano. Mi sembrava eccessivamente ottuso e rientra anche tra gli sgabelli IMO: è troppo una libreria di visualizzazione per essere un semplice modello di oggetti per Canvas, ma non è una libreria di visualizzazione sufficiente per competere con D3. Inoltre, ancora una volta la documentazione non era particolarmente accessibile.
Penso che Easel abbia probabilmente molto senso se hai uno sfondo Flash / ActionScript, ma io no. Inoltre, sembrava eccessivamente incentrato sul gioco per le mie esigenze. Il chiodo nella bara era di nuovo una documentazione, non abbastanza e presentato in un formato non standard.
Quindi, ho finito per andare con Kinetic perché:
- tutorial ed esempi davvero ricchi e chiari
- Le funzioni API fanno quello che vengono chiamate e sono in gran parte indovinabili: produttività più rapida, curva di apprendimento più superficiale
- è abbastanza chiaro su cosa fa e cosa no - non è ricco come alcuni degli altri, ma è un vantaggio; fa meno cose ma le fa meglio
- I percorsi sono forme cittadine di prima classe, come qualsiasi altra forma, essenziale per le mie esigenze.
Kinetic non è assolutamente perfetto e ci sono state alcune volte in cui ho dovuto immergermi in profondità nel codice sorgente per capire cosa stesse effettivamente succedendo sotto le coperte. Inoltre, mi manca l'analisi SVG e l'output di Fabric.