6 ms·
> you clearly know the culture behind it is not sustainable and has no future. It's not a culture shift, it's a technology shift. Systemwide shared-libraries a
by DaiPlusPlus 6y ago
> you clearly know the culture behind it is not sustainable and has no future.
It's not a culture shift, it's a technology shift. Systemwide shared-libraries are going away because they involve all-manner of versioning difficulties (DLL-Hell, etc). Simultaneously, computers have enough physical memory such that processes don't need to share libraries in-memory to keep usage low, and the security advantages of single-upgrades to shared libraries are wiped-out by programs breaking due to unexpected changes in their dependencies, and writing software is now accepted as a treadmill: ship regular updates (monthly? weekly?) where the only change is updating to the latest dependencies and ensuring tests pass - these 3 things combined lead to portable, self-contained software that can run on minimal platforms. Other examples include Go's single-executable statically-linked compilation. And so on.
But this is progress. I do expect eventually we'll have entirely dependency-free software where every redistributable is effectively its own self-contained computer system (basically, a VM): that has tremendous implications for long-term application support. Apple (rightfully) gets a LOT of stick for their lack of backwards-compatibility support, but if all software for Apple's platforms eventually becomes more like a VM image then we'll be able to run those VM images on Apple's future phones - and even non-Apple phones - and non-phones, decades from now - which is a refreshing change from where we are today where we can't even run games from only 2-3 years ago.
- mro_name 6y agoI'm a big fan of static builds. But cannot understand how a 15MB test IPA becomes a 70MB production IPA and takes 300MB to upload. That's IMO software explosion and bloat as Niklaus Wirth ranted on decades ago.
- DaiPlusPlus 6y agoI'm guessing you're using SwiftUI? When you do that, it bundles the entire Swift UI library, including all the parts you're not using, in your package - I think that's because they support runtime-defined UIs which means your app might use currently-unused Swift UI components in future... I assume you've also seen this article? https://developer.apple.com/documentation/xcode/reducing_your_app_s_size https://developer.apple.com/documentation/xcode/reducing_you...
- mro_name 6y agoNo SwiftUI, backwards compatible to iOS 9.0, check the source if interested https://github.com/mro/ShaarliOS https://github.com/mro/ShaarliOS Thanks for the link, I doubt it applies.