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
AstonJ
Thought it might be interesting to have a thread for any unusual bugs we might come across…
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
AstonJ
Following this news: https://forum.devtalk.com/t/silver-sparrow-new-malware-found-on-30k-macs-has-security-pros-stumped/7241 just wondere...
New
AstonJ
Posting this for future reference :grin: Open Automater > New > Quick Action Change Workflow receives current to no input ...
New
AstonJ
I’ve noticed that over the course of several updates my display (on both my MBP screen and my LG5K) has been looking more and more washed...
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
New Macs look good! Tho I hate the notch - why does it have to be so big? Will be interested in seeing reviews of real world usage and w...
New
AstonJ
Just upgraded to macOS Monterey (12.1) and finding ‘live text’ quite annoying! If anyone else wants to turn it off here’s how: System Pr...
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

Other popular topics Top

Exadra37
I am thinking in building or buy a desktop computer for programing, both professionally and on my free time, and my choice of OS is Linux...
New
AstonJ
Just done a fresh install of macOS Big Sur and on installing Erlang I am getting: asdf install erlang 23.1.2 Configure failed. checking ...
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
Use WebRTC to build web applications that stream media and data in real time directly from one user to another, all in the browser. ...
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
AstonJ
If you get Can't find emacs in your PATH when trying to install Doom Emacs on your Mac you… just… need to install Emacs first! :lol: bre...
New
PragmaticBookshelf
Develop, deploy, and debug BEAM applications using BEAMOps: a new paradigm that focuses on scalability, fault tolerance, and owning each ...
New
PragmaticBookshelf
Build modern server-driven web applications using htmx. Whatever programming language you use, you’ll write less (and cleaner) code. ...
New
CommunityNews
A Brief Review of the Minisforum V3 AMD Tablet. Update: I have created an awesome-minisforum-v3 GitHub repository to list information fo...
New
PragmaticBookshelf
Overarching tutorial for Python beginner and intermediate developers that teaches web development with the Flask framework. Miguel Gr...
New