Swiftのライブラリやサードパーティ製ツールへのリンクまとめ(随時更新中)

  • 91
    いいね
  • 0
    コメント

はじめに

タイトルそのまんまです。参考サイトとかからリンクを飛んでGithubでスターつけるまではいいのですがあまりにも沢山つけすぎて実際に使ったり今後使いそうなものをそこから見つけるのにまた同じ手順を踏まなければいけない状況だったので自分のために随時更新していきます。
PodやCarthageと横に書いてあるのはそれらで管理ができるライブラリだという意味です。

ここでも言われていますが、できればライブラリ使わなくてもいい技術力付けたいですね。

以下から(特に分類はしない)

一旦ここにためて順次分類していきます。分類も時間のあるときに段階的にやっていく予定です。

  • PureLayout[Pod]...AutoLayoutをコードからも使えるようになるAPI(?)
  • JSQMessageViewController[Pod]...LINEやFacebook MessengerみたいなチャットのUIを簡単に実装できるライブラリ。めっちゃ感動したからあえてここに置いておきます。
  • thoughtbot製の各種ライブラリ[Carthage,Pod]...Argo(JSONパーサ)などをつくってるところです。紹介記事を読んでみると簡単に書けるようにモナドやカリー化などのHaskellでよく使われるような概念を多数輸入して実装されているみたい。
  • SwiftyAttributes[Carthage,Pod]...NSStringAttributesを簡易化したもの
  • GlueKit[Carthage,Pod]...KVC/KVOを簡単にするためのライブラリ

分類済

この下に分類していきます。

UI関係

Label,ボタンなどUI要素

  • TTTAttributedLabel[Carthage,Pod]...リンクなど色々できるUILabel拡張ライブラリ
  • RKNotficationHub[Pod]...Facebookのタブみたいにアプリ内で通知の赤い丸を使えるようになる
  • JOEmojiableBtn[Pod]...よくわからないけどFacebookの今のいいねボタンみたいなことができるライブラリ
  • FMAssetStream[Pod]...NavigationBarの下にプログレスバーを表示してLoading的な
  • MaterialKit[Pod]...iOSでMaterialデザインを使いたいという人のためのライブラリ集
  • Pulsator[Carthage,Pod]...詳しくは作者の方のQiita記事が一番だと思うのでQiita記事のリンクにしています。電波が広がっていくようなアニメーションを簡単に実装できるライブラリだそうです。
  • Side-Menu.iOS[Pod]...とりあえずかっこいいサイドメニューが使えます。あと関係ないけど説明にのってる公式サイトが死ぬほどかっこいい
  • CRNetworkButton[Pod]...ロード中をかっこよくアニメーションするボタンのライブラリ
  • DOFavoriteButton[Pod]...最近のTwitterのいいねボタンみたいなアニメーションのついたボタン

キーボード関連

  • RxKeyboard[Carthage,Pod]...Rx製のキーボードサポートライブラリです。Rxっぽいことをキーボードでもできるらしい(?)
  • Typist[Carthage,Pod]...キーボードのイベントを通知を通さず関数型ちっくに拾えるようになる

TableView,CollectionView関連

  • KTCenterFlowLayout[Pod]...CollectionViewのセンタリングをしてくれる(iPadだと微妙?)
  • SWTableViewCell[Pod]...TableViewCellの拡張でスワイプした時に出てくるボタンを自分で増やせるようになる
  • DZNEmptyDataSet[Carthage,Pod]...TableViewやCollectionViewのcellが無い時の画面をデザインできるライブラリ
  • PageMenu[Carthage,Pod]...TabViewの動きがPageViewっぽくなるライブラリ
  • IGListKit[Carthage,Pod]...Instagramが自社で使っているライブラリ。AdapterみたいなAndroid風の感じでネットからデータをとってくる系テーブルビューをおそらくInstagramぐらいぬるぬる動くようにできる(はず)
  • CascadingTableDelegate[Carthage,Pod]...リッチなテーブルビューが実装できる

ViewController,トランジション系

  • BubbleTransition[Carthage,Pod]...なんかリッチなトランジションが実装できるライブラリ
  • MSDynamicsDrawerViewController[Pod]...これもよくわからないけどスワイプして出てくるメニューとかUIViewControllerをよりリッチな感じにするライブラリ
  • iOS Swift ColorPicker...ColorPickerを表示するViewControllerとIBDesinableのセット
  • BSImagePicker[Pod]...ギャラリーから画像を複数枚選択したい時に使える
  • WVPopoverController[Pod]...PopoverのUIをカスタマイズできるもの
  • SegueAddition[Pod]...performSegueWithIdentifer+prepareForSegueを一個にまとめて簡潔に書けるようにしたもの。Podで導入できるみたいだけどSegueAddition.swiftをダウンロードして自分のプロジェクトにコピーしとけばすぐにでも使えそう
  • Gecco[Pod]...チュートリアルで画面の一部にスポットあてるみたいなことができるやつ
  • RMPScrollingMenuBarController[Pod]...Tabメニューが連動するページビュー
  • AZTransitions[Carthage,Pod]...昔のiPhoneのアプリ切り替え画面ちっくなトランジションとかクロスディゾルブ的なやつとか

画像関連

  • uiimage-from-animated-gif...UIImageでGIFも扱えるようにする拡張ヘッダファイル
  • FLAnimatedImage[Carthage,Pod]...Flipboard社のGIFを扱うライブラリ
  • isGIFExtension...手前味噌なんですがNSDataがGIFかどうか判断する必要があったのでObjective-Cですでにネット上にあったものをSwiftで書き直しました。

