swift 普通のアプリを作るのにつかったライブラリまとめ

はじめに

普通のアプリってなんだと突っ込まれそうだけど...

APIへリクエストしたり
・リスト表示したり
・画像を表示したり
・入力フォーム作ったり

アプリ開発してると自分のスキルだとやはりサードパーティのライブラリに頼りまくることになる。できるだけCocoapodsは使いたくなかったのでCarthageだけで利用可能なライブラリを探した。今回使いたいと思って調べたライブラリは大抵Carthageで利用可能だった。なのでCocoapodsは使わないですんだ。時間が空くとまた同じような目的でライブラリ探しからはじまりそうなのでメモしておく(URLとStarは2019/1/31現在)。

UI系

SwipeMenuViewController

URL : https://github.com/yysskk/SwipeMenuViewController

Star : 612

スワイプでタブ間の画面遷移するUIを実装するために使用。よく見るUIだけど自前で作るとけっこう大変。

ImageSlideshow

URL : https://github.com/zvonicek/ImageSlideshow
Star : 1063

画像のスライドショー系のUIを実装するために使用。スワイプで前後の画面に移動できるのと、画像タップでフルスクリーンになるのもナイス。

SlideMenuControllerSwift

URL : https://github.com/dekatotoro/SlideMenuControllerSwift
Star : 3179

スライドメニューを実装するのに使用。スライドメニューは大抵のアプリで設置されているのでこの手のライブラリは必須かも

TagListView

URL : https://github.com/ElaWorkshop/TagListView
Star : 1687

ブログやインスタの投稿みたいに記事にタグつけしたい場合の入力UIを実装するのに使用。これも自前で実装すると意外に大変だと思うので助かりました。

SVProgressHUD

URL : https://github.com/SVProgressHUD/SVProgressHUD
Star : 11465

WebAPIへリクエストしてレスポンスが返ってくるまでにクルクルするやつを表示するのに使用。更新系のボタンでは2度押し対策にもなる。

ESTabBarController

URL : https://github.com/eggswift/ESTabBarController
Star : 3416

タブバーを装飾するのに使用。真ん中のタブだけ大きくしたり丸くしたりとかいった用途で使わせていただきました。

LUExpandableTableView

URL : https://github.com/LaurentiuUngur/LUExpandableTableView
Star : 94

折り返し可能なテーブルビューを実装するのに使用。スクラッチで実装してもそこまで手間でない気はするが自分で実装すると意外と細かいバグが直すのが...

通信系

Alamofire、AlamofireImage

URL : https://github.com/Alamofire/Alamofire
Star : 30049

APIにリクエストするのに使用。リクエスト、レスポンスヘッダーも簡単だし画像のアップロードも可能。また、AlamofireImageで非同期に画像を表示するのも簡単に実装できる。Alamofireは鉄板なのかな。

SwiftWebSocket

URL : https://github.com/tidwall/SwiftWebSocket
Star : 1150

WebSocketを使うのにシンプルなものを探したら自分の中ではこれが1番使いやすかった。

Reachability.swift

URL : https://github.com/ashleymills/Reachability.swift
Star : 5733

基本的にオンラインで使用するアプリなのでオフラインの場合はユーザー操作させないようにするのに使用した。ネットワーク状態がかわったタイミングをハンドリングできるのでそこに処理を記述するだけで簡単に使えた。

ユーティリティ系

SwiftyJSON

URL : https://github.com/SwiftyJSON/SwiftyJSON
Star : 17975

JSONを簡単に扱うために使用。Codableが出たせいか前ほど使わなかった気がするけど便利。

SwiftDate

URL : https://github.com/malcommac/SwiftDate
Star : 4555

Swift(Objective Cも同じかも)では日付扱うのが何気に大変な印象。そこでこれ使ったらとても便利だった。

Validator

URL : https://github.com/adamwaite/Validator
Star : 1251

入力チェックで使用。コード量もそんなに多くないし軽量。簡単に扱える印象で使いやすかった。

その他、SDK

Bugsnag

URL : https://github.com/bugsnag/bugsnag-cocoa
Star : 121

クラッシュレポート。色々ありそうだけど今回はこれ使った。

Mixpanel

URL : https://github.com/mixpanel/mixpanel-iphone
Star : 808

ユーザーのイベントを解析するやつ

以上です