CocoaPodsプロジェクトのコア・コントリビュータであるOrta Therox氏は先週,同プロジェクトが1ヶ月当たり100万ダウンロードを越えたことを発表した。この発表は同時に,プロジェクトの開発とユーザベースの拡大が大きく進展した,この1年を締めくくるものになった。
CocoaPodsは,Objective-Cランタイム上で動作するプログラミング言語を対象とした,依存性管理ツールである。RubyGemsに強い影響を受けたこのツールでは,オープンソースObjective-Cライブラリの配布フォーマットとして,Podというコンセプトを標準化している。個々のPodには,ライブラリのソースコードに加えて,プロジェクトのホームページやバージョン,必要なフレームワークなどのメタデータを格納したPodspecが含まれている。プロジェクトのサードパーティ依存性をすべて記述したPodfileにPodを追加すれば,そのPodに依存することが可能になる。依存性管理に対するこのアプローチの採用には,いくつものメリットがある。
- サードパーティのソースコードを直接プロジェクトにコピーしたり,Gitサブモジュールを経由して外部リポジトリを参照したりする必要がなくなる。
- 使用しているサードパーティライブラリのバージョンのトラッキングや,アップデートを行うプロセスが簡略化される。
- 必要なフレームワークをリンクするなど,サードパーティライブラリによって必要になるビルド設定のステップが自動化される。
CocoaPodsチームが今年の開発で目指していた最大の目標は,ツールのコミュニティエクスペリエンスの向上だった。チームが行った特筆すべき作業としては,Podsの検索に改めて注目した,CocoaPodsのホームページの再設計がある。現在では,CocoaPods Webサイトを訪れるとすぐに,CocoaPodリポジトリの検索が促されるようになっている。この変更によって,サイトで実行された検索数は,1月当たり70,000件だった昨年に対して,825,000件へと飛躍的に増加した。
メインのCocoaPods仕様リポジトリ管理の自動化に対しても,大きな努力が払われている。この中央リポジトリはこれまで,プルリクエストを経由して実行されるサブミッションを使って,手作業による管理が行われていた。しかしながら今年,組込みの認証機構を備えた自動サブミッションプロセスが導入された。これにより,プロジェクトのPodサブミッションのスループットが改善され,2013年の1,800から2014年は4,200に増加している。
氏は記事の中で,2015年のCocoaPodsプロジェクトに関する主要なプランについて,いくらかの言及をしている。注目に値するのは,新しいMolinillo依存性リゾルバを備えた同ツールの0.35バージョンがリリースされたことだ。Samuel Giddins氏が開発し,StripeがサポートするMolinilloは,CocoaPodsとBundlerに対応し,コンフリクト解決とパフォーマンスに優れた,汎用の依存性リゾルバである。現在実施中の重要な開発として,Swiftの導入も進められている。その進行状況は,ひとつのプルリクエストで確認可能だ。
CocoaPodsチームではいくつかの入門書を用意している。同ツールを使いたい開発者には,いずれも有用であると保証できるものだ。中でも"Using CocoaPods"は,依存性解決にCocodPodsを使うXcodeプロジェクトの作成プロセスを通じて,開発者を支援してくれる。また,自身のプロジェクトをPodsとして配布したい開発者は,"Making a CocoaPod"ガイドを参照が必読だ。