国内初!bubble公式開発試験に合格!

【Bubble】SPA(single-page application)完全ガイド

SPAとは

一般的に、ページの設計構造を考える時には2つの選択肢があります。「single-page application」と「multi-page application」の2つです。

  • 「single-page application」とは、単一ページで複数のコンテンツの切り替えを行う設計構造のこと(略してSPAと呼ぶことが多い)
  • 「multi-page application」とは、コンテンツの切り替えは行わずに、複数のページ間で画面遷移をすることを想定した設計構造のこと

ページの設計構造に正解はなく、かつ両者共にメリット・デメリットが存在するので、現実的にはこれらの中間をとることが一般的な解決策になります。(上図参照)

SPAのメリット・デメリット

single-page application(SPA)multi-page application
概要単一ページでコンテンツの切り替えを行う複数のページ間で画面遷移を行う
メリット画面遷移の数が減る初期のページ読み込み速度が早い
デメリット初期のページ読み込み速度が遅い画面遷移の数が増える

SPAのメリット

SPAのメリットは、画面遷移の数が減ることです。画面遷移の数が減ることで、ユーザー側は次のような恩恵を受けられます。

  1. 動作性の向上:画面遷移をせずに素早くページの切り替えをすることができます。
  2. ユーザー体験(UX)の向上:ブラウザの挙動に縛られない、幅広いUXを実現できます。例えば、ページの切り替えを滑らかなアニメーションの実装や、Twitterのようにプッシュ型の通知の提示をすることが可能です。
  3. ネイティブアプリの代用:SPAによって、ネイティブアプリと比べても遜色ないようなUXを実現できるので、Webアプリで作成したものをネイティブアプリの代用として提供することができます。

上記のメリットから、SPAはユーザーが頻繁にページ遷移やコンテンツ操作を行う滞在時間の長いサービスに適していると言えます。

SPAのデメリット

SPAのデメリットは、初期のページ読み込み速度が遅くなることです。

これは、1つのページで複数のコンテンツの切り替えをしようとすると、読み込むコンテンツのデータ量が増えるからです。

なので「ページの読み込み時にローディングアニメーションを表示する」などの工夫をすることによって、UXを落とさない工夫をすることが重要になってきます。

SPAの実装方法

完成イメージ

ユーザーがトップページから会員登録が完了するまでのフローをSPAで実装していきます。SPAの実装が完了したBubbleエディターはこちらです。

SPAの実装には、主に

  • Pathを使った実装
  • Paramaterを使った実装

の2つの実装方法があります。

どちらも大きな違いはないので、今回はPathを使ったやり方を紹介していきます。

1. URL設計

どんなURLの時に、どのコンテンツを表示するかを設計します。

今回はPathによってコンテンツの切り替えを行うので、Pathの設計を以下のように決めました。

コンテンツPathPathの数
トップ画面/spa/1
会員登録画面/spa/signup2
会員登録完了画面/spa/signup/complete3

2. Groupを配置する

Groupを配置していきます。ゼロからデザインを考えると時間がかかってしまうので、今回はBubbleのConponentsを利用しました。

次の表のように、Groupを上から順に配置していきます。

Group表示する条件
ヘッダー常に表示
トップ画面“/spa/”の時に表示
会員登録画面“/spa/signup”の時に表示
会員登録完了画面“/spa/signup/complete”の時に表示
ヘッダー常に表示

3. ワークフローを設定する

①When②Step1意味
#spa btn is clickedGo to page spa(”signup”というPathを付けて)トップ画面のボタンをクリックしたら ”/spa/signup”に遷移する
#spa/signup btn is clickedGo to page spa(”signup/complete”というPathを付けて)会員登録画面のボタンをクリックしたら ”/spa/signup/complete”に遷移する
#spa/signup/complete btn is clickedGo to page spa(Pathの指定はなし)会員登録完了画面のボタンをクリックしたら ”/spa/”に遷移する

4. GroupのConditionalを設定する

GroupConditionalの条件どうする意味
ヘッダー
トップ画面Get data from page URL:count is not 1非表示にするPathの数が1以外は、このGroupを表示しない
会員登録画面Get data from page URL:count is not 2非表示にするPathの数が2以外は、このGroupを表示しない
会員登録完了画面Get data from page URL:count is not 3非表示にするPathの数が3以外は、このGroupを表示しない
ヘッダー

資料請求

Swoooのサービス資料をダウンロードいただけます。開発支援をご検討の方はぜひご一読ください。

ご相談・お問い合わせ

お客様の新規事業開発やマーケティング活動における課題解決をサポートします。
お気軽にご相談ください。

料金シミュレーション

たった2分で開発費用が分かります。
簡単な質問に答えるだけでお見積りが可能です。