Hi, why is the desktop client, esp. for MacOS, so big? It needs about 350 MB for download and more than 700 MB disk space.
If I am looking into the app (folder) there are plenty of frameworks. It is - or it should be - a file sync application only. Why do they need frameworks like ‘AVcodec’ or ‘libaom’?
Well compared to the Linux Nextcloud-.AppImage thats much. Nextcloud-.AppImage is 160MB. But the f***ing-Windows Stuff (Nextcloud-4.0.6-x64.msi) is also 223MB
Hi, @Appollo! I understand your irritation and feel the same. I am a software engineer specialized on the Apple platforms and have experience with file synchronization clients for macOS. Right now, I am the one specialized on the Nextcloud file provider extension for macOS, hence I can explain why it is this way.
Our desktop client is a multi-platform project built on Qt. As usual for such multi-platform frameworks it brings benefits and tradeoffs. One of the latter is the overhead in size due to the necessity of including a lot of “glue” or platform independent components.
And the biggest chunk is a whole browser engine which we need to include for a very specific reason: signing in with our global scale feature does not work with the current login flow methods. We need a web view under our control inside the app itself, not the default browser of the user.
So, the overhead also applies to the other operating systems. But in contrast to macOS, they are smaller because they do not ship universal apps which need to include dedicated binaries for each Intel and Apple Silicon chips.
I worked on another file synchronization client before, both old fashioned folder synchronization and file provider extension and thus know such product can be shipped in the range of about 20 to 30 MB in size, mostly depending on assets in the application bundle. In a purely native implementation most technologies used would be available and included in the operating system itself without the need to ship it in the app itself.
I cannot comment on the future of the macOS desktop client in terms of technologies used but let you know that we have this on our minds regularly and keep talking about it. I am not the only one with a macOS app built solely on first-party technologies on my wishlist. ![]()
For reference: I decided to write a blog post about this topic which elaborates a bit more. ![]()