社内イベントアプリを作って発表してきた
※本エントリーは私自身の見解であり、必ずしもIBMの立場、戦略、意見を代表するものではありません(社内イベントについて書きますが、レビューもらっているわけではないので).
昨日、IBM Way Day という社内イベントがあり、作成したイベントアプリについて新入社員へ発表してきました.
CAMS 部門旅行アプリに引き続きの作成でしたが、今回も Xamarin.Forms 製です。
(現在、新入社員しかログインできないようになっています)
目次
アプリ概要
メインの機能は新入社員のネットワーキングを促進する、ともだち登録、コミュニティー作成、チャット機能です.イベントアプリなので当日のスケジュールなども確認できます.
今回はデザイナーさんに参加いただいたので、以前作った CAMS アプリよりもかっこよくなったと思います.
実装期間とアプリ規模
開発メンバーはデザイナー2人、クライアントサイド1人(自分)、サーバーサイド2人で、プロジェクト業務時間外の約1ヶ月間での実装でした.クライアントサイドは100時間くらいは使っています.
クライアントサイドは最終的に全16画面、約7,200行のアプリになりました.
GitHub 上だと以下のような感じ.久しぶりにがっつりコード書きました.
(未だに Fat ViewModel を抜け出せていない…)
辛かったこと、やり切れなかったこと
期間的な制約もあり、いろいろ辛かったこと、やり切れなかったことがありました.
iOS のレビューが辛かった
やっぱり iOS のレビューはそれなりに厳しかったです.
反面、Android は数十分で通過してびっくりでした.
時差もめんどうで、Apple のレビュー時間に合わせて朝早く起きたりとかもありました.
ですが以前に比べるとレビューが大分早くなっていて、2日もあればレビュー結果が返ってきました.この改善は助かりました.
テストができなかった
時間が無かったは完全に言い訳ですが、テストコード書いてないです、ごめんなさい.
初回リリース後もバグ修正のリリースを繰り替えしていました.
加えて言えば、UI テスト・検討が足りなかったなぁという思いがあります.
リリース後に UI 修正が出てきたり、Android 7.0 だけで発現するバグが発覚したり.
UI テストを自動化したい気持ちになりました(辛いって聞くけど).
Material Design を捨てた
今回参加していただいたデザイナーさんは iOS のデザイナーさんだったので、どうしても iOS 先行で iOS 寄せの実装になってしまい Android が手抜きになっていました.
Xamarin はネイティブの View を使うと言えどもレイアウトはどうしようもないわけで、この辺にこだわるなら Xamarin.Native なんでしょうね.
機能要件を満たせなかった(と思う)
例えばチャットにプッシュ通知があるのは当たり前ですが、実装してなかったりします.
いろいろ片手落ちなところは否めません.リソースを潤沢に用意するか、機能を取捨選択して単機能のクオリティを上げたほうが結果的に良いアプリになったかもしれません.
感想
かなりハードな1ヶ月でしたが、実りあるアプリ制作でした.
今回、初めてデザイナーさんと協業しましたが、とても頼もしい存在でした.
ただ作るだけではなく、発表の場をいただけたのも幸運でした.
次はより技術的な面を話せる機会になればと思います.
とは言いつつ、いい加減クライアントサイドは疲れるので、そろそろクライアントサイドからサーバーサイドへジョブチェンジしたい思いがあります(笑)
半年後にまたアプリを作る機会がありそうですが、そのときはサーバーサイドをやりたい気持ちがあります(本業はそっちだし).
誰かクライアント作ってくれたら嬉しいな.
以上です.