Share
Embed
iCARE と Vue.js と コンポーネント設計 と デザインシステムの話
2021/08/24 【Vue.js】急成長スタートアップを支えるフロントエンド戦略 @finatext
watsuyo_2
August 24, 2021
Transcript
37 slides
-
iCARE と Vue.js と コンポーネント設計 と デザインシステム の話 2021/08/24 Tsuyoshi
Hirosawa @watsuyo_2 1 -
iCAREのフロントエンドチーム フルタイムメンバー 2020年10月 入社時 2人 → 2021年8月現在 5人 パートナーメンバー 2021年8月現在
3人 アドバイザー、技術顧問 2021年8月現在 2人 #vuejs_study | iCAREではエンジニアとデザイナーさんを募集中 「iCARE Dev 採用」 8 -
iCAREには技術的に成長する土壌があった 毎週 フロントエンド勉強会 フロントエンド定例 それに追加して デザイナー×フロントエンド定例 ペアプロ会 フロントエンドの悩み事、実装方法の共有が頻繁に行われている #vuejs_study |
iCAREではエンジニアとデザイナーさんを募集中 「iCARE Dev 採用」 11 -
デザインシステムは、過去のデザイン負債を回収し、 未来のデザインを構築 デザイナーさん: 名人 @zouzei8to10 スピードを重視する反動で産まれたデザイン負債に敬意を払いつつ デザインが共通化され、ユーザー体験も向上し、開発者にとって 再利用可能なコンポーネントを実装 #vuejs_study |
iCAREではエンジニアとデザイナーさんを募集中 「iCARE Dev 採用」 16 -
数年前からStorybookが 整備されていた UIコンポーネントのカタログを充 実化 Docs Addon Design Tokenとして Typography等の整備 Storyのドキュメント整備
@ozu_syo #vuejs_study | iCAREではエンジニアとデザイナーさんを募集中 「iCARE Dev 採用」 20 -
Buefyのb-tableを使います b-tableとb-table-columnのセットで成立しています <b-table :data="isEmpty ? [] : data" :bordered="isBordered" :striped="isStriped"
. . > <b-table-column field="id" label="ID" width="40" :td-attrs="columnTdAttrs" numeric v-slot="props"> {{ props.row.id }} </b-table-column> <b-table-column field="first_name" label="First Name" :td-attrs="columnTdAttrs" v-slot="props"> {{ props.row.first_name }} </b-table-column> <b-table-column field="last_name" label="Last Name" :td-attrs="columnTdAttrs" v-slot="props"> {{ props.row.last_name }} </b-table-column> . . #vuejs_study | iCAREではエンジニアとデザイナーさんを募集中 「iCARE Dev 採用」 29 -
本当はこうやって実装したかった Error: You should wrap bTableColumn on a bTable 残念ながら、b-tableは、b-table-columnとの親子関係を強制します
<carely-table> <template #default="{ row }"> <common-clumn-set :common="row.common1" /> <common-clumn-set :common="row.common2" /> <common-clumn-set :common="row.common3" /> </template> </carely-table> #vuejs_study | iCAREではエンジニアとデザイナーさんを募集中 「iCARE Dev 採用」 31 -
carely-table.vue template optionと、table dataを渡すことが 役割 CSS 共通のstyleを定義 このコンポーネントを経由するだけで デザインの統一化と一定以上の ユーザー体験を簡単に実装できる
#vuejs_study | iCAREではエンジニアとデザイナーさんを募集中 「iCARE Dev 採用」 32 -
利用側.vue props b-tableに求められている option tableData slots content-area という名前で、 carely-tableに渡す #vuejs_study
| iCAREではエンジニアとデザイナーさんを募集中 「iCARE Dev 採用」 33