4 ms·
I recently built a small app using SwiftUI. It was my first, and pretty simple. The documentation was absolutely maddening.. Half the time the Apple docs refe
by biztos 2y ago
I recently built a small app using SwiftUI. It was my first, and pretty simple.
The documentation was absolutely maddening.. Half the time the Apple docs referred to a previous version. “Do this thing in XCode” often included screenshots of UIs that don’t exist in the current version of XCode. Examples I found on Stackoverflow or random blogs were usually no longer applicable.
It felt like magic when it worked, all those VStack HStack nestings, but the annoyance of finding my way there made me seriously doubt whether I’d build a big app with SwifUI, especially if I wasn’t working alone.
- throwaway2037 2y agoThanks for the follow-up. These types of anec-data are the best part of HN. > It felt like magic when it worked, all those VStack HStack nestings I know the feeling from Qt. I think Gtk and many other GUI toolkits use the equivalent of VStack and HStack to make resizable GUIs. Some GUI toolkits try to avoid this problem by using a grid layout, but it is more rare. EDIT > made me seriously doubt whether I’d build a big app with SwiftUI From your experience, what GUI toolkit would you prefer? And, it would help to know what is your target UI platform.
- cageface 2y agoI’ve had overall very positive experiences with Flutter. If I wasn’t concerned about Google’s long term commitment to it I’d use it for everything.
- biztos 2y agoDid you do cross-platform and if so, did you use the same UI style for everything? Today I was making a list of reasons/excuses for using Material Design on Mac… which I guess would make some people mad, but it might work for an enterprise product.
- cageface 2y agoYes cross platform and the same style. I don't think this matters much to users today. They're used to it. That said I did do a fair bit of my own theming. The Flutter Material widgets are actually pretty customizable and I'm not a big fan of vanilla Material. https://plastaq.com/minimoon https://plastaq.com/minimoon
- biztos 2y agoI don’t have much app experience, I’m mostly a back-end guy trying to build some prototypes and (hopefully) one product. I’m not in a position to give anyone advice, but I’d love to find SwiftUI but cross-platform and usable from anything other than XCode (well maybe not Ed…) and native GUI and a pony. For my product I need to support Mac, Windows and eventually iOS/iPadOS. For prototypes iOS is enough. I don’t mind learning new languages for this, but ideally there would be some advantage in knowing the language itself. I’ve been looking at lots of frameworks over the past month. The most tempting thing so far is Flutter, but I have nagging doubts: because it’s not native UI, I worry about that being a no-go for some large customer down the road, and also about alienating power users. I looked at React Native but it’s not very good for desktop yet as far as I could tell (and the demo app from the documentation doesn’t work, which is a bad sign). Which is too bad because I was impressed with Expo, if I just needed phones I’d probably use that. I looked at Avalonia but it has the opposite problem. Today I’m looking at Tauri for the Nth time: at least I could improve my Rust, and it seems to have momentum. Doing the UI in a web view is kinda sad, though, after trying SwiftUI. Just building multiple apps is not realistic, I’m a solo dev and want to get this to market in my lifetime, and it only makes sense if I have both Mac and Windows. Very happy to hear recommendations from people who have done this!
- cageface 2y agoIf you really want native look and feel then really your only choice is to use the native toolkits. I'm not convinced many users care that much about this though. They spend most of their day using apps that don't use native controls and I think they're all pretty used to it by now. I prototyped a bunch of different desktop toolkits and I think that today Flutter is by far the most polished and mature. I've had overall a very positive experience using it for my music app: https://plastaq.com/minimoon https://plastaq.com/minimoon The threat of Google canceling it is real though. I suppose if that happens I'll switch to Tauri or just give up on Windows and Android and do SwiftUI. My experiences with SwiftUI to this point have not been very positive though. Kotlin Multiplatform might also be an option at some point but it doesn't seem that close today. Unfortunately it seems like none of the os vendors are making their desktop APIs a priority these days.