Why does apple use .plist files?
Windows uses .ini files, which may be less flexible, but also takes up less space, for the same reason why JSon takes up less space than XML.
They could even use JSON for their configuration, it's at least as easy to parse, supports the value types they need (dict etc.) and takes up the least space.
The original property list format found in NeXTSTEP looked a lot like JSON, but with slightly different syntax. When NeXTSTEP became Mac OS X, that format was replaced with the XML version you see today. The new format had a few improvements over the old one which you can read about in that link.
Property lists can hold several data types that JSON (and INI files) cannot: Numbers specified as real numbers (floating point) or integers, dates, and base64-encoded binary data. Also, JSON wasn’t documented publicly until well after Mac OS X was released.
Mac OS 10.2 and newer include a binary plist format that’s much more space-efficient than XML, and plist files can be converted losslessly between the two.
Because NeXTSTEP used them, so Apple adopted them as well.
Property List Wiki Page:
Under NeXTSTEP, property lists were designed to be human-readable and edited by hand, serialized to ASCII in a syntax somewhat like a programming language.
NeXTSTEP used one format to represent a property list, and the subsequent GNUstep and Mac OS X frameworks introduced differing formats.
While Mac OS X can also read the NeXTSTEP format, Apple sets it aside in favor of two new formats of its own.
In Mac OS X 10.0, the NeXTSTEP format was deprecated, and a new XML format was introduced, with a public DTD defined by Apple. The XML format supports non-ASCII characters and storing NSValue objects (which, unlike GNUstep's ASCII property list format, Apple's ASCII property list format does not support). Since XML files, however, are not the most space-efficient means of storage, Mac OS X 10.2 introduced a new format where property list files are stored as binary files. Starting with Mac OS X 10.4, this is the default format for preference files.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With