Search code examples
cross-platformidiomslook-and-feeldata-storage

Idiomatic application data for Mac vs. Windows vs. Linux


I'm a Mac user, so I know that for Mac OS X, I'd like my games packaged up in a nice .app bundle (like Aquaria did, for example). But what is the standard on Windows? And what is the standard on Linux?

I'm relatively unfamiliar with both, but from what I understand, there's no equivalent of a Mac application bundle on either. Do users then prefer a folder containing the executable and a "Data" folder? Or should the data just be directly in the folder with the executable, which will almost always be accessed (for example) by a shortcut or through (something like) the Start menu?

Which way will make users feel like it's a normal application built specifically for their OS?

Edit for clarification: I'm not asking about an installer, I'm asking about the actual application itself.


Solution

  • Linux applications are usually distributed as "packages", the exact format of which will depend on the distribution. Debian and Ubuntu use .deb, Red Hat and Fedora use .rpm, etc. There are tools for making "application bundles" for Linux, but they're not used often.

    Applications should store global data files in </usr/share>, and per-user files in <$HOME/.local/share>.