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

New
First poster: ohm
Docker fails to launch on Apple Silicon · Issue #4733 · docker/for-mac. Fails to launch on Apple Silicon (unsurprisingly given it's so n...
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
New
First poster: AstonJ
https://twitter.com/patrickwardle/status/1349488392732491776 This thread was posted by one of our members via one of our news source t...
New
CommunityNews
Over the past decade, a large and opaque industry has been amassing increasing amounts of personal data.1,2 A complex ecosystem of websi...
New
AstonJ
I think we need a macOS rants thread - just for those little things that bug us :face_with_symbols_over_mouth: Feel free to start dedica...
New
AstonJ
I almost did last night, but then had a change of heart - might just see what others think or wait for the initial set of bug-fixes first...
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
Brace yourself for a fun challenge: build a photorealistic 3D renderer from scratch! In just a couple of weeks, build a ray tracer that r...
New
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
AstonJ
poll poll Be sure to check out @Dusty’s article posted here: An Introduction to Alternative Keyboard Layouts It’s one of the best write-...
New
AstonJ
There’s a whole world of custom keycaps out there that I didn’t know existed! Check out all of our Keycaps threads here: https://forum....
New
New
AstonJ
Continuing the discussion from Thinking about learning Crystal, let’s discuss - I was wondering which languages don’t GC - maybe we can c...
New
PragmaticBookshelf
Create efficient, elegant software tests in pytest, Python's most powerful testing framework. Brian Okken @brianokken Edited by Kat...
New
mafinar
This is going to be a long an frequently posted thread. While talking to a friend of mine who has taken data structure and algorithm cou...
New
PragmaticBookshelf
Author Spotlight Mike Riley @mriley This month, we turn the spotlight on Mike Riley, author of Portable Python Projects. Mike’s book ...
New
New