For cross platform mobile dev, #ReactNative #Flutter etc, do

June 23, 2021, 9:34 am
For cross platform mobile dev, #ReactNative #Flutter etc, do
For cross platform mobile dev, ReactNative Flutter etc, do you keep both platform apps versioning in sync? eg: iOS version: string = Android version name: string iOS build number: string = Android version code: number Trying to get the pros/cons of syncing vs diverging

I just started. Trying to keep same versioning name. at least the first 2 numbers. like 3.1.x where x can be different between ios and android

I don`t have specific resources; it`s a mix of different things to solve the problem in a specific way. You want Sentry to know some environment properties like built type, and commit hash...

@_deprogram_ After checking the CodePush docs, I see that only version is taken into account and it`s even sometimes desired to target multiple versions with semver range expression Don`t have any article backing it, but IMO keeping versions in sync is the only same solution...

Nope no OTAs as of now .

Ahh, we don`t do OTA updates so can`t comment there!

CodePush currently in place, as per other apps, haven`t tried expos. Over the Air updates are generally patches, so good if they can be kept insync, this perhaps is easier with expos like you mention with CP being separated.

Overall it looks like aligning version is the norm but not the build number/version code. Automatically setting the later based on the CI id/num of commits is super handy for sure. I`m trying to figure out if aligning everything is overkill or if there`s a real benefit to it

For instance, would list both store releases and OTA releases, and it might make sense to align the build number/version code too. for CodePush, it would be one project per platform in AppCenter anyway, so syncing build number/version code doesn`t change much.

For Expo Updates it`s a single Expo project for both platforms, so it makes sense to keep the version AND build number/version code in sync in order to have a consistent release channel name, eg `${version}.${buildNumber}`

Follow up question: Does your app support over-the-air (OTA) updates? Eg: Updates or CodePush

yes we use version name in sync ( displayed to users) for both android / ios. also the release cycles are exact same. build number handled by CD

Versioning yes, it`s a snowball of chaos if your running different versions on different platforms. The build number generally no, I have no preference if this aligned across them, and likely it`s not

So we use the same version number/name on both e.g. "1.6.2", then the build number/version code just corresponds to the CI build ID that created that version. Does that make sense? As we release both platforms at roughly the same time, we felt it made sense to be consistent.

Sponsored links