DroidKaigi2016 2日目 参加レポート

DroidKaigi2016、2日目も参加したのでレポートを記載します。 …目黒でやってたDevSummitで発表されたSoracomの新サービスに目移りした瞬間もありましたが、いい話ばかりでよかったですよ。

基調講演「Support Libraryノススメ」「Support Library Internal」

発表者はGoogleのArakiさん。

いま現在出ているsupport libraryにどんなものがあるか、各々のサポートライブラリにはどんな機能があるか?をお話しされてました。多くて(私が理解しきれているものが少ない)のでここでの学びは

  • Fragmentは「android.app.Fragment」でなく「support.v4.app.Fragment」の方を使うべし。(support.v4の方が標準APIのFragmentで発生していたバグが修正されているため。)

  • Viewの代わりにAppCompatViewみたいなのがあるが、これにわざわざ書き換えなくても良い。

  • RecyclerViewはListViewの後継となるクラスだが、無理して入れ替える必要はない。

  • compileSdkVersionとサポートライブラリのバージョンが揃えること!それを前提にして作っているみたい

  • DesignSupportLibiraryはappcompat-v7使用を想定している。

  • TabLayoutとViewPagerと連携するにはtabLayout.setupWithViewPager(viewPager)かけばOK

です。しっかしほとんど知らないものばかりだったので勉強になったなー。これらを自分の言葉で説明できるようにしっかり消化していかないとなー。

セッション1「クックパッドにおけるAndroidエンジニアの役割とその変遷」

発表者は@sys1yagiさん。

speakerdeck.com

クックパッドのAndroidアプリを作り上げていく過程でAndroidエンジニアがどのように問題に立ち向かって解決していったかを話してくださりました。クックパッドのエンジニアって本当に神クラスにすごいからきっとすごいことをやっているのかなー?と思ったら一つ一つは自分たちでもできそうなことばっかりだったので目からウロコでした。 ひたすらKPTを繰り返し課題をあぶりだし、リリースしたら実はトラブってたというのを防ぐためチェックリストを作ってリリースマネージャというリリースに関して責任をもつ、ってがんばれば自分たちでもできそうな気がします。 ただ、この発表を聞いて、さすがと思ったのは品質を保つために「プログラミングの仕組み化」をしなかったことだと思います。つまり「技術力が多少あれでも最低限の品質が保証されるコードが何もかけずにかける」システムを構築しなかったことです。SIerだとこの方法を使って、単価のやすい派遣さんにどんどんコーディングさせて自分たちは頭を使うことしかしないみたいな感じになって技術力があってもむくわれない!みたいな構造が出来上がっていくのです。技術的な感度をからせないために?この仕組み化をしないで上級者に合わせた方法を貫き通していた、というのはすごいと思います。

セッション2「パフォーマンスを追求したAndroidアプリを作るには」

発表者はt.eggさん。

パフォーマンス…特に省電力に特化したノウハウについて話されていました。パフォーマンス測定するのにUSBにつないでやるのは測定の精度はでないんですね…肝に銘じます。。。あと、JobSchedularやDozeなどを使って省電力化していく、という方法も紹介されていました。

セッション3 「Android,Brillo,ChromeOS」

発表者は@l_b__さん。

www.slideshare.net

Brilloという単語に惹かれて聞きました。しかし、実際は各OSの内部構造についての解説でした。これはこれで貴重な情報だと思うのですが、この手の議論になれていない私にとってはかなり消化不良な感覚を覚えました。。。

セッション4 「Androidエンジニアになって2年の学び」

発表者は@ryugoo_さん。

speakerdeck.com

技術的に斬新なことがないみたいな感じで謙遜してらっしゃいましたが、これはすごく聞きごたえがある内容だと思います。本当に技術力がある人になるために必要な観点を自身の経験を踏まえて話していたのは素晴らしかったです。高等なテクニックを駆使する…というよりあることを実装するのにいくつか方法があるがそれらについて一つずつ検証していく!というのは地味ながら一番大切なことだと思います。あと、流行りとかGoogleが言ったから、といってそれを盲目的に信じていくと痛い目見るからちょっと疑ってかかって…というのもものすごく共感できます。 …というかこの方Android歴2年とは思えないくらいいろいろ知ってるなーと思いました。私がAndroidやって2年たったころって本当にたいしたことなかったしなー。。。

セッション5 「Fireside chat」

DroidKaigi2016の公式アプリの開発に携わったメンバーたちによる開発苦労話。

最初は@konifarさんが実践的なサンプルみたいな形で作ったのがきっかけで…そこからたくさんの人がPull Requestだして…みたいに膨れ上がったもの。issueベースでContributerたちとコミュニケーションをとって…というのが斬新だなと思いました。仮に現職のチームでこれを導入しようとしたらなかなかうまくいかないんじゃないかなー。これがうまくいくのって「やるきとこだわりがあるエンジニアがチームの9割を占めている場合」に限られていると思いますが…。 ただ、@konifarさんが仕事とか発表準備とかでいろいろ大変だった間にみんなががんがん開発してくれて気づいたらissueがどんどん消化されていた、というのに「オープンソースすごい!」と思いました!!

その後・懇親会

所用があって私は18:45までしか入れませんでしたが、いろいろな方とお話しさせていただきました。やっぱりSIerって人はいないようだなー。あ、あと八木さんとちょっとでもお話しできたのはうれしかったですね!

総括

2日間通しての総括ですが…非常に勉強になる2日間でした。ABCだと製品の紹介とかふわっとした内容がメインだったりするのでこういうゴリゴリの開発メインのものがセッションの大部分をしめるのは非常に良かったと思います。 あ、ただ、1つでもいいからビジネス開発視点、マーケット視点で見た開発ノウハウっていうのがあれば聞きたかったなーと思う今日この頃です。そういうセッションが今後のDroidKaigiで出てくることを期待しています。