Google for Mobile に行ってきました

会社さぼって、もとい直行直帰で横浜までGoogleのイベントに行ってきました。

終日イベントにも快く送り出してくれる良い会社です。 リクルートもしてるので、エントリーはこちらから

さて、この1日分の仕事どっかでリカバらないと。。

キーノート

久々のイベント参加でしたが、なかなか面白かったです。 こういうとこに行く楽しみは、テック業界のフロントランナー達のトラックを聞くのも、もちろんですが、それ以上に参加者を眺める、に尽きます。 当たり前といえば当たり前ですがうら若い女性エンジニアからスーツを着たいかにもなリーマン、腹の出た気むずかしげなおっさんまで、とにかく老若男女色んな人たちがいて、この種々雑多な人たちと同じクラスタに居るんだな〜と思うとなんか感慨深いものがあります。

大桟橋ホールのトラック会場を移動する人々

さて私自身、Androidアプリデベロッパーですのでその視点から面白かったものを拾ってみます。

Android Studio 2.2

Android StudioとはAndroidアプリ開発に使う開発環境のことです。これがないとアプリ作れません。もとい作ることはできますがめっちゃハードルがあがります。 Androidニュービーにも簡単にアプリ作成の門を開く。それがAndroid Studio(以下AS)です。

その昔はEclipseというIDEにAndroid Developer Toolというプラグインを追加した環境を使用していたのですが、よりモダンで気が効いているIntelliJというIDEベースのものに変わりました。 個人的には使い勝手自体はそれほど変わらないと思っていますが、Gradleを使ったビルド周りだけは、antベースのADTより確実に進化していると感じます。ASの話題ではないんですけれども。

レイアウトにConstraintLayoutとFlexboxLayoutが追加

一人前のデベロッパーとして、AS付属のレイアウトエディタになぞ頼らずxmlをガリガリ編集するのだ! というか、エディタが使い物にならないので、それが唯一の選択肢だ! ADT時代からその辺はまったく進歩しとらん! というのが Androidアプリデベロッパーの共通見解だと思うのですが、ようやくまともに使えるものがでてくるようです。 その名もConstraintLayoutとそれをサポートするASのGUIエディタ。

ConstraintLayout

Androidのレイアウトを組むときはだいたいLinearLayoutとRelativeLayoutを組み合わせて作ると思うのですが、そういったようにLayoutGroupをネストさせてデザインすると、描画速度に悪影響があるとのことです。 知らんかったよ、というか知っててもそれ以外に手はないんですけれども。 ConstraintLayoutであれば、ほぼそのlayoutのみでデザインできるらしく、LayoutGroupのネストも不要になりパフォーマンス的にもよし?とのこと。 これは使うしかありません。

ただ気になるのは、そのネーミングといい使い勝手といい、これってiOSのStoryboardそのままでは? というあまりにクリソツな出来でした。 Appleにさされないよね?これ。

まあ、StoryboardはほぼGUI一択でのレイアウトデザインになるため、むしろ設定ファイルさわらせろ! というジレンマがあり、あまり好きになれなかったのですが、ある程度のものがGUIで作れ、さらに生成されたxmlを手で編集できるのであれば結構いいなーと思いました。

FlexboxLayout

そしてもうひとつがFlexbox-layoutこれも名前まんまな CSSのFlexboxをAndroidのレイアウトに使えるというシロモノのようです。 大丈夫か?このパクリっぷり。。

一昔前のCSSといえばfloatでの段組。そこで地獄を見た身としては、Flexboxは結構好きです。でもConstraintLayoutが十分使い物になるなら、これは覚えなくてもいいかな。 ただ日本のエンジニア @thagikura氏が書いているのでぜひ盛り上がってほしい気持ちもあります。

FlexboxLayoutのページ https://github.com/google/flexbox-layout

頑張れ。

Firebaseとの連携

Android StudioからシームレスにFirebaseへの接続(と言っていいのか?)が行えるようです。これはもうAndroidアプリのサーバーサイドはFirebase使うしかないよな、、という雰囲気。 個人的にはFirebase Test Lab for Android が気になりました。

Test Lab for Android https://firebase.google.com/docs/test-lab/

簡単にリモートに設置された実機でテストできるらしいのですが、簡単さ具合によってはぜひ使いたいなー、と思います。 ささった説明としては、サポートしなければならないAndroidの画面サイズが900種類 x サポートしなければならない言語が30種類 x landscapeとpoatraitで2種類 = 5400ケースのテストが必要って。。。 グローバルなアプリは大変だと思う一コマでした。

5400

Android Emulater

AS 2.1でも十分速いと思っていたのですが、さらに速くなるようです。10倍?それって実機より速い?もう実機をUSBで接続してテストする必要はないかも?

おしまい

と言った感じです。 それ以外にもとくにFirebase関連のトラックがもりもりで、GoogleさんFirebase全力オシだな〜という雰囲気でした。 あとは忘れちゃいけないGCPですが、それはまた別の機会に。