見出し画像

CSSリファクタリングをした話

こんにちは。Supership株式会社でデザイナーをしているエリィと言います。
今回も前回と同じく、プロダクト開発G内の勉強会で発表した資料の再編になります。

DIGROWについて

私が担当しているDIGROWという転職サービスがあります。

スクリーンショット 2019-09-30 15.28.15

このサービスでは、単に求職者が転職活動を行うだけでなく、SNSアカウントを使って求職者にアドバイスする機能や、転職エージェントを「食べログ」のように評価する機能なんかがあります。ぜひ利用してみてください。
あと、チームメンバーが面白いnoteを投稿しているので転職活動中の方もそうでない方も読んでみてください。(宣伝)

今回は

DIGROWのエージェント管理画面という、転職エージェントさんが利用する画面のCSSをリファクタした話です。(特定の会員だけが利用できる管理画面なのでキャプチャは自主規制です)

Scoped CSS増えすぎ問題

DIGROWではVue.jsで開発を行っています。Vue.jsではScoped CSSを使ってCSSを簡単に書くことができます。設計などせずにそのページで使いたいCSSを書き放題!

スクリーンショット 2019-09-30 15.38.52

・・・ところがこのScoped CSSでいろんな人がページごとに色々なCSSを書いていることにより、管理ができなくなっていました。

スクリーンショット 2019-09-30 15.40.13

また、各ページにCSSを書いているので新しい機能を追加するたびに1からCSSを書いており、デザインにも時間がかかっていました。

CSSフレームワークを利用する

今回問題になっているのは管理画面なので、上記の課題をCSSフレームワークを導入することにより解決することにしました。

スクリーンショット 2019-09-30 15.42.18

色々調べた結果、すでに稼働しているサービスであり、リファクタができるのが私(デザイナー)だけだったので、コードはいじらずhtmlとCSSのみを書き換えることにしました。そこで・・・

スクリーンショット 2019-09-30 15.44.36

今回は、Bulmaというフレームワークを利用することにしました。ドラゴンボールに出てくるブルマから命名されているそうです(カプセル化されてる➡︎カプセルコーポレーション➡︎ブルマ)

BulmaはCSSのみのフレームワークなので、オーバーレイやポップアップなどJSが必要な部分はVueで書くことにしました。

スクリーンショット 2019-09-30 15.47.35

色々な人がCSSを書いているので、いろんなボタンが存在していました。例えば角丸のボタン、グラデーションボタンなど。この辺りを意味的な考えでまとめていきました。

例えば送信の場合は紫色の角丸のボタン、キャンセルの場合はアウトラインが紫のボタン、などです。

スクリーンショット 2019-09-30 15.50.04

スクリーンショット 2019-09-30 15.50.16

スクリーンショット 2019-09-30 15.50.32

スクリーンショット 2019-09-30 15.50.45

↑のようなことが起こっていましたが、エレメントの意味を再定義して、フレームワークを入れることにより1つのstyle当てるだけで解決できるようになりました

終わりに

CSSが整理されたことによりデザイナーがいなくてもBulmaのスタイルガイドを見てエンジニアでも画面が作れるようになりました。
見た目が良くなったのでクライアントからも高評価をいただくことができました。

おまけ

CSS自体のパフォーマンスを良くすることについても調べました。基本ですが大事だなと感じました。

スクリーンショット 2019-09-30 15.59.50

スクリーンショット 2019-09-30 16.00.32

参考

参考にさせていただきました。

最初からCSSをぎちぎちに設計するのは難しいので、ある程度サービスがスケールしたらリファクタリングするのがいいのかなと個人的に思いました。

終わり。


この記事が気に入ったらサポートをしてみませんか?