コード日進月歩

プログラミングの技術的なメモなど

DroidKaigi2018 に行ってきたよメモ

最近まったくAndroidアプリを書く機会&暇がないけど心はネイティブアプリ開発者なので なんとか行ってくることができたので見たスライドごとのまとめ

1日目の発表

Kotlin アンチパターン

感想

  • 言語仕様的な部分もあるが使い勝手的な部分も多い
  • Dataクラスとか便利だけど振る舞いとか継承とか考えるとうーんってなる感じ

How to improve your MVP architecture and tests

感想

  • MVPの成り立ちとテストに関してフィーチャーした話
  • Webのテスト開発の概念を投入するの大事
  • E2Eで振る舞いのテストをするのは大変なのでなるべくユニットテストに落とし込もうねという大事さ…

関連リンク

Android における Model-View-Intent アーキテクチャ

感想

  • Fluxのような一方通行モデルとReduxのような状態変化を意識したアーキテクチャの解説
  • 状態(state)と行動の結果(result)をreduceして新しい状態(state)を作って、そのstateの状態だけをみてRenderingするという考え方は他のところでも使えそう(というかReduxがやってるけど)
  • stateとstateのトランジションどうするんだろう、とは思った

関連リンク

Widget開発再訪

感想

  • ホーム画面におけるミニアプリだけど使えるViewも制約が多いし、動きも制約が多い
  • WidgetがAndroidO(8.0)から簡単におけるようになるので利用用途広がりそう

まだAPI定義管理で消耗してるの?〜Swaggerを用いた大規模アプリ時代のAPI定義管理とコードジェネレート〜

感想

  • Swagger事例
  • やっぱりまだKotlinだとcodegenが整備されてないっぽいので全自動化の夢はまだ遠そう
  • そう考えるとGRIPHONE社の事例はすごいなと思う

関連リンク

実例で理解するMaterial Design Animation

感想

  • 実例を交えたアニメーションの説明
  • 動きの知見もあったけど、AfterEffectsでJSON書き出しするものがあるとは知らなかったのでそっちの発見もあった

関連リンク

Kotlin版CleanArchitectureのテンプレート作ったら爆速開発になった話+α

感想

  • CleanArchitecture(というかレイヤードアーキテクチャ)にありがちなたくさんのコードをテンプレート化してコードジェネレーターを作るという発想
  • ある程度カスタマイズできるようにはしているとのことなのでforkしてチェックするのも良いかも

2日目の発表

アプリを成長させるためのログ取りとログ解析に必要なこと

感想

  • ログ取得は泥臭くやらなきゃという話
  • 取得はFirebaseAnalyticsとかTresureDataのプラグイン使えば再送とかよしなにやってくれるのに巨人の肩に乗っかるべきだよね…

関連リンク

なんとなく動いているProGuardから脱出するために

感想

  • Proguardで削除・難読化されたりするロジックを知れば対策は十分取れるよという話
  • ログ解析のセッションの話と併せるとシステムロジック的に難読化していいものと、ビジネスロジック的に難読化しちゃいけないクラスがありそう

すばらしきGraphQLのセカイ

DroidKaigi 2018で『すばらしきGraphQLのSEKAIへようこそ』という発表をしました - Islands in the byte stream

感想

  • ドメインでデータをしぼりこんでうにゃうにゃというのがもはやViewのレイヤーでやってしまおうという豪快さを感じる

関連リンク

All you need is isolating the domain (How to apply DDD to Android Application Development 2)

Y.A.M の 雑記帳: Android アプリの開発でドメイン駆動設計に取り組む話

感想

  • 1年越しの後編
  • 主にAndroidで適応できる値オブジェクトの話が中心
  • APIとは腐敗防止層として考えながらオブジェクトを形成したほうがいいよねって話でした
  • ツイートしてる人もいたけどここらへんは「現場で役立つシステム設計の原則」を読むと良いかも

関連リンク

アプリをエミュレートするアプリの登場とその危険性

感想

  • まるっとバイナリをコピーしてアプリの中でアプリを擬似的に起動する技術
  • プロセスを覗くぐらいしか現行判断基準がない
  • コレに限らずdataディレクトリの中身は容易にコピーできるのでちゃんと暗号化しようねという教訓…

関連リンク

複数センサーシミュレーションによる行動認識(ActivityRecognition)解剖、そして実用化

感想

  • アクティビティ(本来の英語の意味)がすごい混乱の元だなと思い、ユビキタス言語整理したほうがいいんじゃないかと思うレベル
  • Android端末には加速度センサーぐらいしか最低限ないだろうという意図を感じる実装だった

開発者が知っておきたい通知の歴史

感想

  • ここまで通知に関して網羅しているのはあまりないので貴重な資料な気がする
  • ダイレクトに返信できるの便利だけどOS差異から採用されなそうなヤツ

関連リンク

全体感想

  • Android界にちゃんとアーキテクチャを考えて設計しなければ論が普及してきた感じ。
  • 去年も思ったけどお弁当とか食べ物とかバリスタとか、飲食系のホスピタリティがすごい
  • アフターパーティーも豪華だったし、何故かアーケードゲーム筐体があったのにビビる
  • CONBUすごい

全部を見たい方へのスライドリンク