どくぴーの備忘録

真面目なことを書こうとするクソメガネのブログ。いつ投げ捨てられるのかは不明

potatotips #41 に参加してきました

potatotips.connpass.com

Yahoo! JapanさんのLODGEで開催されたpotatotips #41にAndroid ブログまとめ枠として参加してきました。 (2日ほど遅れてしまっていますが…)

当日の様子はToggeterからどうぞ

togetter.com

Android Tips まとめ

Physics-based Animations (rkowase さん)

qiita.com

Google I/O 2017中のAndroid Animations Spring to Life で発表された Physics-based Animationsに関するLTでした。

  • 物理法則や関数に従ったAnimationが簡単に実現できるようになった
    • 自然な見た目になり、視覚的違和感が軽減できる
    • Interpolator等を使っても関数のチューニングが必要だったりしたのでありがたい…
  • 途中で移動先の座標が変わっても自然に軌跡を修正してくれる
    • ちゃんと連続関数的になるように座標移動を修正している感じがすごい
  • 係数調整も自由度が高くて良さそう
    • SplingAnimationならバネ係数や剛性、FingAnimationなら摩擦係数など、ちゃんと係数レベルから調整できるのは細かい人には嬉しそう

Icon Fonts in XML (anikaido さん)

SupportLibrary 26で追加されたFonts in XMLに関するLTでした。

  • Fonts in XMLでレイアウトXMLでFont指定できるようになった
      • 従来ならCalligraphyでやっていたことがSupportLibraryでできるようになった、という感じ
    • これを利用してMaterial Icon Fontを導入したい
  • res/font/material_icon.ttfに配置して
  • android:fontFamilyで指定するとandroid:textで対応するASCIIコードを指定することでアイコンフォントが表示されるように
    • ASCIIコードを直打ちするの大変そう…、strings.xmlとかで対応付けしたい…

AsyncLayoutInflater vs Litho (KeithYokoma さん)

speakerdeck.com

非同期でLayoutのInflateを行うAsyncLayoutInflatorと宣言型のUIフレームワークである facebook/Litho の非同期UI読み込みを比較したLTでした

  • まだLithoはベータだけど非同期UI読み込みではAsyncLayoutInflatorのほうが速い
    • 相対的な大きさのせいか、AsyncLayoutInflatorの時間のブレが大きく感じる…
  • 1万のTextViewが並んだLayout XMLを見た後にLithoのforループで宣言できるのを見ると場合によってはとても良さそう

Android Font Updates (uecchi さん)

speakerdeck.com

本日二件目のフォントに関するLT。内容がかぶっていないDownloadable FontsとEmojiCompatに関するお話がメインでした

  • Downloadble Fonts
    • Google Fontsであれば端末内に入れることなく使えるようになった
      • FontとかにこだわってもAPKサイズを下げることができるので良さそう
      • CJK対応はまだなので日本で使われるようになるのは…
      • M以下で使おうとするとNPE… (´・ω・`)
    • 同じフォントはアプリ間で共有してリソース削減を狙う仕様は細かい配慮が効いていていいなぁと思った
  • EmojiCompat
    • Downloadable Fonts/APK Bundleで最新Emojiを古い端末にも適用させる機能
      • 豆腐削減の1手
    • Emoji/EmojiAppCompatHogeViewがある
      • TextView/EditText/Buttonがあるみたい
  • Android OからEmojiが丸くなるらしいです

swagger-codegenpojo生成 (kgmyshin さん)

swagger.jsonからPOJOを生成するswagger-codegenに関するLTでした。

  • リクエストやレスポンスがネストが深いときや複雑な構造になっているときにミスの可能性を減らせそう
  • 新規や後発で開発が始まったときにこういうことができると幸せが強い
    • swagger.jsonを使ってきっちりサーバサイドの仕様を決めている前提はあるが… ()

      Instant Apps (bina1204 さん)

www.slideshare.net

正式に使えるようになったInstant Appsの紹介LTでした。

  • Instant Apps 正式リリース :tada:
    • インストールいらずになる
    • どこからでもアクセスできて
    • 5.0移行でも動くようになるはずの
    • 既存のアプリにちょちょいと手を加えて動く様になる機能
  • Module細分化してAndroidManifestにエントリーポイントを貼るとok
  • デバッグ仕様だとUpdate Error -27なのでInstant Apps版のアプリをアンインストールしてから入れよう
  • 4MB未満が推奨されてるけど10MBでも動くよ!今はとりあえず!
  • Nearbyと組み合わせてイベントとかでNearby範囲内に入ったときにイベント専用アプリをインストールさせる、とか楽しそう

自動テストが無ければDeviceFarmを使おう (としさん)

openSTF/AWS Device Farm/Firebase Test Lab といったAndroidクラウドテスト環境に関するLTでした。

  • いろんな端末で自動テストが走る
  • 最近は自動テストがなくても走る
    • OpenSTF/AWS Device FarmはMonkeyTest
    • Firebase Test LabはRoboTest
    • Firebaseのほうがある程度こちらで制御できる部分があったりして賢くできそう
  • AWS DeviceFarm/Firebase Test Lab
    • AWS、Firebaseも無料枠が出来た
  • まだ発展途上だけど、やれることレベル的にFirebase Test Labが一番強そう

感想

前回(#21だったはず)に出たときもブログまとめ枠でした。今回も濃い内容で充実した時間でした。毎回こういう勉強会に出ると「次こそは発表したい…!」ってなるのでモチベーションを維持して行きたいです。

会場・お寿司・お酒を提供してくださったヤフーさん、どうもありがとうございました!

次回参加するときがあればよろしくお願いいたします!