Preferences API allows you to save and read strings, numbers, booleans, and references to files to the preferences store. It is relatively easy to use, while providing a number of useful user and developer features, including support for default preferences, user overrides via user.js, and locking.
You can also create a XUL-based options window easily to allow user modify some preferences. Many applications including Firefox and Thunderbird have an additional tool for power users, about:config, which can be used to tweak the preferences without UI.
The preferences API is exposed as a set of XPCOM components and interfaces: nsIPrefService
, nsIPrefBranch
.
...