xibファイルとnibファイルは同じもの?

iphoneipadアプリの画面作成について調べていて分かり難かったので、記事にします。

 

結論から書くと…

基本的に"nib"と"xib"は同じ。

で良いと思います。

 

なぜ言い方が別れているの?

ここからもう少し詳細に書いていきます。

 
xibファイルって?

XcodeiPhoneiPadアプリ開発する時の画面作成使われるファイルです。

xibファイル、もしくはstoryboardファイルを使って画面を作成することが多いのではないかと思います。

nibファイルって?

画面作成についてxibファイルで検索していると

xibファイルとnibファイルが同じか類似したファイルとして読める記事が見つかりました。

じゃあnibファイルはxibファイルなの?

ですが別物として発言している人もいらっしゃったので、気になって調べてみました。

そもそもnibファイルとは。

NeXT Step(OS)に付属するInterface Builderというアプリケーションで作成されたファイルがnibファイル(NeXTStep Interface Builderの略)です。

元々はProject Builderという開発環境でソースコードを書いて、UIをInterface Builderで書いていていました。

nibファイルからxibファイルに。

Project Builder と Interface Builder を兼ねた開発環境が Xcodeです。

ファイル名もnibファイルからxibファイル(Xcode Interface Builder)に変わりました。

なぜ同じものとして扱うのか。

なぜでしょうね。

nibファイルはバイナリファイルでxibファイルはXMLファイルなので、別物だと思うのですが、これという結論は出ませんでした。

予測すると…

  • 元がnibファイルだった名残でxibファイルと呼んでいる
  • appleのDocument読んでいたらxibファイルを指す文がnibファイルと書かれていることもあるから 例:UINib - UIKit | Apple Developer Documentation
  • nibファイルとxibファイルには別の意味があり、私が勘違いをしている

のいずれかかと思います。

余談

「storyboardはxibの画面遷移を分かりやすくしたもの」という考えで間違っていないはずなので、storyboardをnibと呼ぶ人もいると思います。