Hacker News new | ask | show | jobs
by ChrisMarshallNY 856 days ago
I don't, but know many that do. I'll bet almost all AAA apps are still ObjC, and I know that Apple still uses it, in-house, for a lot of their stuff.

I write my Apple stuff exclusively in Swift, and don't bridge to C. I have been doing that, since 2014. Before that, I wrote in ObjC.

I still use UIKit/AppKit/WatchKit for my shipping apps, though. I do not believe that SwiftUI is ready yet, for the scope of my work (I just tried again, this week, and it's still a nope).

2 comments

SwiftUI definitely needs more time in the oven, but I’ve found it ok for bite-sized bits of UI where with UIKit boilerplate is as large or larger than the UI code and for screens that aren’t doing anything too interesting (e.g. a typical Settings.app style settings screen).

For now though, the bulk of my UIs will continue to be built with code-only (no storyboards/XIBs) UIKit.

It makes writing trivial apps incredibly easy. It's just when I need to stray off the beaten path (most of my projects), that I run into issues.

I tend to use storyboards, because of some of the fancy auto-layout stuff I do.

Curious : what made you stay away from swiftui ? Care to give examples ? (I’m investigating swiftui for my current project)
In this case, it was the way that maps are being handled. My stuff tends to be heavily location-dependent, and I go to great lengths, to make my map UI extremely usable.

The problem is in the way that the binding and the observable stuff works (or doesn't). If the design is the basic text-layout stuff, it works great. Better than great. Having come from a device control background, the reactive/observable model is one I have no problem with.

However, whenever you have a complex interaction, like a map that can be modified from a number of directions and data sources, things go a bit pear-shaped.

I spent four days, trying to get the map to do what I needed it to (something that takes a day, in UIKit), and gave up.

I suspect that it would not have worked cross-platform, anyway, which is why I was interested in SwiftUI.

This is a typical complaint that I've heard. It's really difficult to stray from the beaten path in SwiftUI, and folks don't figure that out, until they have already invested a lot of time into it.