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