こんにちは、アプリ開発の時間がもっと欲しい、ガジェっく(@syasya_cat)です。
アプリ開発者のみなさん、ライブラリはどのように探していますか?
ライブラリというのは、Wikipediaによると
汎用性の高い複数のプログラムを再利用可能な形でひとまとまりにしたもの
とのことですが、ざっくり言うと、ほかの誰かが公開してくれているプログラミングのパーツのようなものですね。
今の時代、全く使わずにアプリを開発する、ということはめったにないのではないでしょうか。
一流のアプリ開発者なら、ライブラリも一流に使いこなしていかなければなりません。
というわけで、今回はライブラリの探し方のお話です。
まずは、検索する
お決まりですが、まずはグーグルさんに頼るのがおすすめ。
求めている機能を備えている定番のライブラリがあれば、似たような解説記事や「使ってみた」系の記事がいっぱい出てくるはずです。
それらの記事をざっくり見て、使えそうであればひとまず試してみましょう。
大抵の場合、それでうまくいきます。
ちなみに、それらの記事を参考にするときには、できるだけ新しい記事を選びましょう。
iOSの場合は特に、1年で1回Swiftのメジャーバージョンアップがありますからね。ちょっと古いと、全然動かない場合があります。
できれば、ライブラリのページ(大抵はGitHub)を参考にして、実装していきましょう。
ちなみに検索ワードですが、
「Swift 〇〇 Library」
とか、
「Swift 〇〇 ライブラリ」
とかで検索すればOK。〇〇には、求めている機能が入ります。
日本でよく使われているライブラリを見たい場合や、日本語で解説されているものを探したい場合は後者になりますが、
最終的にそのライブラリを詳しく理解するためには英語で読んでいくことになるので、できれば前者がオススメ。
「iOS 〇〇 Library」でも良いですが、Objective-Cで書かれているものなど、古めのものが混じってくる可能性が高くなります。
ただ、Objective-Cで書かれていて、それほど更新されていないライブラリの中にも有用なものもありますので、これで検索するのもアリですね。
クオリティの高いライブラリは、GitHubやまとめから探す
多少ニッチだけど、クオリティの高いライブラリ、というのが存在します。
検索して見つからなかったものは、こちらの方法で探してみましょう。
GitHubには、「〇〇Awesome」や「Awesome〇〇」と言ったプロジェクト名で、クオリティの高いライブラリがまとめられていることがあります。
例えば、以下のようなもの。
「Awesome」というのは、ざっくりいうと「すげえ、やべえ、カッコイイ」みたいなスラングで使われることが多い単語。
もともとは、「畏敬の念を起こさせる」みたいな意味だそうですが、その名の通り「これすごいな」と思わずつぶやきたくなるようなライブラリがまとめられています。
ジャンル別にまとめられていて、とてもわかりやすいですよね。
眺めているだけでも面白いのですが、期待するライブラリを探すのにもとても有効。
該当するジャンルを選んで、自分が求めている機能を持っているライブラリがないか、調べてみましょう。
ニッチなライブラリや、UIのライブラリは、専用サイトで探す
それでも希望に沿ったライブラリが見つからない場合は、専用サイトで探しましょう。
UI(見た目)系のライブラリなら、Cocoa Controlsがオススメ。
実際の画像や動作を見ながら探すことができるので、とても便利です。
タグやキーワードで検索することもできますし、ライセンスやプラットフォーム(iOS、macOS、tvOS、watchOS)、使用言語(なんとReact Native用にJavaScriptもあります)で絞り込むことも。
評価順や日付順で並び替えることもできるので、見た目系ならまずこれ、という感じですね。
見た目に関わらないライブラリなら、かの有名なライブラリ管理ツール「CocoaPods」のページで検索するか、CocoaPods Searchというサイトを利用するのがオススメです。
ライブラリのクオリティを判断するには
ライブラリは、玉石混合です。
個人がちょっとしたノリで上げたライブラリがあれば、有名IT企業ががっつりコミットして開発している
「これが無料でいいのか!?」とつい言ってしまいたくなるようなライブラリもあります。
利用者としては、当然クオリティの高いものを探したいわけですが、これにはGitHubを有効利用することが肝心です。
チェックすべきなのは、Starの数、更新日時と頻度、そしてissueの状態です。
Star、つまりお気に入りに入れられている数が多ければ多いほど利用者が多い傾向にあるので、高クオリティであるライブラリの可能性が高いです。
また、ライブラリに関する情報も、広く集めやすい傾向にあります。
次に更新日時と頻度。Starが多くても、こちらが古い場合は、「昔人気だったライブラリ」の可能性があります。
先ほども述べたように、更新頻度が少なくても高クオリティのライブラリはあるので一概には言えませんが、開発者のサポートは期待しない方が良いでしょう。
そして、最後にissue。GitHubのissueというのは、問題点や疑問点を上げて議論(Discussion)したり、解決したりする場所になります。
こちらが活発に動いていれば、現役で使えるライブラリの可能性が高いです。
なんでもかんでもライブラリに頼るのはもろはのつるぎ
ここまで、ライブラリの探し方をまとめましたが、なんでもかんでもライブラリに頼るのは危険です。
ライブラリを使用する場合、細かいところに手が届きにくくなったり、ライブラリが更新されなくなった場合の対応が大変になったりするなどのデメリットがあります。
また、ライブラリに頼ることに慣れてしまうと技術力がつきにくい側面もありますし、「ライブラリが対応していないから」とユーザーより技術優先のアプリ開発になってしまいがちです。
そもそも論、使おうと思ったライブラリの扱いが難しく、「自分で開発した方が早かった・・・」ということだってあります。
ですから、ライブラリを使って効率よく高クオリティのアプリを開発することも重要ですが、自分で考えて実装するという選択肢を忘れずに進めるのが大切です。
ライセンスはしっかり守り、ライブラリ開発者には感謝しましょう
最後に、ライブラリを使うにあたって当然のことを。
ライブラリには、ライセンスがついています。個人や企業の著作物ですからね。
大抵の場合は「MITライセンス」などと呼ばれるライセンスを採用して、ほぼ自由に使えるようになっていますが、しっかりと確認してから使うようにしましょう。
無料で使える場合も、著作権表示が必要になる場合は多いです。
あなたの求めるライブラリをつくって、気前よく公開してくれた開発者の方に感謝し、しっかりライセンスを守って利用していきましょう。
というわけで、今回はここまで。じゃあの!