8 ms·
Not sure what this means, but I'm learning Swift and SwiftUI right now, since i'm in the apple eco system and hoping i've made the right choice, because my time
by ChildOfChaos 4y ago
Not sure what this means, but I'm learning Swift and SwiftUI right now, since i'm in the apple eco system and hoping i've made the right choice, because my time is fairly limited, being an adult in my late 30's and having a full time job, it does seem a bit of a mess though.
- herodotus 4y agoI have a published App written in SwiftUI and I have written many thousands of lines of Swift. But I just scratch the surface of the language, and that is OK with me. There are many parts of the language that I almost certainly do not understand. But my code works, it runs fast and it does what I want. Yes, Swift does have a large "surface area" and that is too bad. But you can get by well without bothering with many of the darker parts.
- happytoexplain 4y agoI think the fact that advanced features are available, but their existence doesn't impact most developers writing most apps, is a great thing. (Not that Swift - especially SwiftUI - is perfect.)
- livinglist 4y agoI’m learning Swift and SwiftUI recently, and man, as a Flutter dev I’m super overwhelmed by how many features Swift has compared to Dart… it has too many ways to do things (not necessarily bad ofc)
- scottiebarnes 4y agoDon't worry, most consumer facing software development is a mess, there's constantly changing frameworks and shiny new ways of doing things.
- hbn 4y agoI tried to get into learning Swift/UI several months back and was pretty disappointed how buggy the whole thing is, even when you're trying to do pretty basic things. It seems like a lot of the iOS veterans are still not interested in switching to it so who knows, maybe I'll come back to that in the future when it's actually production-ready like Apple claims it is.
- herodotus 4y agoStrange, but this was not my experience. I found it took me a while to wrap my head around the way SwiftUI works, and the documentation was really bad. But buggy, not.
- skohan 4y agoI wouldn't say I found it buggy, but rather limited. For instance even something simple like a list view has limited customisability, and some of the styling is mandatory unless you want to rebuild the entire component from scratch. It's a far cry from UITableView which can do just about anything. Also I found that once you get into stuff like animations, things get messy very quickly since everything has to be expressed declaratively. It's a nice idea for simple static views, but I really missed the ability to have separation of concerns the way you can with UIKit. Also I did find the tooling quite buggy. Like certain things would break the preview, and not give meaningful errors or just crash the Xcode process, so I would have to fix it through trial and error with commenting out sections of code until it would work again. I am sure it will improve, but with UIKit you can basically achieve anything, and SwiftUI still seems like it has a lot to figure out. I think it's a shame FRP has basically won front-end at this time, because while it's been a revelation in web (since it solves a lot of the problems which make web a mess) it carries a lot of its own problems, and I think there are going to be a lot of apps which will be horrific to maintain over the next few years.
- herodotus 4y agoAll good points. Thanks for your thoughtful reply.
- drmidnight 4y agoI too am in my late 30s and I've been writing Swift for 7 years now and the language itself is not buggy, at least anymore. SwiftUI has it's issues and one is platform support. If you want to support anything before iOS 13 (even that has limited support) then you are out of luck. The only SwiftUI I have shipped is for WidgetKit and WatchOS, both being somewhat forced upon you. While it can be cumbersome to do simple things in SwiftUI that were easy to do in UIKit, I haven't found too many bugs. Most issues I have run into are on the Xcode side. If you work with any Apple platform it is worth pursuing. If you want to just learn and use Swift it does have decent support on Linux thanks to being able to bind with C libraries. Windows support is there, but is very much in its infancy.