こんにちは, またくです。
DroidKaigi 2日目の記録です。


Android ORMの選び方 by @gfxさん

Android ORM について, インターフェイス, マイグレーション, パフォーマンスについて検討し, どう選んでいけばよいかというお話でした。

シンプルな Helper から, SQLite Database の O/R Mappers, Realm のような Non-SQlite Database を対象にしています。
パフォーマンスとともに, OSS のものを選ぶ際には, ドキュメントの質や, コミッターの数, 最近活動しているのかという所も見ておかなきゃなという気持ちになりました。

Realm 良かったし, Realm で良いかなという感じでしたが, gfx さんが開発している Orma, ドキュメントも充実していたので一度使ってみようと思いました。


How to implement material design animation by @takahirom さん

マテリアルデザインのアニメーションについてのお話でした。

モーションの原則は, Responsive, Natural, Aware, Intentional である。 モーションはユーザーに考えることを減らし, 分かりやすくするという点で重要であること。 そして, それをマテリアルデザインでどう表現するかを, コードを交えて発表してくれました。

アニメーションの継続時間として, 400 ms を超えないようにしないというお話がありました。 これは 175 ms から 375 ms の間で, 動かす距離や端末の大きさによって調整するといったものでしたが, アニメーションがストレスになる境界線がこの辺なのかなという認識です。


Data Bindingで実現するMVVM by @STAR_ZERO さん

Data Binding を用いて, Android で MVVM アーキテクチャを実現するお話でした。

MVVM の目的は, プレゼンテーションとドメインの分離で, これによりテストがしやすく変更に強くなるといったものです。そもそもこれは, Data Binding を使えば良いというものではありません。

ViewModel の変更を View 通知するイベントを考えると, Android では RxJava や EventBus というサポートが必要らしいです。

MVVM アーキテクチャをやるにあたり, Model, View ViewModel の各レイヤーでやること, レイヤー間でどう通知を受け取るかの方法を知っておく必要があるのでした。今は MVP アーキテクチャに興味があるので, 一旦そっちを学んでから見てみようかなと思っています。比較対象がないと自分の中での考えが持てないと思うので。



4年続くアプリにおけるチーム開発 by @cutmail さん

フリルの Android アプリ, チームがどう成長してきたのかについてのお話です。
コーディング規約が基本的に Cookpad さんのものに準拠している所にオープンソースとしての影響を感じます。(https://github.com/cookpad/styleguide/blob/master/java.ja.md)

フリルにはユーザーに聞く文化がある, ということはその意見を取り入れて改善しているステップが存在していると思うのですが, 何らかの要望を取り入れて改善してくれるのってとても嬉しいです。それが文化として根付いているんだなぁと感じました。

加えてユーザーインタビューをする時に, どう対象の方々を集めるかっていうのは考えなきゃいけないところですが, 社内の CS さんがみんなユーザーであるのはいいですね。それをやるのがエンジニアであったり, リリースノートをエンジニアが書いたりと社内に良い文化が根付いているんだなと感じられる発表でした。

個人的には途中で紹介されていた ユーザーに受け入れられ、問題を起こしづらい大規模リニューアルの進め方 も気になりました。


2日間 + アフターパーティーと本当に楽しい2日間でした。個人的には Kotlin やっていくぞ!という気持ちです。

アプリを作っていくにあたり, あーここがそうだったのか〜とか, ここの構成こうしたほうが良いな〜みたいに, 2日間のお話を再度理解する時がやってくると思うので, それを早く味わわないといけないですね。

運営の皆様, ありがとうございました!