Help us understand the problem. What is going on with this article?

Keynote: OSSの動向をとらえた実装方針のメモ

More than 1 year has passed since last update.
  • DroidKaigiのメモ書きを随時アップロードしていきます
  • スライドは上がり次第こちらに貼ります

スライドが上がっていたので公式の情報は以下をご参照ください。
https://speakerdeck.com/wasabeef/day1-keynote-in-droidkaigi-2016

発表者/発表内容

  • @wasabeef_jp
  • CAで作っているアプリのOSSの話
  • 採用したライブラリの紹介
  • 安定した(枯れた)ものを使う
  • 実装方針・設計の話は今回はなし

動向を追うためにやってること

  • github
  • Android Weekly/Arsenal
  • Twitter

導入

  • 少し前は解像度や機種依存がよく取り上げられていたが...
  • 現在は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...
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away