Comment on My new favourite password manager
dan@upvote.au 1 year agoit’s written in C++ and not C# so it has better native integration with OSes like Linux
Not sure what you mean by this. Any APIs that can be called from C++ can also be called from C#. C# apps run natively on Linux, and they support self-contained deployment and native AOT (ahead of time) compilation meaning they can run on any Linux system even if it doesn’t have the .NET Core framework installed.
TiffyBelle@feddit.uk 1 year ago
This thread is about KeePass and my comments relate to that. If you pull KeePass2 from the repos in Debian, for example, it’s going to pull the Mono runtime to execute it as well because it’s been built, like most C# apps, for JIT compilation. I doubt it’s even possible to compile KeePass2 using AOT compilation.
This is what the C# KeePass application looks like using the Mono runtime in Debian:
Image
This is KeePassXC:
Image
You can see which has better native integration into the desktop out of the box.
dan@upvote.au 1 year ago
.NET Core handles JIT compilation file. It looks like the KeePass developers have not yet updated it to use .NET Core though, which is why it’s pulling Mono in.
KeePassXC definitely looks nicer, but it’s definitely possible to do that with C# too. The KeePass developers just haven’t kept up with modern .NET.