Live data from Hacker News

Why I quit using SwiftUI

chsxf.dev

91–100 of 257 posts

Re: Why I quit using SwiftUI

#91
post #12

Earlier quoted context omitted.

To me that’s the red flag. That an experienced game developer wasn’t able to properly troubleshoot down to the correct level, but ended up facing a black box and gave up.

I am not developing on Apple platforms, but just like any reactive UI framework, i am almost certain the documentation of SwiftUI starts with a massive red flag that says "make your updates granular and don't repost a whole ass struct on every frame" at the very beginning which is exactly what the author seems to be doing. If all you want is a declarative UI, just dump in ImGui and be done with it.

ImGui doesn't give you native OS widgets.

Re: Why I quit using SwiftUI

#92
post #84

Earlier quoted context omitted.

I agree, in my experience, MacOS is one of the most reliable operating systems I've used in terms of lack of crashes or spurrious bugs; the most common bug I see is my mouse pointer dissapearing, which is fixed by opening the tasks view.

If only they could so something about the truly terrible window switching crap, where you'll have to hit the same icon in your doc multiple times to eventually with a bit of luck get to the window you wanted. Why can't we have window previews like Windows has had since Windows 7 or just about every DE on Linux

hold down option when you release the selection to force hidden windows up. i too hate this behavior.

Re: Why I quit using SwiftUI

#93
post #74

Earlier quoted context omitted.

The 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.

I'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.

Simple, 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).

Re: Why I quit using SwiftUI

#94
Dealing with SwiftUI recreating Views too often can be a challenge. I would have liked to have seen more details on how this guy setup his models.

In my experience, you definitely have to minimize work done in Views and maybe avoid `@Published` properties on your model in favor of more explicit calls to `objectWillChange.send()` to signal when you really are ready for the Views to be updated. SwiftUI does not seem to do a very good job of coalescing by default.

Re: Why I quit using SwiftUI

#95
post #93

Earlier quoted context omitted.

I'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.

Simple, 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…

So put the port on the side where you aren't supposed to grip it. If we assume that being totally nonfunctional for a couple hours a month is acceptable, merely being a bit inconvenient for the same period is surely an improvement.

Also, we don't agree that the magic mouse is good human-computer interface because I'm starting from the position that causing physical pain automatically precludes it from that category. Another example of an interface in the same position is laser keyboards. They're also very cool designs, but the the fact that tapping on solid surfaces starts to hurt after awhile precludes them from being 'good' HCI.

Re: Why I quit using SwiftUI

#96
post #93

Earlier quoted context omitted.

Simple, 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…

So put the port on the side where you aren't supposed to grip it. If we assume that being totally nonfunctional for a couple hours a month is acceptable, merely being a bit inconvenient for the same period is surely an improvement. Also, we don't agree that the magic mouse is good human-computer interface because I'm starting from the position that causing physical pain automatically precludes it from that category.…

You can't put it at the side, the cable will interfere with the keyborad or the laptop that is on the left and won't work at all for the left handed people.

I mean, if you really think that charging a few minutes a day or leave it charging overnight once a month is a deal breaker, simply don't buy it but this is not a bad design. It is very unrealistic to expect that the mouse will be used 24/7 every day forever. If you have this use case of using mouse 24/7 everyday, this must be some kind of industrial operation and obviously this mouse is not for you but for everyone else it's a non-issue.

Re: Why I quit using SwiftUI

#97
post #19
post #7

People nowadays praise Apple for their hardware, mainly their silicon - not their software. Maybe it's time for Apple to shake things up and promote someone else to VP of Software engineering?

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..

>"...however mac os remain the best dekstop OS..."

I would say this is a matter of opinion.

Re: Why I quit using SwiftUI

#98
post #2

SwiftUI is a big opportunity that Apple's not investing enough in, IMHO. It's good tech, and the reactive approach is excellent for many typical view-based needs, but at the same time the docs are terribly lacking at how to handle any kind of edge cases. Success to me looks like steering clear of SwiftUI for now, and advocating for Apple to hire documentation editors/leaders who can 1) create SwiftUI documentation of…

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

Re: Why I quit using SwiftUI

#99
post #4
post #2

SwiftUI is a big opportunity that Apple's not investing enough in, IMHO. It's good tech, and the reactive approach is excellent for many typical view-based needs, but at the same time the docs are terribly lacking at how to handle any kind of edge cases. Success to me looks like steering clear of SwiftUI for now, and advocating for Apple to hire documentation editors/leaders who can 1) create SwiftUI documentation of…

It's a great idea but not fully baked yet. My former colleague is using it for internal apps and it seems to work fairly well (UI is not fancy), but not for anything going into the high volume apps, which has much more complex behavior (designers are asking for stupidly complex UI). It's much better in the upcoming OS since they added better navigation, but requires the latest OS, which is not supportive for many com…

> designers are asking for stupidly complex UI

I think a mobile app should have a stupidly simple UI instead. Designers traditionally use a graphics program to design pixels. SwiftUI let’s you design layouts and components. Maybe designers should change how they design and start using SwiftUI as a design tool.

Re: Why I quit using SwiftUI

#100

I'm building an IDE in (mostly) SwiftUI, and have been using it since release, so I feel like I've worked with it more than most people. A couple observations: - SwiftUI is really complex It's going to take you at least a year to get used to the declarative way it works, and be able to make UIs without struggling to figure out how to shuffle data around. If you look at SwiftUI examples/code, most of the complexity is…

Yeah you end up designing models not to be logically separated but to instead isolate updates to Views. In theory those should align but they don’t always. And the method of finding objects thru the environment makes it all too easy to have big models that everything is listening too which of course really hurts perf. So easy to hold SwiftUI wrong.
Post reply on HN