見出し画像

Atomic Designでランディングページを作ったので、作成手順とかまとめました。

こんにちは、@ktmoukです。時間を管理できるアプリ「Hackaru(測る)」を一人で開発しています。

最近、ユーザが最初に訪れるページ、いわゆるランディングページをリニューアルしました。Atomic Designを参考に、Vueのコンポーネントを分割しています。

本稿では、個人開発でAtomic Designを使うときの作成手順をまとめてみました。Web制作の参考になれば幸いです。

ランディングページ: https://www.hackaru.app


その前にAtomic Designとは?

Atomic Designは、UIのパーツを「原子(Atom)」「分子(Molecule)」「有機体(Organism)」「テンプレート(Template)」「ページ(Page)」に分類しようという考え方です。分類することでパーツが再利用しやすくなります。

詳しくは、DeNA DESIGN BLOGの記事 や Atomic Design Methodology が参考になります。

引用元: Atomic Design Methodology

1. 簡単なワイヤーフレームを作る。

Atomic Designとは逸れるのですが、コーディングに入る前にワイヤーフレームを作るようにしています。

ワイヤーフレームとは、ざっくりとした外観と、画像や文章のようなパーツの位置を整理した設計図のことです。ワイヤーフレームを作ることで、頭の中で考えているイメージが本当に実現できるか確認できます。

ワイヤーフレームを作らずにコーディングを始めると、「このパーツを入れるスペースがない!」とか、「次何するんだっけ?」という感じで、手戻りや長考する時間ができてしまうんですよね。

ワイヤーフレームはFigmaなどのソフトを使うこともできますし、紙とペンでも作成できます。私はノートにざっくり描きました。

ポイントとして、色やイラストのような見た目を書かないようにしています。「何を置くか」と「どこに置くか」を整理できれば十分です。ざっくり書くように意識しています。所要時間は、1ページあたり10分〜15分くらいを目安にしています。

2. とりあえず、1ファイルに全部書く。

ワイヤーフレームが出来たら、コーディングをします。ポイントとして、最初は分割せず、1ファイルに1ページ分のHTMLとCSSを全部書いてしまいます。完成させてから整理したほうが効率が良いからです。

Atomic Designを意識してボタンやラベルなどのAtomから作りたくなりますが、もしかすると不要なパーツが出てくるかもしれません。一旦完成させてから整理すれば、手戻りを避けることができます。

というわけで、1ファイルに全部書いてみました。
コードはGitHubから見ることが出来ます。

3. 重複している箇所をAtomic Designでまとめる。

完成させたら、パーツを分類していきます。私は分類の基準を以下のように決めています。Templateは使っていません。

Atom 分割できない小さなパーツ。ボタンやラベルなど。
Molecule 検索欄やメニューのような小〜中くらいのパーツ。
Organism ヘッダーやフッターのような大きなパーツ。
Pages 最終的にユーザが見るもの。完成品。


Atom

Atomは、ボタンと言語のセレクトボックスにしました。

Molecule
Moleculeは、機能の説明部分と、「その他の機能」にある4要素にしました。

Organism
Organismはヘッダーとフッター、主要機能とその他の機能の部分にしました。Organismの中にAtomとMoleculeが含まれています。

適度に分割しよう。

分割するときのポイントとして、なるべく「再利用する必要がないもの」は分割しないようにしています。

たとえば、⚡マークのロゴはAtomに分割できるかもしれません。ただ、今の所、使用しているのはヘッダーの1箇所だけです。そのため、ヘッダーのOrganismに直書きしています。ロゴを別の箇所でも使いたい、となったタイミングで分割するつもりです。

または、再利用はしないけど、複雑なものは分割しています。今回でいうところの言語のセレクトボックスです。内部にI18nを変更するスクリプトが含まれています。分割したほうがメンテナンスがしやすいためです。

とくにAtomとMoleculeはいくらでも分割できてしまうので、適度に分割するのがいいかもしれませんね。

Atomをたくさん分割してみました。

GitHubでソースコードを公開しています。

題材にしたランディングページは、GitHubにソースコードを公開しています。 また、ランディングページも実際に見れますので、よろしければ覗いてみてください。本稿がみなさんのお役に立てれば幸いです。それでは。

ランディングページ:  https://www.hackaru.app

GitHub
公式のTwiiter
開発者のTwitter

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