iOSのUI実装方法

提供: MonoBook
ナビゲーションに移動 検索に移動

iOSのUI実装方法は大きくわけて3種類あります。

xib[編集 | ソースを編集]

xibはもっとも古典的は方法です。 NeXTSTEPおよびMacOS Xの開発で使われたInterface Builder(現在はXcodeに統合)で使われたバイナリ形式の「nibファイル」をXML化したものです。 人間が読み書きする前提のXMLではなく、かなりクソみたいなXMLなので自力でパースしようとすると発狂しそうになります。

大雑把にいうと後述するstoryboardからstory(画面遷移)を除いたものです。storyがなくboardだけなのでxcodeで編集する際に画面を広く使えるという利点があり、1画面で完結するmacOSアプリでは今でも現役です。

storyboard[編集 | ソースを編集]

storyboardは大雑把にいうと複数のxibを1ファイルに集めxcode上で画面遷移をグラフィカルに設定および表示できるようにしたものです。

MacやWindowsなどパソコン向けのアプリでは1画面に詰め込んでしまうようなデザインが主流ですが、 iPhoneやAndroidなどの画面の小さいスマホでは1画面に詰め込まず画面遷移しまくるデザインが主流であり、全体像を把握するには「画面遷移図」が割と重要になります。 とくに最初のアイデア段階で「ユーザーが感じる価値」を具体的に視覚化するのに役立ち、アプリのフロー全体を視覚的に理解しやすくなります。

しかし、大規模なプロジェクトでは、storyboardが大きくなりすぎて管理が難しくなる可能性があります。 Xcodeで編集する際は「画面の大きさ」が重要でありMacBook Airではイライラ全開で「iMac 5Kが欲しくなる」という欠点があります。

SwiftUI[編集 | ソースを編集]

SwiftUIはXcode 11から利用可能になったiOS、macOSアプリケーションのUI作成のための新しいフレームワークです。 系統としてはstoryboardよりxibに近いものです。 xibのクソ仕様謎仕様XMLの代わりに「Swiftのコード」で記述できるというものです。

深く考えずに部品を列挙するだけで「デザインセンスが絶望的なプログラマーでもそれっぽくデザインできる」という特徴があります。 また、SwiftUIはライブプレビューを提供し、コードの変更が即座にビジュアルに反映されるため、デザインとコーディングのプロセスがより効率的になります。

前述のstoryboardと比べると「MacBook Airにも優しい」という利点があります。