Live data from Hacker News

Why I quit using SwiftUI

chsxf.dev

211–220 of 257 posts

Re: Why I quit using SwiftUI

#211
post #98

Earlier quoted context omitted.

So wish they would decouple SwiftUI from the OS releases and opensource it!

..and from the crappy excuse for an IDE that they distribute along with their build tooling.

I legit didn’t want to believe my eyes that it takes half a second after each code change before the IDE realizes whether a given change was correct or not. Also, you need clean builds quite often and I even got a “type inference times out” error message once which I haven’t seen in any PL ever even though I did dabble with quite a few static languages with even wider reaching type inference.

Re: Why I quit using SwiftUI

#212
post #19

Earlier quoted context omitted.

I’m with you, however mac os remain the best dekstop OS and iOS remain the best mobile one, even after all those years. So, they must be doing something right..

iOS lacks many features that have been standard on Android for years and the only reason it feels so smooth is because the UI thread has pretty much the highest QoL that anything can ever have. iOS would rather drop your network call than drop a single frame. Android variants all have things that iOS can only dream of having in five years (notifications was a fun one), just spread very unevenly throughout manufacture…

Yeah, android is lightyears ahead in a few things, but hardware and privacy-wise iphones are simply that much better. I try to reevaluate the platform every now and then, but the closest I got to changing was Pixel 6 with Graphene - which I decided against due to frequent hardware bugs..

Re: Why I quit using SwiftUI

#213
post #113

Earlier quoted context omitted.

The copying of features isn't one-sided. Both companies have had firsts there: https://www.popsci.com/story/diy/stolen-features-android-app... When I switched from Android to iOS in 2016, I was shocked at how little was different, and I can only assume gulf has narrowed since then. A lot of features Android users just assume iOS users don't have are there: vendor-agnostic password manager integration, Safari browser…

Have a look at GrapheneOS impressive feature list, iOS has some work to do.

iOS’s security was praised by GrapheneOS’s creator many times - I believe according to him the best choices for a secure mobile at the time of writing was GrapheneOS on the latest pixel OR an iphone.

They trade blows in different security features.

Re: Why I quit using SwiftUI

#214
post #173

This is an interesting article, because SwiftUI has a lot of constraints and quirks (which I definitely will not go into here) but it identifies performance specifically as something they ran into problems with. SwiftUI, like all "reactive" frameworks, specifically tries to make your UI a function of state, trying to "logically" redraw everything so that it's always up-to-date. Obviously, this kind of UI is untenable…

Not only spurious updates, this kind of architecture generates tons of garbage every couple of seconds, which at least Swift can improve thanks to its support for value types. React and Jetpack Compose aren't so lucky, having to rely on the underlying optimizations of JS engines and ART, on escape analyis and GC algorithms. I never understood the love for reactive for interactive GUIs, when they are so bad in memory…

Is it really that bad (the garbage generation)? Modern GCs are insanely good, short-lived objects can be quite cheap.

Also, aren’t they basically push-based reactive frameworks? I would assume they just call a bunch of registered functions and that’s it. The graph itself shouldn’t change too often (and may be static as well, eg. React vs SolidJS) — but I am way out of my depth here.

Re: Why I quit using SwiftUI

#215
post #113

Earlier quoted context omitted.

The copying of features isn't one-sided. Both companies have had firsts there: https://www.popsci.com/story/diy/stolen-features-android-app... When I switched from Android to iOS in 2016, I was shocked at how little was different, and I can only assume gulf has narrowed since then. A lot of features Android users just assume iOS users don't have are there: vendor-agnostic password manager integration, Safari browser…

Sometimes it's the little things that matter. The single most used app on all my Android phones I've ever had is Kindle. And one feature that I absolutely demand from any phone is that I can flip pages with volume buttons - when reading for long periods of time, it is much more convenient than swiping with your thumb. On Android, pretty much all the reader apps can do it. But, so far as I know, this is outright impos…

Personally, I don't think the OS should ever allow an app to hijack the physical volume buttons or other hardware buttons on a phone. That seems like an avenue for abuse.

(Tip: you can tap the screen on the right side to go to the next page.)

Re: Why I quit using SwiftUI

#216
post #113

Earlier quoted context omitted.

The copying of features isn't one-sided. Both companies have had firsts there: https://www.popsci.com/story/diy/stolen-features-android-app... When I switched from Android to iOS in 2016, I was shocked at how little was different, and I can only assume gulf has narrowed since then. A lot of features Android users just assume iOS users don't have are there: vendor-agnostic password manager integration, Safari browser…

