- DroidKaigiのメモ書きを随時アップロードしていきます
- スライドは上がり次第こちらに貼ります
スライドが上がっていたので公式の情報は以下をご参照ください。
https://speakerdeck.com/wasabeef/day1-keynote-in-droidkaigi-2016
発表者/発表内容
- @wasabeef_jp
- CAで作っているアプリのOSSの話
- 採用したライブラリの紹介
- 安定した(枯れた)ものを使う
- 実装方針・設計の話は今回はなし
動向を追うためにやってること
- github
- Android Weekly/Arsenal
導入
- 少し前は解像度や機種依存がよく取り上げられていたが...
- 現在は4系が主流になってきた
- 開発手法がよく着目されている
言語は?
- Kotlinは今回は選ばなかった
- GoogleがKotlinをどう見ているのかがまだ分からないため
- Javaを採用
- RetroLambda
- etc...
RetroLambda?
- Lambda
- MethodReference
- Lightweight-Stream-API (OSS)
- Stream
- Optional (!)
ThreeTen Android
- JSR-310
- ジェイクさん?謹製
- 時間の取り扱いがとても楽にできる
View
- やっぱりSupport Library使うよね
- RenderScript
- PercentRayout
- weightを使わなくてよくなる
- あとAndroid-ObservableScrollViewもよく使うよね
- RecyclerVire, ScrollView, ListViewなどのスクロール制御の監視
- ずっと使い続けられると思われるため
フォント系ライブラリ
- Calligraphy
- アプリ全体にFontを適用
- Javaからも可
ViewAnimator
- アニメーションのコードはとても煩雑になりがち
- ViewAnimatorを使うとすごくすっきりかける
- 2ヶ月くらい前に出たばかり
DataBinding
- Android Data Binding
- Googleの中でもKotlinを使っている(!)
- CustomSetters
- Attributeの煩雑な書き方をしなくて良くなる
- DataBindingUtil
Networking
- Retrofit + OkHttp一択かと
Json
- プロトコルバッファ?を使っている
- 帯域の節約になる
- Wire
Percelables
- パーセラブル?
- Parceler
- AnnotationProcessingできる
- ActivityからFragmentにBundleでデータを渡すときとかにすごく楽
- Icepick
Image Loaders
- 海外だとUniversal Image Loader
- Picasso
- シンプル
- デバッグができる
- Picassoはとても軽いところが優秀
- Glide
- Picassoとの違い
- Gifを取り扱える
- ブラーをかけた状態でBitmap Poolできる
- Fresco
- Viewが使える
ブラー系ライブラリ
- blury
- Android StackBlur
- GPUImage
- フィルターがかけられる
- CA製ライブラリ
DI
- Android Annotationはもう古い
- Dagger2
- Butter Knife
- OnClick
- OnTextChange
- OnForcusChange
FRP
- RxJava
- 非同期、リスト操作が簡単
- RetroLambdaがないとつらい
- Retrofitと併用するのがよい
- Leakが怖い
- Subscribeしているかを確かめながら
- mapの中でindexを使いたければ...rxjava-extra
- RxAndroid
DB/ORM
- ActiveAndroidを昔は使っていたが...
- Realm
- SQLiteでない
- RxJava?
- Android Orma (gfxさん謹製)
- SQLite
- Annotation Processing
- RxJava
Event
- Otto
- Deprecated
- EventBus
- Threadの指定ができる
Debugging
- Timber
- ログを吐き出す
- Hugo
- Stetho
- Chrome Developer Toolsを利用してNetwork、Dataの状況の把握ができる
- Android Studioと何が違う?
- LeakCanary
- メモリリークを検出
- Takt
- wasabeefさん謹製
- fpsを表示できる
- Clashlytics
Other
- Multi-Dex
- メソッド数が65000に制限する
- 65000を超えるとビルドできない
- 最新のAndroid Studioだと動かないので注意が必要
- ProGuard
- ソースコード難読化
- 不要なリソース、ファイルの削除ができる
- 不要って?定義が難しい
- Conclusion
- 今回扱ったライブラリ数が60個以上
- あのライブラリを使えば、あのライブラリが使えるetc...