みなさん、おはこんばんちは(古い)。実は今日が誕生日だけど年は訊かないでほしい(乙女心)、赤池です。
社内では数少ないiOSのネイティブエンジニアとして(Unityも触れてみたいです。そのうち……)、日々Xcodeと仲良くしながらアプリを制作しております。
iOSとお付き合いを始めてからそろそろ二桁年経ちますが、これまで色々なライブラリを使ってきました。
そこで今回はこれまで使ってきたiOSライブラリの中から、個人的に使っていて良いな、と思ったライブラリの11選を紹介していきたいと思います。
基本的にCocoaPodsでインストールできるものになります。
……何故11選かって? 一歩先をいきたいからさ!
iOSライブラリ11選
1. Alamofire
ご存知、みんな大好き最大手通信ライブラリ。URLSessionを使って、非同期で処理して、メインスレッドに戻して……、みたいな煩雑な処理を一手に引き受けてくれる優秀な子。
でも優秀すぎるが故、全部の機能を使うことはあまりないです。しかしながら、iOSアプリで最も使用する機能である通信、という部分を簡単に実装できる部分は素晴らしいです。
ちなみに、こんな記事↓も書いているのでよろしければ(露骨な宣伝)
qiita.com
2. RxSwift
近年熱さを増してきているRxSwiftくん。所謂リアクティブプログラミングを実現するためのライブラリで、UIKitの中身もしっかりとサポートしてくれる優れもの。
実は使い始めてまだ半年しか経っていませんが、手放せないライブラリになってきています。難点があるとすれば比較的学習コストがかかることですね。ただ、その勉強の先に新たな世界が発見できるのでやはりおすすめです。
3. SVProgressHUD
「通信中にぐるぐる回るアレ(インジケータ)」を簡単に実装することができるライブラリ。アプリ制作のうえで、結構面倒な処理なんですが、それをお手軽に実装できるのは素晴らしいです。アニメーションもいい感じなのもポイント高いですね。
4. Parchment
SmartNewsのような、「上のスクロールメニューを選ぶと下の画面が切り替わる」という処理を実現してくれるライブラリ。以前、無限スクロールの機能込みで、似たようなものを自力実装したことがありますが、ものすごく時間がかかったことを覚えています。今はこちらを使えば一瞬ですね。拡張性も高いので、スクロールメニューを実装する際は候補の一番手かもしれません。
5. Kingfisher
ネットワークから取得した画像を表示させるためのライブラリ。メニュー画面のような、「多数の小さなサムネイル画像を非同期で取得して一気に表示する」というときに大活躍してくれます。画像キャッシュも自動で保存してくれるうえ、画像に更新があったときだけ自動で再読み込みもしてくるおまけ付き。個人的には「.kf」という独自のプロパティ名がRxSwiftと似ていて好きです。
ちなみにKingfisherとは、カワセミのことです。我が地元、山梨県は甲府市の市の鳥に指定されています(ムダ知識)
6. Reachability.swift
現在の通信状況を判別するためのライブラリ。iOSのReachabilityをラップしたもので、名前のとおりSwift専用です。私のように、「せっかくSwiftを使っているんだから、Objective-Cのコードはできるだけ触りたくない」という信念を持った方にもおすすめできます。地味ですが、通信をするときには非常に有用です。
7. lottie-ios
最近流行りのアニメーション表示用ライブラリ。ポイントはアプリ内でアニメーションを用意せず、JSONファイルを読み込むことでアニメーション表示を実現していること。つまり、面倒なアニメーションの実装をデザイナーさんに押し付……任せることができることです。
アニメーションの実装はとにかく面倒なので、その分の作業を短縮できるのは非常にありがたいですね。それにJSONファイルなので容量を圧迫しにくいこともメリットだと思います。
8. RealmSwift
iOS用のデータ管理ライブラリ。古のiOSエンジニアなので、CoreDataを頑張って使っていたところに、突如として舞い降りた新たなる希望の光でした。正直に言って分かりづらく使いづらいCoreDataとは違って、かなりユーザーフレンドリーなライブラリで、一瞬で心を奪われました。データ管理が必須なときには必ず採用しています。
9. IDZSwiftCommonCrypto
暗号化/復号ライブラリ。ユーザーの情報を扱うときには必ず絡んでくる、暗号化/復号の処理を簡単に実装できるライブラリで、iOS標準のCommonCryptoをラップしたものです。個人的には暗号化といえばこのライブラリ一択ですね。
10. KeychainAccess
iOSのキーチェーンにアクセスするためのライブラリ。キーチェーンへのアクセスって、割と面倒な処理が多く挟まれるんですが、このライブラリを使えば一発で実装できます。セキュアな情報はやはり、UserDefaultsよりもキーチェーンへ保存したいですからねぇ。製作者が日本の方というのも嬉しいところです。
11. BetterSegmentedControl
iOS13ライクな見た目のSegmentedControlライブラリ。iOS13になってから大きく見た目が変わったUISegmentedControlに近いSegmentedControlを実装してくれます。iOS13だけなら標準のものを使ってもいいのですが、現状では下位のiOSも使うため、見た目を統一したいという意味でも使用できます。もちろん標準のSegmentedControlよりもカスタマイズ性に優れており、また「選択している感」がより強いので、普通に使うのもおすすめです。
おわりに
以上が、個人的に使っていて良かったiOSライブラリ11選になります。やはり大手、というかよく知られているものが多くなってしまいますが、それだけ実績のあるライブラリということですね。
私自身、若かりし頃は「ライブラリに頼らないで自力で実装しよう」みたいな野心に溢れていましたが、今は、「楽がしたい(いい意味で)」という気持ちが先行してライブラリに頼ることが多くなっています。それも一種の成長ですかねぇ……(遠い目)
というわけでみなさんも、ここに挙げたものに限らず、良きライブラリを使って、良きiOSライフを送ってください。