AstonJ

AstonJ

Have you made or worked on a macOS app?

What was it? What language did you use? How did you find the experience?

Most Liked

Maartz

Maartz

I’ve never thought of building a macOS app. I’ve tinkered a bit with Swift but that was iOS targeted.
I think Apple doesn’t promote so much the macOS platform.

michael

michael

I worked on a number of mac apps. It was my bread-and-butter before iOS and recently returned to Mac development.

Logos Bible Software – I don’t know if this ever shipped

Capture One – the bundled software for Phase One cameras

Kodak Digital Submit – a bundled app to submit print jobs to their Prinergy printing system, probably doesn’t exist anymore

Blackberry Desktop Software – the RIM sync app for blackberries. When we shipped 1.0 we had over 700 000 users in a week, was surreal.

Nomad – downloaded content from the DirecTV set-top box. Probably doesn’t exist anymore.

michael

michael

I just picked up a mac dev contract and it is pure swift while all other previous projects were in objective-c.

I think it’s possible to make a pure swift mac or ios app now. Beforehand I don’t think it was possible mainly because swift was not mature enough. I would say swift hit maturity at 4.2.

Even now, there are situations which can only be solved via an obj-c class bridged from swift. One situation I can think of is that you cannot catch an exception generated by the obj-c runtime in swift(as of 5.2). But a sneaky way of handling an exception would be to bridge-over to obj-c and catch it there using an obj-c class(this can happen during occasions when you are using an older API like key-value-observing, an api written purely in obj-c and is not handled perfectly by the swift runtime). However, this kind of thing is becoming more and more infrequent. Also, many very useful libraries(in the de-facto standard cocoa lib packaging framework, CocoaPods) are still in obj-c, which means you’ll have to bridge to the obj-c runtime.

Catalyst is probably better for more simple apps. Mac apps are targeted at pros and so you usually have “pro UI”, like multiple windows that is mated to a very high degree of concurrency and battery-draining I/O. So a software platform that is aimed at “serious” users will probably perceive Catalyst as a sort of compromise.

SwiftUI is not ready for production use. If I were a seasoned developer who never learned swift, I would focus in on a specific language feature like Combine. Combine is Apple’s RxSwift. I think it would help you learn Swift itself faster(albeit might be more frustrating at first) because you will hit the areas you need to learn right away.

Where Next?

Popular Macos topics Top

AstonJ
Just over an hour to go… anyone going to be watching it? New Macs? :nerd_face:
New
New
New
MikhailPertsev
Hi there! Do you use any “clean up” app like CleanMyMac X ? If yes, what is those apps?
New
AstonJ
I know it’s generally down to personal preference, but those preferences can be interesting - and perhaps any misconceptions can be clear...
New
First poster: ohm
Q: PHP seems to be missing from this release. A: PHP has been removed in macOS Monterey. Details here: https://developer.apple.com/...
New
AstonJ
Just writing this up in case it helps anyone else because it wasn’t automatic. First, connect you iPad to your Mac via a cable. On your...
New
AstonJ
If you want a quick and easy way to block any website on your Mac using Little Snitch simply… File > New Rule: And select Deny, O...
New
AstonJ
For anyone else who finds the large number of recent items annoying when right-clicking the finder icon on Mac, simply: System Prefs &gt...
New
AstonJ
Just looking through my settings and noticed that Help Apple Improve Search was checked - yet I am almost certain that I did not opt-in t...
New

Other popular topics Top

New
AstonJ
I’ve been hearing quite a lot of comments relating to the sound of a keyboard, with one of the most desirable of these called ‘thock’, he...
New
Exadra37
Oh just spent so much time on this to discover now that RancherOS is in end of life but Rancher is refusing to mark the Github repo as su...
New
New
PragmaticBookshelf
Build modern server-driven web applications using htmx. Whatever programming language you use, you’ll write less (and cleaner) code. ...
New
sir.laksmana_wenk
I’m able to do the “artistic” part of game-development; character designing/modeling, music, environment modeling, etc. However, I don’t...
New
PragmaticBookshelf
Get the comprehensive, insider information you need for Rails 8 with the new edition of this award-winning classic. Sam Ruby @rubys ...
New
AnfaengerAlex
Hello, I’m a beginner in Android development and I’m facing an issue with my project setup. In my build.gradle.kts file, I have the foll...
New
PragmaticBookshelf
Fight complexity and reclaim the original spirit of agility by learning to simplify how you develop software. The result: a more humane a...
New
CommunityNews
Open-source implementation of the classic GTA engine now running directly in your browser. Experience the reVC technology demo on DOS.Zon...
New