7 ms·
Tying the SwiftUI version to the iOS version is seriously asinine. In the Android world Compose is a regular library so devs can pick the version. That's partl
by guelo 4y ago
Tying the SwiftUI version to the iOS version is seriously asinine. In the Android world Compose is a regular library so devs can pick the version. That's partly why there has been much more adoption of Compose even though it was released years later than SwiftUI.
- mrtksn 4y agoI wonder what is the technical justification for it too, if any. I mean, sure - you can save space by making it a dynamic library that is shipped with the OS but considering how immature it is, shipping a specific version of it with the app should be an option IMHO.
- callmeal 4y agoMy guess would be a monetary justification. After all you can't just have developers working on year old laptops and devices when you can make them buy new ones by making this one simple change.
- ummonk 4y agoYou don’t have to buy a new laptop or phone to install a software update and start developing for the latest version of iOS / Mac OS.
- jules 4y agoThe potential profit from that is a rounding error for Apple.
- coldtea 4y agoThese kind of "conspiracy theories" for this or that what amounts to negligible money always make me cringe. Not that companies don't do shitty things for money. But they don't do things like that for negligible money compared to their other operations, especially since there are far more important reasons to do them... The reason is platform coherence and control, and lock-step updates. To avoid cases like this: https://segmentfault.com/a/1190000040213084/en https://segmentfault.com/a/1190000040213084/en https://ntdotdev.wordpress.com/2021/02/06/state-of-the-windows-how-many-layers-of-ui-inconsistencies-are-in-windows-10/ https://ntdotdev.wordpress.com/2021/02/06/state-of-the-windo... ...and not the insignificant money that could be made from devs updating a laptop a little earlier (especially since you can trivially use a still supported 5-6 year old laptop anyway with the newest Apple OS, and you wouldn't see any major performance issue, except in cases like the Intel to ARM switching. So what would they gain? Developers forced not to use an 8 or 10 year old laptop? As if they would?).
- sofixa 4y agoIt's probably the same as the technical justification for why Safari updates are bundled with iOS and not separate, why XCode only runs on macOS, why no other browsers are allowed on iOS, why macOS can't have separate scroll directions between mouse and touchpad and many many others. It's Apple's ecosystem, nobody is asking you, you're holding it wrong.
- bliteben 4y agoScroll direction is because everyone needs a mouse that you have to turn upside down to charge
- mrtksn 4y agoThe meme about the Magic Mouse charging upside down is really silly. There's a real good reason to be like that and you charge it once a month. In the case of Magic Mouse, there's really a case of holding it wrong too. People hold it wrong and thats why they also complain about the ergonomics. Truly excellent but misunderstood product.
- AlotOfReading 4y agoI've worked on mice before and frankly I have no clue what sort of technical requirement would lead to an upside down charging requirement and disabling the functionality in the meantime. Can you explain what that reason might be? Also if most people can't just pick up the mouse and use it, it's a broken design. In my particular case, it's so much smaller than my palm that I'm sure any grip would result in RSI.
- mrtksn 4y agoSimple, the front is not thick enough to accommodate a common port like USB or Lightning. If you put it on the sides, it defies the purpose. Changing the design to accommodate a port in the front doesn't make sense because the primary function of the device is to act as a human-computer interface and optimising the design for that purpose is paramount, charging is not a primary function but something that we have to do with electronics and as a result having long battery life and short charging process is good enough solution(the battery lasts about a month, charging takes about 2 hours but will work for hours even with a few minutes or charging). Why would you compromise a design for something that needs to be done occasionally and can be done out of the service(i.e. at nigh, when not using it).
- coldtea 4y ago>I wonder what is the technical justification for it too, if any. Well, apps using it get a uniform look, that uniformly changes when the OS look is updated so that it matches it, and more importantly, they and also get to have the same widgets and widget functionality [1]. Unlike, say, Windows where you have 20 generations of MS GUI lib versions, with different looks and behavior, running at the same time, even from MS apps themselves... [1] Yes, Apple has its share of inconsistencies (e.g. Swift UI vs regular Cocoa UI). But nothing like what would have resulted if they allowed apps with different historical macOS UI libs/versions to be installed at the same time independently from the OS UI libs.
- mrtksn 4y agoGood point actually.
- int_19h 4y agoWindows also ships many of those generations of GUI libs with the OS. Your Win11 install will have user32.dll, VB6, WinForms, WPF, and WinRT (might also have MFC, not sure about that one). This is completely orthogonal to look-and-feel.
- coldtea 4y ago>This is completely orthogonal to look-and-feel. Not completely orthogonal, as several different generations of MS GUI APIs implement different look and feels. And bundling it with the OS means devs aren't forced to update their apps to the new APIs. It also makes it impossible for MS to automatically switch the look and feel (they could try for trivial things, but they wouldn't be able to properly accomondate old UIs based on pixel positions, nor would they be able to offer many of the new features given older widget designs). https://segmentfault.com/a/1190000040213084/en https://segmentfault.com/a/1190000040213084/en https://ntdotdev.wordpress.com/2021/02/06/state-of-the-windows-how-many-layers-of-ui-inconsistencies-are-in-windows-10/ https://ntdotdev.wordpress.com/2021/02/06/state-of-the-windo...
- johannes1234321 4y agoThey can ship security updates themselves, which immediately fix all apps. Otherwise apps eventually never update. Also apps don't get the new "improved" styles etc if they don't have it in the system, which takes away the consistency Apple aims for. And then: It's Apple ...
- pohuing 4y agoStyle changes and quickly become usability and accessibility issues. I'd rather my app continues to work well as I tested it, than having to test all of the shit on every other OS patch.
- jen20 4y agoI hope you don’t apply the same philosophy to security patches.
- pohuing 4y agoIn what world would security critical parts affect the UI. What does my ui care if the system libcurl changes? Swiftui is a ui framework, keep that stuff separate
- johannes1234321 4y agoA UI library does a lot of text processing, often with data coming from external sources. Lots of potential for buffer overflows etc.
- pjmlp 4y agoGoogle was forced to do it, because contrary to iOS, Android updates only take place when one buys a new phone, for all pratical purposes, even if Google pretends we have lots of nice OEMs doing updates.
- Daedren 4y agoThey were not forced to do it because of their OS woes. They just did the correct thing. Apple's not doing the correct thing. SwiftUI just created a barrier where people pre-iOS 13 lose access to a lot of apps, and those apps will be raising their minimum version a lot more often than before. So if anything, you could consider this a ploy by Apple to get people to upgrade their phones.
- pjmlp 4y agoNope, if Android updates were a reality, there was no need to ship a system library with the application. That is the whole point of Jetpack libraries, to ship newer versions of Android with the application, with polyfills, as the OS updates will never happen.