LoginSignup
299

More than 5 years have passed since last update.

声に出して読みたいObjective-Cのライブラリ8種(2014.7)

Last updated at Posted at 2014-07-08

Swiftに浮かれているiOS開発者のみなさんこんにちは。Objective-Cの記事を書きます。


手になじんでるものから、良さそうなので使ってみたいものまで、
個人的に筋がいいと思っているObjective-Cのライブラリを紹介します。

YLMoment

日付や時間と文字列を扱いやすくしてくれるライブラリ。
タイムラインでよくある"19 hours ago"みたいな文字列をNSDateから作ったり。
日本語対応。

MTDates

NSDateの便利カテゴリ。
何日から何日までのNSDateの配列を取得したり、その日・週・月の頭のNSDate、先週の頭のNSDateなど。
欲しいと思った機能はだいたいあります。

JLRoutes

開発の初期にはURLSchemeから自前で処理を振り分けたりしますが、当然のように辛くなるのでJLRoutes。
sinatraっぽく書けます。sinatra使ったことないけど。

Bolts

FaceBookとFaceBookに買収されたParse.comが公開しているBolts。Boltsに含まれるBFTaskの使い勝手がよい。
JavaScriptのPromisesと同じで、今はないが将来値が返されるというような状態をオブジェクトとして表現できるので、APIクライアントやローカルのDBにアクセスする場合なんかに使うと、呼び出し側の非同期処理を簡潔に記述できます。

PromiseKitなんてのもあるみたいですが、黒魔術っぽかったり、カテゴリにprefixがなかったりで、Bolts使ってます。
http://promisekit.org

BugshotKit

関係者に向けた開発版で、サーバーの切り替えや、ログの表示送信をアプリ内で行えるようにしている会社がけっこうあるみたいです。
ログの送信だけでも手軽にできるとdogfoodingが捗るので、BugshotKitよさそうだなと。

ReactiveCocoa

もう1年近く検討していて、いつも実戦では難しいなという結論に達するReactiveCocoa。
Swiftなんかより新しい世界が待っています。

振る舞いを宣言的に書けるので、変化する値を上手く扱うことができて、
今、Objective-C&MVVMで書こうと思ったら必須じゃないでしょうか。

問題はアニメーションとの相性の悪さ、UITableViewとの相性の悪さ。
特にUITableViewは再利用の問題があってセルとエンティティが1:1ではないので、辛いものがある。
原理的に難しいんじゃないかという気がしなくもないです。

とはいえ、新しいパラダイムを触ってみるのはよいことです。
定期的にReactiveCocoaを触っていて、その度にKVOを使う機会が増えるという現象がおきています。

MTMigration

バージョンを上げたタイミングで一度だけ行う処理を定義できる。以上。

KeepLayout

AutoLayoutをいい感じのAPIで(比較的)簡潔に実装することができるKeepLayout
IBを使っているコードと使っていないコードの境界で活躍します。

本当はすべてAutoLayoutに移行できればいいんですが、長く運用しているアプリにはいろいろあるんです。

おまけ

全く関係ないんですが、以下ViewControllerを軽量にするための指針に関する良記事。
http://www.objc.io/issue-1/lighter-view-controllers.html

広告

株式会社グルコースでは本物のObjective-Cエンジニアを募集しています。よろしくお願いします。
https://www.wantedly.com/projects/6619?u=5600011

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
299