Implication of Apple's shift to ARM in Mac for Joplin

Apple has decided that it will be transitioning its line-up of Mac’s from Intel to ARM.
So two questions that comes to my mind are:

  1. Will Electron work? (for an ARM processor, that is)
  2. Do we need to change the way Joplin is delivered to Mac users.

The second point is relevant because Apple is as far as I understood planning to limit installation via only the App Store (like it is for iOS or iPadOS).

So what are your thoughts or concerns regarding this?

Cheers,
Deep

Electron indeed already supports ARM so that shouldn’t be a big issue, and we don’t have too many native module so hopefully it will be possible to build them for ARM too.

I’m not sure how delivery will work. I’m hoping we can still just release on .dmg file and it will be somehow compatible with both old and new macOS versions.

That's good to hear.
Well then you'd have to get hold of a new ARM Mac for testing when it comes out. Or maybe Travis will incorporate the necessary changes.
I just hope Apple doesn't make development for Mac harder than it already is (they are just the kind of blockheads to do such a thing, unfortunately).

It's gonna be the same mess as the transition from PowerPC to Intel.

Years ago I feared that Apple's trying to merge this end consumer iOS/iPad crap with the professional OS called MacOSX (back then). True enough, they removed ZFS from their plan and added all these useless features that have no place in an OS designed for professionals. It went downhill from there:
APIs were deprecated and removed without proper replacements. Information and documentation got less and is in certain cases non-existent.
A system that was once a shining beacon of professionalism became a mediocre playground for kiddies with a hang for creating apps which are ad-driven or severely restricted by Apple's policies.

As soon as they make the AppStore and SIP mandatory I will be moving back to Linux. I just can't deal with this kind of idiosyncrasy.

3 Likes

My understanding is it's not the macOS versions so much as which CPU. But indeed, Universal Binary 2 is supposed to let you ship 1 thing for both platforms: Building a Universal macOS Binary | Apple Developer Documentation

1 Like

Yes you are absolutely right.
But my concern is that Joplin has not been built in XCode. It is not a Swift/Objective-C Apple compliant app. It is digitally signed but it is not notarized by Apple since that would make development very difficult.
So whether the Universal Binary format and Rosetta 2 would work with Joplin is what I was wondering. And from what I gathered we still don't have a clear answer.
Guess will have to wait. :man_shrugging:

1 Like

I successfully build Joplin@2.8.8 on M1 Macbook, and it seems work fine for now.

There are two errors during yarn install:

  1. sqlite3 error: python2 is missing since macOS 12. It can be solved with pyenv: How to fix "zsh: command not found: python" error? (macOS Monterey 12.3, python 3.10, Atom IDE, atom-python-run 0.9.7) - Stack Overflow
  2. sharp error: it is because missing libvips. It can be sovled by Can't compile under Apple Silicon M1 arm64 · Issue #2460 · lovell/sharp · GitHub

Now, it works pretty smooth!

4 Likes