新米Androiderが開発する上できっと役立つであろう10のサイト | サイバーエージェント 公式エンジニアブログ
はじめまして、 ogaclejapan です。
昨年の6月にサーバサイドJavaエンジニアからAndroiderへ暗黙な型変換でジョブチェンジしました。会社ではAmeba事業本部でAndroidアプリの開発を担当しています。


いや~、もうすっかり春ですねー
春といえば・さく・・・DroidKaigiーーー!!
Androiderとしてはぜひ参加したいイベントですねー

昨年6月Androiderへ転身してもうすぐ一年になりますがこの一年間を振り返ると、
自作アプリ1つとライブラリを3つ公開とAndroid漬けな1年でした。
春ということで、これから入社する新入社員や新しいことにチャレンジする人も多い時期だと思います。今回は新米Androiderが開発する上できっと役立つであろう10のサイトを紹介します。


最初に目を通しておくとよいサイト2選

これからAndroid開発するにあたって見ておいてほしいサイトを2つご紹介

1. Android Development Training Course Repository

株式会社mixiが公開しているAndroidアプリ開発のトレーニングサイト
https://github.com/mixi-inc/AndroidTraining

Androiderの登竜門的なサイトです。私も昨年お世話になりました。
とりあえずこれ全部目を通しておくだけでもかなり役立ちます。


2. Best practices in Android development

Android開発に関するベストプラクティスが文章で公開されてます。
https://github.com/futurice/android-best-practices

(日本語訳はこちら)
https://github.com/futurice/android-best-practices/blob/master/translations/Japanese/README.ja.md

いきなりAndroidを始めたばかりの開発者には若干敷居高いですが、
かなり実戦的なベストプラクティスなので必ず読んでほしいサイトです。


とても参考になったAndroidアプリプロジェクト3選

新米Androiderがいざアプリ開発を始めると、色々な疑問が次々に湧いてきます。

・どういう構成で作ったらいいんだろうか…?? (´・ω・`)
・一般的に使われているネットワークやDBまわりのライブラリは?? (´・ω・`)
・リソースはどんな感じ定義すると管理しやすいのかな?? (´・ω・`)
・Gradleでビルド?どんな感じで書けばイケてる?? (´・ω・`)

ということで、
自分が去年Androidを勉強する上でとても参考なった4つのアプリをご紹介

Google Samples

1つ目はGoogle社が公開する実装Sampleアプリです。
https://github.com/googlesamples

Android Developersでも以前からサンプルはありましたが、昨年GitHubで公開されました。公開されているサンプル数がすごいので何かしら実装の参考になると思います。

Google I/O Android App

2つ目はGoogle I/O 公式アプリです。
https://github.com/google/iosched

やはりGoogle純正アプリということで、お手本的な存在ですね。

・リソース命名規則
・APIバージョンの処理切り分け
・パッケージ構成

などなど困ったときはとりあえず参考に真似してみるのがいいと思います。
毎年Google I/O開催後にコードが公開されるようなので、
今年も使われているライブラリなどは要チェックです。


Rebuild.fm for Android

3つ目は有名なPodcastの非公式Androidクライアントです。
https://github.com/rejasupotaro/Rebuild

こちらは自分がAndroidを始めた当初よく参考にしたアプリです。
コード量がそんなに多くないので読みやすく、画像の取得からネットワーク通信やデータベース参照など、
一般的なアプリでよく使われそうな一通りの機能が実装されているので実用的なコードがたくさんあります。


U+2020

4つ目はAndroid界隈の巨匠JakeWharton氏がベストプラクティスを詰め込んだショーケースアプリです
https://github.com/JakeWharton/u2020

Dependency Injection(DI)といえばサーバーサイドだとSpringが有名ですが、
Androidでは巨匠が作るDaggerが一番有名です。

このアプリはDIを使う構成を前提にした場合のお手本的な存在です。
弊社でも最近DIを採用したプロジェクト構成で作るプロジェクトもちらほら見かけるようになりました。

DIだけじゃなく使われているライブラリも大変参考になるので、
先進的な構成でアプリを作るなら絶対ここは参考にしておくべきです。


イケてるAndroidライブラリが見つかるサイト2選

はい、次はライブラリです。

Gradleが昨年正式にAndroidのビルドツールとして採用されてから外部ライブラリが非常に使いやすくなりました。
使うことが許されない特殊な環境下でない限り、積極的に公開されているOSSライブラリを活用したほうがいいと思います。

ということで、
イケてるライブラリを見つけることができるサイトを2つご紹介。


Awesome Android

1つ目は弊社のAndroidリードエンジニア @wasabeef さん が運営するUI/UX & Coreライブラリまとめサイト

https://github.com/wasabeef/awesome-android-ui
https://github.com/wasabeef/awesome-android-libraries

昨年末すさまじいGitHubスターを叩きだした注目のライブラリサイトです。
UI/UXライブラリに関してはGIFや画像があるのでやりたいことから探す際にはベストだと思います。

私も最近メンテナーとしてお誘いいただいたので、いいもの見つけたら更新していきます^^


Android Arsenal

2つ目は世界的に一番見ている人が多そうなAndroidライブラリ&ツール全般を扱うサイト
https://android-arsenal.com/

ここの新着に掲載されるとGitHubスターがつきやすいので、
新着をチェックしている人はかなり多いのではないかと思います。

自作ライブラリを作った際には、
世界中の人に知ってもらうためにもここには必ず載せてもらいましょう。


Material Designで使えるアイコンサイト2選

はい、次はアイコンです。
そろそろ読み飽きてくるころだと思いますので、これ最後にします^^;

Material Design Icons

1つ目はGoogle社公開するのアイコン集サイト
https://github.com/google/material-design-icons

いやー鉄板ですね。個人で開発するときは重宝しまくりです。
アイコン作る敷居が高くて自作アプリを断念していた方も少なからずいると思いますので、
個人的には日本語に対応したNoto Fontと同じくらい公開でテンション上がりましたw

あとiconファイルの名前とか命名規則はとても参考になりますね。
デザイナーが作ったアイコン素材に名前つけるときにも参考として使えます。


Material Design Community Icons

2つ目はコミュニティーが提供するアイコン集サイト
http://materialdesignicons.com/

公式のアイコンに追加や削除を示すマークがついたものなど、こちらも色々あります。
Googleさんのアイコン集を探してみてお目当のものがなかった場合にこちらも見てみるといいでしょう。


おわりに

簡単なサイト紹介になってしまいましたが、
何かしらこれからAndroid開発を始める人の参考になってくれれば幸いです。

最後までお付き合いいただきありがとうございました。

それでは春のDroidKaigiでお会いしましょう(…抽選枠組ですが:P)