189
173

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

SwiftUIおすすめライブラリ

Last updated at Posted at 2020-01-18

SwiftUIの使えそうなライブラリ一覧

アーキテクチャ

swift-composable-architecture(TCA)

  • 最近流行りのRedux系のアーキテクチャ用のライブラリ
  • SwiftUIで規模の大きいアプリを開発するのであれば、第一候補になるのでは?

上タブ

Parchment

  • image
  • よく見る上タブを気軽に作成することができる
  • 上タブのライブラリは複数ありますが、現在でも活発に更新されているOSS
  • SwiftUIにも対応されている(Exampleが用意されている)

グリッド(コレクションビュー)

QGrid

  • UIKitのUICollectionViewのようなライブラリ
  • グリッド形式で画面を作成することができる
  • SwiftPM対応

ASCollectionView

 

  • SwiftUIでUITableViewとUICollectionViewを拡張したようなライブラリ
  • 今のところグリッド形式のライブラリで一番使いやすそう
  • かなり頻繁にアップデートがされている印象

WaterfallGrid

  • グリッド形式で表示できるライブラリ
  • QGridと比べて簡単に覚えやすいイメージ
  • SwiftPM、CocoaPods対応

チャート

ChartView

   

  • SwiftUIで作成されたChartを作成することができる
  • SwiftPM対応

Swift Sunburst Diagram

  • 円グラフなどのリッチなUIを作成できるSwiftUIライブラリ

タブ

SSCustomTabbar

  • SwiftUIで使えるUITabBarの拡張ライブラリ
  • UIKitで実装してSwiftUIで使えるようにしたみたいです。

カレンダー

RKCalendar

  • SwiftUI製のカレンダーライブラリです。
  • UIKitのFSCalendarなどに比べるとカスタマイズ性は劣りますが、現状SwiftUIでは一番良さそう。

拡張(Extension)

SwiftUIX

  • SwiftUIを使いやすく様々な拡張をしたライブラリ
  • SwiftUIでサポートされてないUIKitのパーツを気軽に使いやすくしてくれる
  • とりあえずSwiftUIでアプリ作ってみたい方は必須のライブラリ
  • SwiftPM対応

DynamicColor

  • SwiftUI版Colorの拡張ライブラリ
  • とりあえず入れておけば色の設定は問題なし
  • SwiftPM、CocoaPods、Carthage対応

KingfisherSwiftUI

  • UIKitの有名画像キャッシュライブラリがSwiftUIにも対応しています。
import KingfisherSwiftUI

var body: some View {
    KFImage(URL(string: "https://example.com/image.png")!)
}

PartialSheet

  • サイズをカスタマイズできるモーダルシートをモディファイアとして提供
YourView
.partialSheet(
    presented: Binding<Bool>, 
    backgroundColor: Color = Color.white, 
    handlerBarColor: Color = Color.gray, 
    enableCover: Bool = true, 
    coverColor: Color = Color.black.opacity(0.4), 
    view: @escaping () -> SheetContent) -> some View where SheetContent : View

ウォークスルー

ConcentricOnboarding

  • ボタンタップ形式のウォークスルー画面を作成することができる
  • SwiftUIでは数少ないウォークスルーライブラリ
  • CocoaPodsとCarthageのみ対応

UIKit関連(SwiftUIにないものをUIKitでサポート)

Keyboard Observing

  • キーボードを監視してくれる軽量ライブラリ

SwiftUIRefresh

  • SwiftUIでPull To Refreshを実現してくれる軽量ライブラリ
  • SwiftPM対応

テスト

ViewInspector

  • SwiftUIビューを単体テストするためのライブラリ
func testVStackOfTexts() throws {
    let view = VStack {
        Text("1")
        Text("2")
        Text("3")
    }
    let values = try view.inspect().map { try $0.text().string() }
    XCTAssertEqual(values, ["1", "2", "3"])
}

サンプルコード・サンプルアプリ

SwiftUI-Cheat-Sheet

  • 最新のSwiftUIのコードの書き方をREADME.mdに書いてくれている
  • SwiftUIだとどうやって書けばいいんだっけ?ってなった時に便利

まとめ

  • 2019年に発表されたSwiftUIだが、まだまだ発展途上でバグなども多い。

  • まだまだ、公開されている数が少ないためこまめに探し出しおすすめライブラリを更新する予定。

  • みなさんもおすすめライブラリが有ればどんどんコメントお願いします!!!

  • WWDC2020が開催された直後にSwiftUIの記事を新たに書こうと思います。

追記

記事を書いてから2年ほど経ちましたが、現在のSwiftUIは昔と比べてかなり進化しています。
ここで紹介したライブラリを使わなくてもpureで実装出来てしまいます(Pull to refreshなど)
少しずつ更新して行く予定です...

10/24

追加

  • swift-composable-architecture(TCA)
  • Parchment
  • SwiftUI-Cheat-Sheet
189
173
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
189
173

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?