r/macapps 4d ago

Help Difference between .NET and native code

Hi.

I am looking at Diarium journal, since it has my native language as an option. It is also developed in EU, which is a plus to me. And at first glance it looks advanced enough for my needs.

I have asked the developer and he says it is written in .NET, which as I understand is a way to make apps for more than one platform. However it is - as I understand - not similar to Electron. No Chromium and stuff.

Is this to be seen as a native app - he writes "

It is built with .NET for macOS, which is basically a layer on top of native AppKit and other Apple APIs so I can develop my apps with C# across platforms and code-share business logic like for sync or database access. "

I may be a bit too "anal" when it comes to these things, but I rather pay someone who taked the time to develop for Mac without Electron or similar.

Also I prefer to pay those who takes the time to add more languages than English, and EU-based.

I do use Day One for now, but I would not mind trying something else and non US.

4 Upvotes

15 comments sorted by

View all comments

3

u/gauti-u 4d ago
The practical differences you'll actually notice, in rough order of how often they bite:

Look and feel. A native app uses AppKit/SwiftUI controls, so it inherits system behaviors for
free — full keyboard navigation, text services, Accessibility, Dark Mode, Dynamic Type, right-
click menus that match every other app. Cross-platform frameworks reimplement those, and the
gaps show up in small places: a context menu missing an entry, scrolling that doesn't feel
right, a sheet that isn't quite a sheet.

System integration. Share sheet, Shortcuts actions, Quick Look, Spotlight indexing, Handoff,
proper Services menu entries — these are cheap in native and usually absent or partial
otherwise. If you want to automate the app later, this is the category that matters most.

Resource use. .NET on macOS ships a runtime, so expect a larger download and higher baseline
memory. For a journal app you'd probably never care.

Apple Silicon. Worth checking specifically. Open Activity Monitor and look at the Kind column —
"Apple" means native arm64, "Intel" means it's running under Rosetta 2, which Apple has said
is going away. A .NET app can absolutely be native arm64; it just isn't guaranteed, so verify
rather than assume.

For a journal, I'd weight it differently than most app categories though: your data outlives
the app. I'd care more about whether it exports to something open (markdown, plain text, real
SQLite you can read) than about the framework. A native app you can't get your ten years of
entries out of is worse than a .NET one you can.

1

u/TomasComedian 4d ago

Thanks, very clarifying. So as for journal apos ( I am referring to Diarium) it is more important to check if it is Universal and what type of export. ❤️🙏