3 ms·
AppCompat, AndroidX, and their other library projects have basically made SDK concerns something you rarely have to think about at this point. Usually the only
by Larrikin 4y ago
AppCompat, AndroidX, and their other library projects have basically made SDK concerns something you rarely have to think about at this point. Usually the only thing you need to consider are security concerns that newer versions force on you, like updated, new or more finely grained permissions. Everything else pretty much just works. My current teams app supports all the way back to API 23, and has only needed to drop support for older versions a couple times for security reasons.
It all works so well with older versions now that on an evaluation from the mobile teams of the new UI frameworks Jetpack Compose and Swift UI, we decided fully in support of Jetpack Compose because it worked very well out of the box with older versions and was getting tons of updates.
We decided against Swift UI since it was tied to the iOS version, and although most people who can update their phone do, significant numbers of users it seems don't immediately buy new iPhones anymore when they don't get updates anymore. As much as the dev experience would have been improved using the latest Swift UI on latest, the lowest version we support is stuck with one of the terrible first iterations. For something like UI, it just wasn't worth losing so many users.
- colejohnson66 4y agoI thought developers could bundle Swift with their app? So even if iOS has version X, you can bundle X+1 and it’ll work.
- ajconway 4y agoApps targeting pre-2018 iOS versions bundle the mid-2018 version of swift runtime for compatibility reasons. For example, when you run an app made in the iOS 15 era on an iOS 13 device, the app can’t use any runtime features that are not included with iOS 13. Given that swift is still rapidly evolving, that amounts to a lot of useful features. This year, iOS 16 apps get to use the cool new Regex features.
- NullPrefix 4y agoMarshmallow (23) is an odd version to support. Most legacy device apps go back to at least Lollipop (21). Compose UI and some other stuff requires API 21. Any reason for Marshmallow?
- Larrikin 4y agoOur app heavily uses BLE and we integrate with a number of different partners. I don't remember which libraries required it, but a few of them required us to move up to 23.
- NullPrefix 4y agoI see, that explains it.
- dpkirchner 4y agoI'll admit it has been a long time -- androidx was only just showing up when I stopped developing for the platform. > AppCompat, AndroidX, and their other library projects have basically made SDK concerns something you rarely have to think about at this point. I kinda wish this meant they would spread out the releases a bit more, say 2-3 years apart. At least then they'd have even more motivation to ensure that the support libs et al offered compelling features that don't require manufacturers to stop being lazy.