Meteor 1.4.x interface styling - best practice?

I would like to pretty-up a Meteor app’s interface using jQueryUI. However, it does not play well/seamlessly with Meteor’s reactive data sources. It is possible: e.g.

  • initialize UI elements in Template onRendered() functions
  • create sub-templates for every {{#each}} with jQueryUI-stylized content, to get access to additional onRendered() functions
  • call (‘refresh’) on UI widgets in child templates’ onRendered functions and onDestroyed functions, protected by a check to make sure the widget actually exists applied to the expected DOM element
  • clean up the UI widget in the template’s own onDestroyed function

It seems like a bit much and maybe there is a better way. As physiocoder said on Stack Overflow, “The Meteor reactivity force you to choose who is in charge of DOM updates.”. What do other people do? Do you avoid 3rd party interactive libraries (and reimplement themes?)? Is there anything you’re happy with or wish you’d done instead?

.

References: