TigerJS is an expanded port of the popular single-page webapp framework, SpineJS. (Spine is similar to Backbone, although I find it to be more simple, and therefore more flexible and more powerful.) Rather than "reinventing the wheel", TigerJS builds on production-ready, battle-tested code that has launched countless apps across tech.
modular -- TigerJS has a clear separation of concerns (MVC/MVVM), and its libraries can be used singly or as a package.
reusable -- A TigerJS component for one app is a component for any app. TigerJS uses standard JS design patterns, and modules can be included in Tiger and non-Tiger apps.
Although the Tiger is built in CoffeeScript, one of the best features of Spine/Tiger's class system is its included shims, providing the same functionality in Vanilla JS as in Coffee.
TigerJS includes inheritance, chainability, complex Model relations, routing, FX/animation lib, AJAX/XHR wrapper, and works on both Android and iOS. TigerDB module allows auto-persist of models through Titanium's SQL DB!
Require files in this order:
tiger.elements, others... This allows
tiger.elements to be switched out, say for a different environment ;), and Tiger.FX to be applied to all Elements. Tiger requires Spine by default, please include in lib folder. This version of Spine fixes a remote-model bug as per my pull request.
Please refer to Spine.js documentation. Nearly everything that works in Spine, works in Tiger. Also some extras, like SQLite NoSQL-style storage and One-To-Many Collections. Element manipulation (add/remove, bind/unbind, events, animation, AJAX get/post) works as in jQuery.
For build tooling, check out the powerful and excellent Tintan, TSM, and Node Inspector. I use Sublime Text 2 and don't miss the Titanium Studio bloat. In the process of vetting TDD frameworks to add to Tintan's build system, suggestions accepted and appreciated! Thanks to all Titanium devs who have shared their work and moved the community forward.
MIT Licensed, Copyright 2011 - 2013 Double Rebel