Mobile native transitions for Meteor 1.3


I’ve been working on native transitions for 1.3 and have seen great performance across all devices. Below is a quick video that I posted to Twitter a couple of weeks ago showing the transitions working on 2 older devices (a iPhone 5 and a Galaxy s3) as well as a test on an iPhone 6s.

It is in a pretty stable state at the moment so I thought I would publish a demo repo with the work to date for feedback, and testing:

To test on your phone simply clone the repo and meteor run ios-device and/or meteor run android-device.

Benefits to a native transition approach:

  • Speed and performance: doesn’t rely on JS or CSS animations which don’t perform well on older devices, especially Android.
  • Only applies to mobile (cordova) devices, doesn’t bog down desktop.
  • Template based: core plugin doesn’t rely on or interfere with the router - simply listens for a URL change.

Looking forward to feedback on how you would like to see this develop.

Material Designed Swipable Tabs?

Questions I currently have for the community:

  • Should this move away from Template.templateName.transition(); so that it can more easily be used away from Blaze.
  • If the answer to the above is yes, what would work for you? A simple nt.transition() function you could call?
  • If you test it out, what device did you use and what performance did you see?


This looks great! We should probably link to it from the mobile section of our guide (which I’ll get to soon, I promise…).


I agree in moving away from blaze using the example you gave for calling the function.


Looks and feels awesome! Great performance on iPhone6. Do you see a chance for native SwipeBack?


Yes! I’ve raised the question with the Cordova plugin developer but I think it’s entirely possible. At the very minimum I think that the drag to go functionality that I’ve demo’d previously could be made to play nicely with it.


Are you thinking of a React use case?


In my specific case I’ve been thinking of Vuejs as the view model. In any case I think that decoupling it from blaze and make it a function to call is the way to go.


Hi @jamielob . any update on this great plugin ? Couldn’t find it in atmosphere.