Alert関連

  • SCLAlertView[Pod]...AlertViewの拡張ライブラリ、フラットデザインみたいな
  • XLActionController[Carthage,Pod]...UIActionControllerの拡張ライブラリ
  • RNBlurModalView[Pod]...Alertが出てる時他の部分がモヤかかったみたいになるやつ
  • TSMessage[Pod]...なんかかっこよく通知下りてくるもの。詳しくはREADMEのスクショで

アニメーション・メディアアートなど

  • C4iOS[Carhage,Pod]...iOSプログラミング用メディア系フレームワーク。Processingとかみたいなことを簡単にiOSで実装可能になる
  • Cheetah[Carthage,Pod]...アニメーションフレームワーク

全般

  • AsyncDisplayKit[Carthage,Pod]...facebook製の非同期(メインスレッド以外)で画面を描画するUIKitの代替物

ネットワーク関係

JSON関連

  • Himotoki[Carthage,Pod]...Ikesyoさん作JSONパーサ
  • SwiftyJSON[Carthage,Pod]...JSONを扱うためのライブラリ、Alamofireとセットで紹介されることが多い

通信一般

  • Alamofire[Carthage,Pod]...ネット通信系で一番有名なやつ
  • APIKit[Carthage,Pod]...タイプセーフなAPIクライアント
  • AwesomeCache[Carthage,Pod]...分類ここでいいのかわからないけどキャッシュをしてくれるライブラリ
  • Requests...同期通信のHTTPクライアント

画像通信系

  • SDWebImage[Carthage,Pod]...非同期で画像をダウンロードしてくれたりするUIImage拡張ライブラリ
  • Nuke[Carthage,Pod]...非同期通信で画像を取得したりする最新のライブラリ

音楽通信系

  • Chorister[Pod]...音楽ファイル版SDWebImageのダウンロード部分みたいなもの。日本製。

サードパーティAPI系

  • Google-Mobile-Ads-SDK[Pod]...Googleの広告を入れるためのSDK
  • Swifter...非公式のTwitterフレームワーク、OAuthの他にACAccountを使ってログインすることができるのでTwitter側でごにょごにょする必要がない
  • Fabric...Twitter公式のiOS用ライブラリ。使うのはとても簡単だがツイートのcellを自分でデザインできないなど制約がある
  • SlackKit[Pod]...Swiftで書かれたSlackクライアントライブラリ

プログラミング関係

Reactive Programming

  • RxSwift[Carthage,Pod]...ReactiveProgramming用ライブラリSwift版。Rxシリーズの一つ。
  • ReactiveKit[Carthage,Pod]...ReactiveProgramming用ライブラリ。
  • SwiftFlux[Carthage,Pod]...FluxをSwiftで実現するできたばっかりの国産ライブラリ
  • ReSwift[Carthage,Pod]...ReduxをSwiftで実現したライブラリ。上のFluxとあわせて単方向のバインディングなので今後流行っていく可能性ありそう(よくわかってないですが...→記事書きました。)
  • RxBluetoothKit[Pod]...RxSwift用のBluetooth関連ライブラリ
  • katana-swift[Carthage,Pod]...ReactとかRedux的なフレームワーク

正規表現

関数型プログラミング

  • Swiftz[Carthage]...Swiftの関数型プログラミング拡張ライブラリ
  • Either[Carthage]...二つの型をもつ一つの型をつくる、EitherのSwift版
  • PromiseK[Carthage]...モナドとしてデザインされたPromiseのSwift版

AI

  • WhatThis iOS...画像認識AIライブラリを使ったアプリのサンプル
  • Swift AI...Swiftで書かれた人工知能ライブラリ
  • Parsimmon[Pod]...自然言語の構文解析ちっくなもの

データベース

  • Realm[Pod]...言わずもがなな有名データベースツール

その他

  • Result[Carthage,Pod]...Optional型の拡張ライブラリ
  • RandomKit[Carthage,Pod]...いろんなもののランダム生成を簡単にできる

ツール

マルチプラットフォーム系

  • RemobjectsSilver...SwiftコードをAndroidバイナリに出力できるツール
  • Windows Bridge for iOS...Microsoft純正のObjective-Cで書かれたiOSアプリのコードをWindows10用アプリに変換できるツール

Webフレームワーク

※ 全部試そうとしたのですが2016-04-12のSNAPSHOTをswiftenvで導入した環境でビルドしようとすると付随してダウンロードされるライブラリでことごとくコンパイルエラーを起こしてビルドが出来ないという状況に陥っています。何か解決法を知っている方いましたら教えていただきたいです^^;
→結局2016-03-24のSNAPSHOTにしたらビルドできました。。。

  • Vapor...Webフレームワーク一つ目。導入もデプロイもHeroku使えて簡単らしい。
  • Perfect...オープンソース化が発表される前から発表されていたらしい。デプロイなどはwebに慣れている人でないと難し目?
  • Kitura...IBM製のもの。IBM Bluemixっていうクラウドサービス上で動かせる
  • Swifton...githubでswift webで調べたら上の三つの次に出てきた。Ruby on RailsのSwift版みたいな立ち位置らしい。のでRails使ってる人には一番馴染みやすいかも...?

デザイン系

  • OnsenUI...HTMLでモバイルアプリが設計できるフレームワーク

小技系

最後に

元も子もないですが他のリンク集も載せておきます。

僕のリンク集でカバーしきれていない部分はこちらも参考にしてください。

  • この記事は以下の記事からリンクされています
  • Swift学習日記からリンク