先日「Androidアプリ開発って、どうやって勉強したらいいですかね?」という質問を受けたので、そのときに話した内容に少し追加して、まとめてみました。
ネット上の情報だと断片的で、体系的な学習に使えそうなものが少ないですし、書籍だと何を買ったらいいか選ぶのも難しく、かつ値段も高いという悩みが多いと思います。そのあたりの敷居を下げつつ、きちんとした内容で学習できそうなものを、独断と偏見でピックアップしました。
1. Android アプリ開発の雰囲気を知る
最初はまず Google の Android アプリ開発者向け公式サイトを、ざっと見てみるのがいいと思います。 内容を理解するのは後回しにして、何となく Android アプリ開発の雰囲気を感じてみると、その後の学習も捗ると思います。
サイトは主に以下のようなセクションに分かれているので、参考にしてください。
- 設計
- デザインやユーザー体験について、ガイドラインなどが書かれています
- アプリ内で使えるアイコンやデザイン・テンプレートなどの素材も用意されています
- 開発
- さまざまなAPIの使用例やリファレンスを確認できます
- 開発に必要な各ツールのダウンロードができます
- GooglePlayServices の使用方法を確認できます
- 配布
- GooglePlayStore にアプリを公開する手順を確認できます
- マネタイズやユーザー獲得についての情報を得られます
- DeveloperStories の動画を見られます(最近日本のFablic社も取り上げられました)
2. Android の仕組みを学ぶ
Tech Institute アプリ開発者養成講座テキスト
今年の夏まで、開催されていたプログラミング・スクールで使用された教材が、無料PDFで公開されています。
開発環境のセットアップやプログラミングだけでなく、デザインやセキュリティ、プランニングなど幅広い内容が網羅されてます。 たくさんの著者(=講師)が参加しており、それぞれが所属する企業などでAndroidアプリ開発の第一線で活躍されてる方ばかりです。
Vol.1 〜 9 に分かれていて、以下のような構成になっています。
- Vol.1: ファーストステップ
- コンピューターとスマートフォン
- 初回のプランニング
- 開発環境セットアップ
- ためしてわかる Android のしくみ
- Vol.2: 基礎編
- UI の基礎知識
- プログラミングとは何か
- Vol.3: ステップアップ編
- ユーティリティによる実践
- Java って何だ
- Vol.4: 応用編
- Android のしかけ
- UI のカスタマイズ
- Vol.5: 機能編 1
- ストレージ
- Android アプリのバックグラウンド処理
- ゲームによる実践
- Vol.6: 機能編 2
- マルチメディア(AV)
- 外部ライブラリの利用と作成
- センサーの読み方
- Vol.7: 機能編 3
- ネットワークプログラミング
- Web サーバー
- Vol.8: 機能編 4
- 多機種対応
- ローカライズとアクセシビリティ
- セキュリティ
- Vol.9: 実習編
- オリジナルアプリのプランニング
- オリジナルアプリの設計
- GooglePlay にアプリを公開する
- レビューとブラッシュアップ
mixi-inc AndroidTraining
mixi社が公開している、Androidアプリ開発向けのトレーニング教材です。
さきほどの Tech Institute の教材と比べると、よりプログラミングに重点を置いた内容になっています。 そのためユニットテストやアーキテクチャ設計などにも触れています。
以下のような構成です。
- 1: まえがき
- Android-OS について
- 開発環境の準備
- プロジェクトの作成(AndroidStudio)
- プロジェクトの作成(Eclipse)
- Android のビルドについて(Gradle)
- 2: 基礎編
- アプリのレイアウト作成
- Activity と Fragment
- アプリのリソース管理
- メッセージングと通知
- ActionBar とインタラクション制御
- ListView と ViewPager
- 直列化とコレクション、永続化
- 非同期処理
- ネットワーク通信
- データベース
- テスト(AndroidStudio)
- テスト
- Handler と Looper
- WebView
- AccountManager
- ContentProvider の発展
- 3: 実務編
- デバッグと自動ビルド(Eclipse)
- 自動ビルド(AndroidStudio)
- アーキテクチャ設計と DI
- 続・アプリのレイアウト作成
- ユーザインタフェース設計
- セキュリティ
- Google API
- Google Play Service
- クラウド同期
3. 簡単なアプリを習作する
習作とは、練習のために何か作品などを作ることを言います。
アプリ開発でも、いきなりオリジナリティを追求するのではなく、開発に慣れるためのアプリを1つ作ってみると、初級者から中級者へのステップアップに繋がります。
ベタな題材としては、メモ帳アプリ/ToDoアプリ/電卓アプリなどは、通信処理を実装しなくても作成可能(いわゆるスタンドアロンなアプリ)なのでおすすめです。通信を含めると、習作に Twitter クライアントを作成する人が多いように思います。
4. 面白いテーマに触れる
ある程度、基礎的なことを勉強しているとモチベーションも下がってくると思います。 そんなときは、何かワクワクするようなテーマを探してみるといいかもしれません。
おすすめは techbooster という技術サークルが、コミケで販売している書籍です。 最新の技術を中心に、とにかくいろんなトピックが盛り込まれていて、宝箱のような本になってます。 もちろん内容のクオリティも高く、Google のエンジニアも太鼓判を押すほどです。
年末には冬コミ版も発売されるはずなので、気になる人は今からチェックしておきましょう!
5. Android アプリ開発者のためのイベント
最後に告知になりますが、来年2月18日19日に DroidKaigi 2016 というイベントが開催されます。 もうすでにイベントページは公開され、募集も始まっていて早期割引枠は完売となってますが、学生割引と一般枠は申し込み可能です。(12/7時点)
年内にはタイムテーブルが発表されると思われます。初級者向けのセッションもあるので、これからAndroidアプリ開発を始めたい人や、始めて間もない人も楽しめるイベントだと思います。