LoginSignup
0
0

【iOS】UIフレームワーク比較

Posted at

はじめに

iOSでUIを実装する手段は主にXib、Storyboard、SwiftUI、UIKitがありますが、どれか一つだけを利用することは少ないです。
大抵の場合、上記の組み合わせでUIを実現します。UI実装にあたってその比較表を作成しました。

それぞれの違い

種類 説明 ファイル
SwiftUI ・GUIを使用して、パーツおよび画面間の関係を作成できる
・2011年のXcode4.2より登場
storyboard(xml)
Xib ・GUIを使用して、パーツおよび画面間の関係を作成できる
・2011年のXcode4.2より登場
.storyboard(xml)
UIKit ・コードでView周辺を扱うフレームワーク
・StoryboardおよびSwiftUIと共存可能
・UIKitのみで構築するのは大変なため、StoryboardおよびXibで代替することが多い
コード
SwiftUI ・コード/GUIを使用して画面を作成できる
・2019年6月に発表された新しいフレームワーク。将来的にSwiftUIに一元化される可能性もある
・対応OSバージョンはiOS13以降
コード

組み合わせ比較

種類 メリット デメリット
Storyboard + UIKit ・ノウハウが蓄積されている
・GUIでUIおよび画面間の関係を作成できる
・UIの再利用性が低い
・コンフリクトが発生し易い
・将来的にSwiftUIへの移行作業が発生するかもしれない
Xib + UIKit ・ノウハウが蓄積されている
・GUIでUIを作成できる
・Xibを使用して、UIの再利用性を高くすることができる
・コンフリクトの発生を抑制できる
・将来的にSwiftUIへの移行作業が発生するかもしれない
・Storyboardと比べると画面間の関係がわかりにくい
Storyboard + Xib + UIKit ・ノウハウが蓄積されている
・GUIでUIおよび画面間の関係を作成できる
・Xibを使用して、UIの再利用性を高くすることができる
・Xibを使用して、コンフリクトの発生を抑制できる
・将来的にSwiftUIへの移行作業が発生するかもしれない
SwiftUIのみ ・SwiftUIへの移行作業が発生する可能性がない
・再利用性が高い
・コンフリクトの発生を抑制できる
・標準UIの中にSwiftUIのみでは対応できないものがある
・iOS13以上である必要がある
・新しい技術のためノウハウが蓄積されていない
SwiftUI + UIKit ・SwiftUIへの移行作業が発生する可能性がない
・UIの再利用性が高い
・コンフリクトの発生を抑制できる
・作成中の画面のPreviewをみることができるためデバッグが早い
・iOS13以上である必要がある
・新しい技術のためノウハウが蓄積されていない

結論

これから新規で開発するならSwiftUI + UIKitを採用するのが良い

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0