I have an app that I started developing a year and a half ago. At this point it has been on the android and iOS marketplaces for over a year. I used IronRouter and Blaze because at the time, those seemed like solid choices. I’ve been working on a separate project that uses flow-router and react, and I really like the structure of that app and would like to refactor my Blaze app. Since Arunoda has left the community, I’m thinking I should go with react and react-router instead of flow-router.
When I add these new packages to my cordova app and modify the routing, my code will cease to be backwards compatible, which is something I have yet to deal with. Up until now it has just been package updates, and the app would run on different versions of the server with the new code. What steps am I supposed to take to ensure that the new code doesn’t get pushed to users with an older binary package that doesn’t have the necessary dependencies?
When the server performs a hot code push, will it recognize that dependencies are incompatible and refuse to push the new code to that device? Can I manually rollback to an older version if there is an error or if conditions are not met? How have other people gone about mitigating these problems?