Upgrade to Pro — share decks privately, control downloads, hide ads and more …

batman.js state of the union

batman.js state of the union

An overview of the history, current state and future direction of the batman.js framework

Kristian PD

July 25, 2013
Tweet

More Decks by Kristian PD

Other Decks in Programming

Transcript

  1. ~ 2.5 years Dec 2010 M ay 2011 Feb 2012

    Oct 2012 M ay 2013 Contributors (@Shopify) Feb 2013
  2. Ember, Angular, others didn't exist We needed a framework to

    build our next generation of apps on Start from scratch Huge undertaking then
  3. A year to build then Shopify 2 didn't start until

    roughly 1 year after batman.js started A few demo and prototype apps were built while developing batman.js Early optimizations and extra features
  4. A year to polish then Shopify 2 started late 2011,

    early 2012 First large scale batman.js app Early optimizations proved to be less useful in some cases Performance nightmares
  5. James' List of Major Refactors Which We Almost Certainly Will

    Never Have Time to Do 1. Batman Object'd Render Contexts 2. Bindings just tie two accessors together 3. Filtering can be done on any object, not just by Bindings 4. Different classes for fetched views & wrapper view 5. Re-write associations
  6. James' List of Major Refactors Which We Almost Certainly Will

    Never Have Time to Do 1. Batman Object'd Render Contexts 2. Bindings just tie two accessors together 3. Filtering can be done on any object, not just by Bindings 4. Different classes for fetched views & wrapper view 5. Re-write associations APPROVED
  7. Nov 2012 Full navigation of admin 93MB Paginate orders index

    5 times 242MB Toggle between orders and dashboard 4 times 126MB Performance
  8. Nov 2012 Jan 2013 Full navigation of admin 93MB 58MB

    Paginate orders index 5 times 242MB 66MB Toggle between orders and dashboard 4 times 126MB 66MB Performance
  9. TestUnit inspired test suite Make it as easy as possible

    to test Batman apps Wraps QUnit, works well with Karma XHR and model expectations TestCase, ModelTestCase, ControllerTestCase and more Batman.TestCase now
  10. Performance Nov 2012 Jan 2013 July 2013 Full navigation of

    admin 93MB 58MB 50MB Paginate orders index 5 times 242MB 66MB 37MB Toggle between orders and dashboard 4 times 126MB 66MB 28MB
  11. now

  12. Community site horribly out of date Batman is easy but

    no one knows Barrier of entry is artificially high Community now
  13. Batman powers Shopify's Admin interface Build Batman from real life

    experiences and needs Build large scale JS MVC applications easily Product backed future