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

OvermindDL1
So it seems that Apple removed the network firewall API a while back and replaced it with another, firewall apps adapted, and come to fin...
New
Exadra37
On modern versions of macOS, you simply can’t power on your computer, launch a text editor or eBook reader, and write or read, without a ...
New
AstonJ
Thought it might be interesting to have a thread for any unusual bugs we might come across…
New
MikhailPertsev
Hi there! Do you use any “clean up” app like CleanMyMac X ? If yes, what is those apps?
New
MikhailPertsev
Hi there! I recently bought a new mouse pad (HyperX Fury) and it feels like without mouse pad the magic mouse is working better(smoother...
New
AstonJ
This used to be easy - simply drag whatever files you want to onto a Time Machine disk. Now, macOS reserves the entire APFS disk for Time...
New
New
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
Here are some easy options on how to run Stable Diffusion on a Mac with Apple Silicon: DiffusionBee The Ultimate Suite of Creative AI ...
New

Other popular topics Top

PragmaticBookshelf
Free and open source software is the default choice for the technologies that run our world, and it’s built and maintained by people like...
New
PragmaticBookshelf
Write Elixir tests that you can be proud of. Dive into Elixir’s test philosophy and gain mastery over the terminology and concepts that u...
New
DevotionGeo
I know that these benchmarks might not be the exact picture of real-world scenario, but still I expect a Rust web framework performing a ...
New
PragmaticBookshelf
Rust is an exciting new programming language combining the power of C with memory safety, fearless concurrency, and productivity boosters...
New
AstonJ
This looks like a stunning keycap set :orange_heart: A LEGENDARY KEYBOARD LIVES ON When you bought an Apple Macintosh computer in the e...
New
AstonJ
Do the test and post your score :nerd_face: :keyboard: If possible, please add info such as the keyboard you’re using, the layout (Qw...
New
dimitarvp
Small essay with thoughts on macOS vs. Linux: I know @Exadra37 is just waiting around the corner to scream at me “I TOLD YOU SO!!!” but I...
New
PragmaticBookshelf
Author Spotlight Rebecca Skinner @RebeccaSkinner Welcome to our latest author spotlight, where we sit down with Rebecca Skinner, auth...
New
AstonJ
This is cool! DEEPSEEK-V3 ON M4 MAC: BLAZING FAST INFERENCE ON APPLE SILICON We just witnessed something incredible: the largest open-s...
New
AstonJ
This is a very quick guide, you just need to: Download LM Studio: https://lmstudio.ai/ Click on search Type DeepSeek, then select the o...
New