iOSエンジニアが受付アプリをリニューアルしてみた
みなさんこんにちは!コイニー採用担当の高野です。
今回のブログはいつもと趣向を変えて、コイニーのエンジニアに執筆してもらいました!
テーマは「コイニーの受付アプリ」。恵比寿のオフィスに引っ越して3年以上、ずっと使われてきた受付アプリがついにリニューアル!
ということで、このプロジェクトを担当した尾澤がブログを執筆しました。(ちなみに原文は英語なので、翻訳したものを掲載します!)
このブログの執筆者:尾澤 もも(iOSエンジニア) 尾澤のインタビューはこちらから。
アプリリニューアルのきっかけは、以前マイヤーズと私でグッドパッチさんのオフィスを訪れた際、受付アプリの完成度の高さに感心したことでした。オフィスの入り口にiPadを置き、専用アプリを常駐させるというのはコイニーでもやっていたのですが、グッドパッチさんのアプリはデザインが非常にキレイで印象に残りました。
これを機に、受付アプリ改善プロジェクトを発足させました。
(以前使ってた受付アプリ。3年くらい同じのを使ってました)
今回はv2.0ということでほぼゼロから作り直したのですが、自社の受付アプリを改善できることにプラスして、新しい言語を学んだり、アイデアを試すいい機会と捉えました。
というわけで、今回は勉強も兼ねてSwiftとVIPERアーキテクチャを使って開発をしてみました。この記事では、このプロジェクトで新たに学んだ技術と、実際使ってみてどうだったかをご紹介します。
Swift 3
すごく使いやすかったです!Objective-CやJavaよりも簡潔でキレイなコードが描きやすくて、すぐに気に入りました。Objective-Cとは違って、ひとつの.swiftファイルにクラスを記述したり、オプショナル型、エクステンション、プロトコルや、関数型プログラミングの手法を活用して開発を行いました。
VIPERアーキテクチャ
VIPERアーキテクチャを使うことで、コードがキレイに整理された点、またView Controllerの簡素化の手助けになった点がよかったです。(ただ今回のような小規模プロジェクトだとこのようなメリットが薄れてしまうため、正直今回は使わなくてもよかったかもしれません・・・)
VIPERモジュールでは、モジュール毎に5つのファイルが必要になるため、手で作成するのはものすごく手間がかかります。そのためGitHub上に公開されているVIPERモジュールテンプレートを使用し、効率化を図りました。
R.Swift
とても便利なライブラリで、リソース名を文字列リテラルで書かずに済むので助かりました。ただ場合によってリソース名のコンパイルができず、生成されたファイルを削除してやり直す必要があり、ここが難点ではありました。
アニメーション
弊社デザイナー松本の協力のもと、「お金の流れをまるくする」をコンセプトに、デザインにもこだわりました。Core Animationを使って浮遊するパーティクルのアニメーションを実装したり、画面間のトランジションも独自のものを作りました。
(こんなかんじに出来上がりました!)
アプリをリニューアルしてよかったこと
・Swift 3.0を使って開発ができたこと。新しい開発手法を試せたこと
・リリース前にアプリのお披露目会を行った際、社内のメンバーから機能要望など貴重なフィードバックをもらえたこと
・Slack連携を行ったことでお客様がオフィスに来たタイミングがすぐにわかるようになり、会議室への案内をスムーズに行えるようになったこと
・他社の方からアプリの完成度をお褒めいただき、「売って欲しい」と言っていただけたこと!
アプリをリニューアルして苦労したこと
・松本デザインの素敵なデザインやアニメーションを実装するのがかなり難しかったこと(でも実装するのは楽しかったです^^)
ということで、生まれ変わったコイニーの受付アプリ。実際のアニメーションや社員一覧のページはこちらに載せられないのですが、アプリを触っていただければ細部までこだわって開発したのが伝わるかと思います。オフィスに遊びに来た際は、ぜひ触ってみてくださいね!
【2017/10/20 追記】
iOS11から動画のキャプチャができるということなので、受付アプリの動画を撮影してYoutubeにあげてみました!アニメーションの実際の動きをご覧いただけます。ご興味ある方、ぜひ見てみてくださいね!