kahirokunn
@kahirokunn 又は k-okina の名前で活動
たまにQiitaでVue.jsに関して投稿してます
現在scoutyでフロントエンドをメインとして仕事してます
→
Atomic Designは一貫性のある堅牢なデザインシステムの作成と維持の為にあります。
なので、デザイナー側にAtomic Designを採用して頂けない限り、本当のAtomic Designをすることはできない。
フロントエンド側だけでAtoms, Molecules, Organismsの粒度をコンポーネントに勝手に持ち込んでも、それは本来意図されている
Atomic Designではないのを認識する必要がある。
なのでそれをAtomic Designと呼ぶのは混乱の元になりそう。
ではフロントエンド側だけでそれっぽくやりたい場合どうすれば良いのか。
Atomic DesignインスパイアのAtomic Componentという設計がオススメ。
一応軽いVue.jsでのサンプルも作成しています。
https://github.com/k-okina/book-management
このサンプルではContainerの粒度の部分とやり取りはAtomic Componentが意図したい通りにできてるんじゃないかと思っています
せっかくなのでAtomic Design周りの話とやりがちなパターンの紹介
Atoms, Molecules, Organismsを組み合わせてTemplateを作成し、そこにデータを流し込み、一貫性のあるページを作る.
デザイン側はAtomic Designを採用しておらず、開発側でAtomic Designをやろうとするパターン
Pageが配下のコンポーネントにデータをバケツリレーで渡していく.
データソースを一応気持ち程度にStoreとかで管理する場合と,
Pageの中にべた書きするパターンがある.
これはデスクトップUIだと上手く行かない場合が多い
UIのボリュームが多いとデータソース部分がウルトラFat化する
一元管理をやめて、Pageや各コンポーネントに対応するStoreを作ってコードを分解し、Fat化問題を解決するのが割と無難です。
その後も割と順調に開発ができています.
商品を購入する場合
1. 口座残高が足りているかどうかを確認します。
2. 足りているなら購入し、足りていないなら購入できません。
3. 足りているなら商品を用意し購入手続きをします。