Have a look at GrapheneOS impressive feature list, iOS has some work to do.

[deleted]

Re: Why I quit using SwiftUI

#217
post #113

Earlier quoted context omitted.

The copying of features isn't one-sided. Both companies have had firsts there: https://www.popsci.com/story/diy/stolen-features-android-app... When I switched from Android to iOS in 2016, I was shocked at how little was different, and I can only assume gulf has narrowed since then. A lot of features Android users just assume iOS users don't have are there: vendor-agnostic password manager integration, Safari browser…

iOS still doesn't let you place icons anywhere you want on the home screen, though. It's been fifteen years. Desktops, and Android, have allowed you to do this for decades.

Yes, this is a very real downside, but Apple has put effort into making the home screen more customizable than it was. It has an app drawer, it has the ability to add/remove home screens without filling one up first, and it has widgets, the major omissions that Android hasn't been missing for many years.

And, yes, it would be really nice if Apple had a system to install third-party launchers, there's no denying that.

I know this is really silly, but you can definitely workaround the issue and effectively have the same end result as Android if you really want it:

https://iempty.tooliphone.net

Overall, every individual omission from one platform to another is going to be a question of what is important to the buyer.

For some, it might seem ridiculous that, in fifteen years, Apple still doesn't offer a truly customizable home screen. That's a fair criticism. At the same time, it's a fair criticism that it took until 2021 for Google to release a phone that will get 5 years of security and feature updates (Apple never guaranteed this directly, but the iPhone 6S delivered that level of support from when it launched in 2015 until the release of iOS 16 this fall that will drop iPhone 6S support: 7 years of full feature and security updates).

Meanwhile, if you bought a Pixel 3 in 2018, you got your final update this year. I personally think that's downright unacceptable considering the maturity of smartphones when it was released.

The problem with me making comparisons like this is that they'll always seem like a cheap whataboutism, but that's generally how these feature-to-feature comparisons work. For me, in 2016, I saw a situation where Google was not delivering everything I needed in a smartphone, but I also recognize that other people have other needs.

Re: Why I quit using SwiftUI

#218
post #217

Earlier quoted context omitted.

iOS still doesn't let you place icons anywhere you want on the home screen, though. It's been fifteen years. Desktops, and Android, have allowed you to do this for decades.

Yes, this is a very real downside, but Apple has put effort into making the home screen more customizable than it was. It has an app drawer, it has the ability to add/remove home screens without filling one up first, and it has widgets, the major omissions that Android hasn't been missing for many years. And, yes, it would be really nice if Apple had a system to install third-party launchers, there's no denying that.…

It's not just for cosmetic reasons, there are practical, actual benefits from a user experience standpoint.

For example, I put the apps that I use the most often on the right hand side of the screen, where my thumb can reach them faster. I can't do that on iOS (well, I can, but then any new app I put on the home screen will mess the entire arrangement and I will spend another ten minutes calculating what to insert and where to get all these icons back on the right side of the screen).

I just don't understand how Apple, a company that prides itself on great user experience, is still putting their users through this UX hell fifteen years after the release of the iPhone, and they don't seem to think it's an important feature to add.

Re: Why I quit using SwiftUI

#219
post #214
post #173

Earlier quoted context omitted.

Not only spurious updates, this kind of architecture generates tons of garbage every couple of seconds, which at least Swift can improve thanks to its support for value types. React and Jetpack Compose aren't so lucky, having to rely on the underlying optimizations of JS engines and ART, on escape analyis and GC algorithms. I never understood the love for reactive for interactive GUIs, when they are so bad in memory…

Is it really that bad (the garbage generation)? Modern GCs are insanely good, short-lived objects can be quite cheap. Also, aren’t they basically push-based reactive frameworks? I would assume they just call a bunch of registered functions and that’s it. The graph itself shouldn’t change too often (and may be static as well, eg. React vs SolidJS) — but I am way out of my depth here.

They are extremely good, however they are even better if we don't throw waste at them.

The most performance code is the one you don't have to execute.

Re: Why I quit using SwiftUI

#220

Earlier quoted context omitted.

You mean it forces them to be lined up in a grid? Otherwise, I have no idea what you're on about.

You cannot put an icon anywhere you want on the home screen. Icons are lined up left to right, in a row. You need to insert icons inside a row and then all the other icons to its right will be pushed right and/or down.

So you want icons to be able to overlap each other, or be different distances from each other, or what? I'm trying to figure out what exactly you're trying to accomplish. What would be the benefit of totally arbitrary, down-to-the-pixel placement ability?
Post reply on HN