UI Componentsライブラリを開発したことによるメリット
ライブラリを作る側
-
フロントエンド実装ができるデザイナーは、エンジニアを介さずともUIの微修正をアプリケーションに反映できる
- 見た目に関わる実装、改善をデザイナー自らメンテナンスできるように。
ライブラリを使う側
-
レイアウト構成と使うコンポーネントが決まっていれば、デザイン知見があまりないエンジニアでもスタイルガイドに準拠した画面を実装することができる
- CSSの実装が苦手なエンジニアでも作業を完結できるように。
UIに関わるコードがUI Componentsライブラリとして1か所に集約され、利用アプリケーションを実装する体制が整ったことで、前述の課題は「似たようなUIが別々に作られることはなくなり、結果として画面の一貫性が保たれる」ことで解決できたかなと思っています。
なにより、Angularアプリケーションのエンジニアが、アプリケーションロジックの実装に専念できる環境を整えられたことがメリットとして大きかったと感じています。
最後に
Angularの知識が少ない中でUI Componentsライブラリの開発に着手するのはチャレンジングな取り組みであり、リソースの面でも身の丈にあっていないアプローチを採ってしまったのではないかと不安を感じた時もありましたが、およそ1年をかけてHRMOS採用管理で使われている主要なUIを揃えることができました。
ライブラリとして独立させたことで、部署内の有志が取り組んでいるサイドプロジェクトの管理画面にUI Componentsライブラリを用いることで開発工数が短縮できた、といった効果もありました。

エンジニアがUI Componentsライブラリを活用して管理画面をサクっと作ることも。色々揃っていて便利とのお声もいただきました。
コンポーネントの粒度や切り方に関しては様々なアプローチがあり、私たちもこれでベストだとは思っていません。
特にMoleculesとOrganismsの分類は悩ましく、私たちは内部に状態を持つかどうかを分類の基準の1つにしていますが「MoleculesとOrganismsのヒエラルキーが逆転しているのでは?」と感じるケースも実際にあったりします。
ただ、分類にあたっては厳格な運用は行なわず、迷ったときはコンポーネントを実装する際にフロントエンドエンジニアメンバーで話し合った上で決めています。
以上、Angularのコンポーネント開発の一例として、参考となれば幸いです。お読みいただきありがとうございました。
この記事は参考になりましたか?
既に会員の方はを行ってください。
- BizReach Tech Blog連載記事一覧
-
- 事業を横断してデータベース運用を支援するビズリーチの「DBRE(Database Reli...
- 大規模Angular SPA開発に立ち向かうためにアプリとUIを切り分けた話
- AngularJSのリプレースにAngularを選んだ話
- この記事の著者
-
浅井 雅彦(あさマック)(株式会社ビズリーチ)(アサイ マサヒコ)
大御所芸能人を抱える芸能事務所勤務という異色の経歴をもち、その後大手のWeb制作企業にて、ナショナルクライアントの大規模なWeb制作を行う。自社のサービス開発でのやりがいを求め2015年にフロントエンドエンジニアとしてビズリーチに参画。https://twitter.com/mixplace
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
