3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

UIとサーバーサイドの関連性について

Posted at

自身、UIを極めたいという漠然としたキャリアプランを立てているが、色々ありサーバーサイドエンジニアとしてWEARのWEBのリプレイスの仕事をさせて頂いています。数多くの先輩からUIとサーバーサイドは繋がっているというアドバイスを頂いてたが、腹落ちする具体例が見つからず、疑問に思う時期もありました。しかし最近、UIに関係したサーバーサイドのタスクを振って頂き、業務を進めるうちに「UIとサーバーサイドの関連性について知ることができてきた」ので記録に残そうと思います。

UIとサーバーサイドの関連性について気づくきっかけとなった業務は、
以下のWEARのWEBのお気に入りブランド画面のリプレイスです。

https://wear.jp/member/edit/

お気に入りブランド画面のリプレイス前に抱えていた問題

問題1、レスポンスタイムが遅く、ユーザー体験として良くない問題。

以下の動画のように、モーダルを表示するまでの時間が約5秒かかる問題がありました。
その原因は「一度に数万件にも及ぶブランドを全件取得」していてレスポンスに時間がかかってしまっているからでした。これではユーザー体験としては良くないです。

問題2、Webとアプリで仕様・UIが違うせいか、ユーザーが混乱してしまう問題。

また、以下の画像のようにWebとアプリで仕様・UIが統一されていなくユーザーも混乱してしまう問題もありました。具体的にはWebはブランドを名前順で全件取得、アプリはブランドを人気順TOP30を取得といった具合です。

WEBの画面

アプリの画面

問題3、Webとアプリで仕様・UIが違うせいか、違う挙動のAPI・テストを実装しなければならない問題。

また、同じお気に入りブランドの登録ページなのにも関わらず仕様・UIが違うので、
WEB用・アプリ用で違う挙動のAPI・テストの実装をしなければならない問題がありました。
仕様・UIが統一されていたら、APIとテストの実装は似た感じになるので、実装者の負担が減るはずです。

リプレイスでどう解決したか?

解決策:WEBもアプリとほぼ同じ仕様・UIにしました。 具体的には、ブランドを人気順TOP100で表示するようにしました。

よって、以下のメリットが生まれました。
・上位100件に絞っているのでレスポンスタイムに時間はかからないのでユーザー体験として良い。(問題1を解決)
・Webとアプリで仕様・UIが統一されているので、ユーザーが混乱することはない。(問題2を解決)
・Webとアプリとで仕様・UIが統一されていることは、WebとアプリでAPI・テストの実装の差分が少なく、開発者の負担が減る。(問題3を解決)

教訓

このリプレイスの業務を経験通して以下の教訓を得ました。
・Webとアプリの仕様・UIはできるだけ統一させた方が良い。
・UI次第でレスポンスタイムが変わってくるので、UIの知識とサーバーサイドの知識両方持つに越したことはなさそう。

感想

今回の業務を通して、Webとアプリの仕様・UIは統一させることのメリットを心底理解しました。UIに関わるタスクを振っていただき感謝です。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?