Ask HN: What's Your Opinion of iOS Development?

8 points by codingclaws 3 months ago

I am considering building an app for iOS, iPadOS and macOS and want to know what other developers think about the Apple developer experience in 2024. I built an iOS app about a decade ago and it wasn't the best experience.

giantg2 3 months ago

I couldn't tell you. I wanted to release my apps on iOS (also about a decade ago), but there's no way I'm paying Apple $100/yr to release free apps.

eonpi 3 months ago

If you are starting a new App, you should find it quite easy to get going with SwiftUI. Once you get the hang of it, you can really appreciate the simplicity for doing most things, especially when compared with the way things were, and still are the done in UIKit with UIViewControllers (viewDidLoad, willSomethingOrOther); but some other things you can find to be tricky.

The documentation is fair enough within Xcode to figure most things out by yourself, but there are plenty of resources online when you feel like needing some help.

I like the updates they are doing to Swift Data for the next round of OS updates, these should make things even easier and more straight forward to build certain Apps.

But yes, there are things to watch out for, make sure you learn the foundations well (e.g. @Observable, @State, modifiers), or you may find some unexpected things happening with no clear explanation.

Also keep in mind that not everything available in UIKit is available in SwiftUI, but there is plenty to cover lots of use cases nowadays.

You can also do some SwiftUI stuff outside Macs, there was this effort to bring SwiftUI to terminal, as in Linux. Ashen was the name of the project, but I believe that it hasn't received many updates lately. There are also recent efforts for Gnome if I remember well. And there are also some other general Swift updates that are very interesting, like Swift for micro-controllers or whatever they are calling it, and being able to create static Linux binaries (and do so directly from your very own Mac) without any dependencies that can run on any distro (or so they said IIRC), and built with musl for good measure apparently... again, or so they mentioned in one of the WWDC videos.

So... not so bad, but with all that said, I would like to add that, I really would prefer not to have any AI forced into any of my devices with the next update.

HenryBemis 3 months ago

I can tell you why I stopped coding in Xcode+Swift back in 2017-2018. I had an app with 'some' success (didn't quit my day job over it), but it was the constant updates to iOS and the necessary adjustments to my app's code and rewrites in quarterly/annual basis.

From what I understand this hasn't stopped. If you are a full-time dev and you are willing to price your app well, go for it. It's a nice big market, and people do pay for apps. It would be a pity to stay away from that market if you can afford to keep updating bits and pieces of your code every now and then.

The other annoying this (which I don't think it's been resolved/avoided) is that back in the day you could only develop code on a Mac, which you can always buy a second-hand one, and a couple of iPhones to full-around with (although Xcode can simulate all devices so you can test UIs, etc.)

CodeLikeHell 3 months ago

I’ve primarily been an iOS developer for the past 5 years and I still enjoy it. Swift has a lot of niceties such as Optionals, and Enums with associated values. SwiftUI simplifies UI development and provides a faster feedback loop with previews which is very important for me because I’m easily distracted. It’s also easy to drop back to UIKit if needed.

You probably don’t want to target lower than iOS 16 if using SwiftUI since a lot of nice APIs aren’t available on lower versions.

We used Catalyst in work for bringing our iOS app to macOS and it’s been good enough.

It may be Stockholm syndrome but I quite like Xcode. My main complaints are that the vim bindings are seriously lacking, and that it’s slow to start debugging when hitting a breakpoint.

runjake 3 months ago

It’s not the best situation but there’s a number of ways to approach it, depending on the app. SwiftUI is gaining popularity and React Native is still very popular.

Avoid using UIKit and Catalyst.

  • muzani 3 months ago

    How much SwiftUI are you using in production? We find that it's unstable and unreliable, doesn't do what it says it does. iOS ends up with a lot more hacks and workarounds to cater for SwiftUI.

ssahoo 3 months ago

iOS development is still crappy mess. Hard coded to many xcode and ui based workflows for many casual stuff. But do we have a choice? It's a monopoly.