しばらくディレクション・マネジメント業をしてきましたが、3年ぶりに仕事でAndroidを書くことになりました。
新規開発は4年ぶり。やることは盛りだくさん。
最新事情に追いつくのに参考になった・なりそうな資料をまとめておきます。
IDE: Android Studio
そこから!?という。3年前はeclipseでした。
個人では多少触っていますが、使っていない便利機能などある気がしています。
言語: Kotlin
- 入門までのKotlin助走読本(PDF)
- Kotlinスタートブック
Kotlinスタートブック -新しいAndroidプログラミング
- 作者: 長澤太郎
- 出版社/メーカー: リックテレコム
- 発売日: 2016/07/13
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
助走読本は超最新。Kotlinスタートブックはとても人気ですが、一部古くなってる情報もあるそうなので注意して読みます。
通信・非同期処理・ORM・DI
- Kotlin + RxJava + Dagger2 + Orma + Retrofit で作るAndroidアプリ [スライド](動画は↓)
news.realm.io
詳細は各公式資料を読むとして、人気の構成の概要を掴めました。動画だと大変わかりやすいです。
RxJavaは本でも勉強するつもりです。この本は評判は良いものの、初めてだと難しいとの声もあります。
RxJavaリアクティブプログラミング (CodeZine BOOKS)
- 作者: 須田智之
- 出版社/メーカー: 翔泳社
- 発売日: 2017/02/17
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
layout
- Exploring new Android layouts [スライド](動画は↓)
news.realm.io - Codelab Using ConstraintLayout to design your views
- Colorful Android 第2章 by yanzmさん
techbooster.booth.pm
上2つは英語ですが、アニメーション画像が充実しているのでたぶんわかります。
動画を見る「これは良さそう〜」
→Codelabする「たのしー!」
→Colorful Android読む「XMLだとこうなのかー」と理解が進みました。
Android Studio 3.0では少し画面が変わっていますが、カーソルを合わせたり展開したりすれば欲しい機能は見つかるはず。
他にレイアウトでいうと、RecyclerViewも当時はありませんでした。
fragment
最近改訂版が出たので、これを読んでおけば間違いないでしょう。
通知
- FCM Firebase Cloud Messaging | Firebase
- Notification 通知 | Android Developers
3-4年前は下手するとC2DMでしたが、今はFCM。UIも様変わりしています。
UI周りは最新を追っているので、実装の仕方を追います。まだ 通知チャンネル までは対応しません。
リソース
最初に決めないとぐちゃぐちゃになるのが目に見えているので、これに則っておくつもりです。
デザイン共有
sympli、何これすごい便利〜〜〜ってなりました。(zeplinも機能はほぼ同じようです)
指示書不要でサイズや色コードがわかるし、解像度ごとで部品書き出せるし、コメント残せるし、
sync押してもらうだけで最新デザイン見れるし、まだ試してないけどAndroidStudioプラグインもあるらしい〜
ディレクションでアプリには携わってるのに知らなかったのを反省。便利な時代になったものです。
何を使うか未定
設計: MVP / MVVM
大事なのに未定。DataBindingが出てからMVVMが主流かと思ったんですが、MVPも多そうな肌感です。
そういえばDroidKaigi2017でCyberAgentさんがアンケートしてたな?と見返してみました。
拮抗してますね。正解は無く、アプリの性質やチーム次第という理解なのですが、
どちらの知見も無くまっさらな状態だと悩みます。
画像ライブラリ: Picasso / Glide
CAさんのアンケートではPicassoがやや優勢。これもアプリ次第という印象ではあります。
最近あまり話題にならないので、もし違ったら教えてください。
デバッグ
Stetho, Timberなど色々あるしAndroid Studio 3.0からは Android Profiler(旧Android Monitor) が出て高機能化しているので、
そちらとかぶっているライブラリもあるのか、まだよくわかっていません。
これから考える・調べる
テスト、セキュリティ、gradle、アニメーションなど。あとはアプリ独自機能に関連する技術。
「これ読んでおくとスッと入れるよ!」とか「最初にこれもやっとくといいよ!」とかあったら教えてください。
これぐらいおさえておけばそれっぽく作れるのでは〜〜と思うことにして、
あとはコードを書きながらまた調べていきたいと思います。