TRAVEL Now Androidアプリがリリースされました!

f:id:YousukeTezuka:20180927145006p:plain

こんにちは、BANKでAndroidエンジニアをしている手塚です。

Androidユーザのみなさんお待たせしました!昨日TRAVEL NowのAndroidアプリがリリースされました!
これから紅葉など季節の移ろいがたくさん感じられる季節になりますね!ぜひTRAVEL Nowを使って旅行へ行ってみてください!

さて本記事では、TRAVEL Now Androidアプリではどんな技術を採用して開発してきたのか一部ですが紹介していきたいと思います!

言語 & 開発環境

100%Kotlinで書かれています。もうJavaを書けない体になってしまいました。
coroutineなどはまだ使えていないため、適切な場面があれば積極的に使っていきたいです。

IDEはアプリをリリースするころにはさすがにStableになってるだろうと 判断して 高を括って、約3ヶ月前に開発を開始した時点からAndorid Studio 3.2を使って進めました。
結局リリースまでにStableにならなかったなと思いながらテストしていましたが、まさかリリース前日にStableになるとは...。

アーキテクチャ

これまで開発してきたアプリではMVVMで書くことが多かったのですが、ViewModelがややfatになってしまうのが悩みで今回はFluxを採用してみました。
現段階では各コンポーネントの責務がより細かく明確でデータフローも単方向になり見通しがよくなった一方、当然ですがクラス数コード数がやや増えたかなといった印象です。
一長一短といった感じで自分の中でもまだまだ試行錯誤中なので、もう少し知見が溜まったらまた発信したいと思います。

デザイン

Material Components

まだまだ対応していないComponentも多いですが、導入するとぐっとMaterial Design感が出せるのでオススメです!

f:id:YousukeTezuka:20180925180823g:plain

Constraint Layout & Motion Layout

本アプリでは随所に細かなアニメーションを付けています。よりリッチなアニメーションを実現するためにアルファ版ではありますがConstraint Layout 2.0を採用しMotion Layoutを活用しています。

これまでデザイナーから「こういう動きってできますか?」と提案されてもなかなか実現できずに心苦しい場面がしばしばありました。
Motion Layoutによってそれに応えられるようになり、触っていて気持ちいい動きをつけられるようになったように思います。

f:id:YousukeTezuka:20180925181905g:plain

さいごに

一部ではありますがTRAVEL Now Androidアプリで採用した技術を紹介させていただきました!

これからも自動テストやCIの整備、Slicesの対応などまだまだやらなければいけないこと、やっていきたいことが山積みです。
BANKではそんな課題をひとつひとつ一緒に超えていける仲間を募集しています。
少しでも興味を持っていただけましたら、ぜひお気軽にオフィスに遊びに来てみてください!

bank.co.jp