Help us understand the problem. What is going on with this article?

SwiftUIおすすめライブラリ!!

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

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

QGrid ⭐️994

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

ASCollectionView ⭐️493

 

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

WaterfallGrid ⭐️683

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

チャート

ChartView ⭐️1579

   

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

Swift Sunburst Diagram ⭐️265

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

タブ

SSCustomTabbar ⭐️135

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

カレンダー

RKCalendar ⭐️210

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

拡張(Extension)

SwiftUIX ⭐️1108

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

DynamicColor ⭐️2290


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

KingfisherSwiftUI ⭐️16053

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

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

PartialSheet ⭐️278

  • サイズをカスタマイズできるモーダルシートをモディファイアとして提供
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 ⭐️339

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

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

Keyboard Observing ⭐️265

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

SwiftUIRefresh ⭐️60

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

テスト

ViewInspector ⭐️263

  • 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"])
}

まとめ

  • 2019年に発表されたSwiftUIだが、まだまだ発展途上でバグなども多い。
  • まだまだ、公開されている数が少ないためこまめに探し出しおすすめライブラリを更新する予定。
  • みなさんもおすすめライブラリが有ればどんどんコメントお願いします!!!
shira-shun
24歳。 iOSエンジニアとしてもうすぐ3年目に突入。 4月からAndroidも勉強し始めます。
tdc-soft
TDCソフトは、自主自立の精神のもと、自由な発想を育み、情報技術の力をもって社会に貢献するビジョンを持った企業です。https://future-hearts.com/
https://www.tdc.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした