2011-11-07 16 views
1

リンゴは.plistファイルを使用するのはなぜですか?リンゴは.plistファイルを使用するのはなぜですか?

Windowsはあまり柔軟性があり.iniファイルを、使用しますが、また、JSONはXMLより少ないスペースを占有する理由と同じ理由のために、より少ないスペースを占めています。彼らもその構成のためのJSONを使用することができます

は、それが(辞書など)彼らが必要とする値の種類をサポートし、少なくとも解析することなど簡単だと最低のスペースを占めています。

+0

彼らはそれが好きだからです。 –

+1

ディスク容量が主な要因だった場合、バイナリを選択していました。 – Simon

+0

が真実ですが、読みやすさがかなり失われてしまいます。これらのファイルを手で簡単に編集できます。 – bigblind

答えて

2

NeXTSTEPで見つかったoriginal property list formatは、JSONとよく似ていますが、構文が少し異なります。 NeXTSTEPがMac OS Xになったとき、そのフォーマットは今日のXMLバージョンに置き換えられました。新しい形式は、あなたがそのリンクで読むことができる古い形式よりもいくつか改善されました。

プロパティリストには、いくつかのデータ型を保持することができるJSON(とINIファイル)することはできません:実数(浮動小数点)または整数、日付、およびbase64でエンコードされたバイナリデータとして指定された番号。また、Mac OS Xがリリースされた後も、JSONはdocumented publiclyではありませんでした。

のMac OS 10.2以降では、XMLよりもスペース効率はるかにだ、とのplistファイルが2つの間で可逆変換可能なバイナリplistの形式があります。

1

私はそれがのNeXTSTEPの時代から残さものの一つだったと信じて...彼らができるので、彼らはそれを使用することを好む理由のためとして、それはおそらくです。 ;-)

2

NeXTSTEPがそれらを使用していたので、Appleも同様にそれらを採用しました。

Property List Wiki Page:のNeXTSTEPの下

、プロパティリストはやや プログラミング言語のような人間が読めるように設計されており、 は手動で編集、構文でASCIIにシリアライズされました。

NeXTSTEPは1つのフォーマットを使用してプロパティリストを表し、その後の 以降のGNUstepおよびMac OS Xフレームワークでは、異なる フォーマットが導入されました。

Mac OS XでもNeXTSTEP形式を読み取ることができますが、Appleは の代わりに2つの新しい形式の独自の形式を設定しています。

Mac OS X 10.0では、NeXTSTEP 形式は廃止され、新しいXML形式が導入されました。 公開DTDがAppleによって定義されています。 XML形式は、非ASCII文字 をサポートしており、(GNUstepののASCII プロパティリスト形式とは異なり、AppleのASCIIプロパティリスト形式は サポートしていない、)NSValueオブジェクトを格納します。しかし、XMLファイルはスペース効率の良い の記憶手段ではないので、Mac OS X 10.2は新しいフォーマットを導入しました。ここでは、プロパティファイル はバイナリファイルとして保存されています。 Mac OS X 10.4以降、 これは環境設定ファイルのデフォルトフォーマットです。

関連する問題