Contents
Bubble の概要と最新料金プラン
要点
- ノーコードでフルスタック Web・モバイルアプリが構築可能。データベース、ロジック、UI がすべてビジュアルエディタ上で完結する点が最大の強みです。
- 料金は Free、Personal、Professional、Production の4段階に分かれ、プランごとにサーバ容量・チームメンバー数・機能が拡張されます。
料金情報(2025 年 4 月時点)※公式ページの情報を元に作成し、将来の改定は予告なく変更される可能性があります
| プラン | 月額(税抜) | 主な機能 |
|---|---|---|
| Free | ¥0 | 基本エディタ、1 アプリ、10 k 件データ上限、コミュニティサポート |
| Personal | ¥3,500 (約 $29) | カスタムドメイン、バックアップ、API コネクタ、チームメンバー 2 名まで |
| Professional | ¥15,600 (約 $129) | 無制限データ、ワークフローログ、サーバスケーリング、チームメンバー 10 名まで |
| Production | ¥48,000 (約 $399) | SLA 付きホスティング、優先サポート、エンタープライズ統合 |
※注意:上記金額は Bubble の公式料金ページ(bubble.io/pricing)を参照しています。2025 年以降に値上げやプラン変更があった場合は、最新情報をご確認ください。
プロジェクト作成 ― データベース設計 ― UI 実装までの標準フロー
1. プロジェクト作成
| 手順 | 内容 |
|---|---|
| ログイン | Bubble にサインインし、ダッシュボード右上の New App をクリック |
| アプリ名・テンプレート選択 | 空白テンプレート(「Blank」)を推奨。必要に応じて業種別テンプレートでも可 |
| 初期設定 | データベース自動生成オプションは OFF にし、後から手動でデータタイプを作成 |
2. データベース設計のベストプラクティス
- エンティティは最小限に:必須項目だけを
requiredに設定し、冗長なフィールドは避ける - 正規化とインデックス:検索頻度が高い文字列(例: ユーザー名)には「Index」チェックを付与
- Option Set の活用:ステータスやロールなど固定リストは Option Set にすると UI 側の設定が楽になる
具体的なデータタイプ例
| データタイプ | フィールド例(型) |
|---|---|
User |
email (text), password (password), role (option set) |
Task |
title (text), description (text), status (option set), assignee (User) |
Comment |
body (text), author (User), task (Task) |
3. UI エディタでの画面構築
- ページ作成 → Design タブ > Add page >
Home - Reusable Element(共通ヘッダー)
- 左上メニューの New reusable element →
Header名で作成 - ロゴ、ナビゲーションリンク、ユーザー情報テキストを配置し、ページごとにインスタンス化
- Repeating Group(一覧表示)
- 「Repeating Group」コンポーネントをドラッグ → データソースは
Search for Task - セル内に「Text (Current cell’s Task’s title)」「Button (Complete)」など配置
ポイント:Reusable と Repeating Group を組み合わせると、デザインの一貫性とパフォーマンスが大幅に向上します。
モバイルファーストデザインとレスポンシブ設定のコツ
基本方針
- 最小幅(320 px)を基準にレイアウトし、必要に応じてデスクトップ用のブレークポイントで要素を拡張
- 条件付き表示は「Conditional」タブで
Page width ≤ 425のように設定し、不要な UI を自動的に非表示
設計チェックリスト
| 項目 | 確認ポイント |
|---|---|
| グリッド | 1 列フル幅 → 必要なら 2 列以上へ拡張 |
| フォントサイズ | 基本 16 px、重要ボタンは 18 px |
| タッチ領域 | 最低 44 × 44 dp、間隔 ≥ 8 dp |
| 画像 | Responsive オプション ON、最大幅 100% |
| 条件付き要素 | Only when page width ≤ 425 の条件が正しく設定されているか |
実装例(スクリーンショット省略)
|
1 2 3 4 |
// Responsive タブでブレークポイントを確認 Width 320px → 全要素は縦並び、マージン 16dp Width 768px → カラム数を2に増やし、サイドバーを表示 |
Native mobile app editor(β) の有効化とビルド手順
※本手順は 2025 年 10 月時点の UI に合わせて更新しました。Bubble が UI を変更した場合は公式ドキュメントをご確認ください。
有効化手順
- Settings → Beta features タブを開く
Enable Native mobile app editor (beta)のスイッチを ON にする- 画面左側メニューに新たに Native タブが表示されたら完了
初期設定項目
| 項目 | 設定例 |
|---|---|
| App Name | TaskPro |
| Bundle ID / Package name | com.example.taskpro |
| Version Code (Android) / Build number (iOS) | 1.0.0 |
| iOS 用 API Key | App Store Connect API Key(Apple Developer → Keys) |
| Android 用 Service Account JSON | Google Play Console の「API アクセス」から取得 |
ビルド・デプロイフロー
- プレビュー
- エディタ右上の Preview on mobile をクリック → QR コードが生成
-
スマートフォンで読み取り、ネイティブ UI が適用されたプレビューモードを確認
-
ビルド実行
- Deploy タブ →
Build iOSまたはBuild Androidを選択 -
ビルドキューに入るとステータスがリアルタイムで表示。完了後に
.ipa/.aabがダウンロード可能 -
ストアへアップロード(別章「リリースフロー」参照)
ポイント:Beta 版は不具合が残ることがあります。重要なリリース前には必ずステージング環境で十分にテストし、フォーラムや公式 changelog で最新情報をチェックしてください。
WebView ラッパー vs. Native editor:選択指針と比較表
| 項目 | WebView ラッパー | Native editor(β) |
|---|---|---|
| 実装コスト | 低(1 日で完了) | 中(設定・ビルドに数時間) |
| ネイティブ機能へのアクセス | プラグイン依存、制限あり | カメラ・GPS・プッシュ通知等フルアクセス |
| パフォーマンス | ブラウザエンジンのオーバーヘッドがある | ネイティブコード実行で高速 |
| アップデート方法 | Web 側変更だけで即反映 | ビルド再生成が必要 |
| 推奨シーン | 社内ツール・プロトタイプ | 本番向けユーザーアプリ |
選択チェックリスト
- 機能要件:プッシュ通知や AR が必須 → Native editor
- スピード重視:数日で MVP を出したい → WebView ラッパー
- 予算制約:開発コストを抑えたいスタートアップ → WebView ラッパー
実務で得た成功・失敗事例と教訓
成功ケース:SaaS タスク管理アプリ(TaskPro)
- プラン/機能:Professional + Native editor (β)
- 設計ポイント
- データタイプを
User/Project/Taskに分割し、検索インデックスを設定 - Repeating Group と iOS の Swipeable List を組み合わせ、ロード時間を 1.2 秒 に短縮
- 結果:App Store 評価 4.7/月間アクティブユーザー 5,000 人突破
失敗ケース:イベント情報アプリ(EventInfo)
- 実装:WebView ラッパーで大量画像バナーを配置
- 問題点
- CDN・キャッシュ未設定 → Android 端末でメモリ使用量 800 MB 超過、頻繁にクラッシュ
- ビルド後の UI 調整が困難だったため、2 週間でリリース撤回
- 改善策:画像は必ず Cloudflare CDN と
WebP圧縮を適用し、Native editor に切り替えてメモリ使用量を 300 MB 以下に抑制
教訓まとめ
- データ設計はシンプルかつインデックス化することがパフォーマンスの土台になる。
- 画像・動画は必ず CDN とキャッシュ戦略を導入。
- ネイティブ機能が必要な段階で早期に Native editor へ移行すべき。
App Store / Google Play へのリリースフロー(証明書取得含む)
共通チェックリスト
- [ ] Bundle ID / Package name が一意か
- [ ] バージョン番号とビルド番号が正しくインクリメントされているか
- [ ] 必要な権限・プライバシーポリシー URL を設定済み
iOS(App Store)手順
- Apple Developer Program に加入(年会費 $99)。
- Certificates, Identifiers & Profiles →
+→ iOS Distribution Certificate を作成しダウンロード。 - App IDs で Bundle ID (
com.example.taskpro) を登録。 - App Store Connect にログイン → My Apps →
+→ 新規アプリ作成、先ほどの Bundle ID を指定。 - Bubble の Native Settings に iOS Distribution Certificate と Provisioning Profile(自動生成可)をアップロード。
- ビルド完了後、Transporter または Xcode から
.ipaをアップロードし、審査依頼。
Android(Google Play)手順
- Google Play Console に開発者アカウント作成(年会費 $25)。
- 設定 > API アクセス → サービスアカウントを作成し JSON キー を取得。
- App signing で
SHA‑1 fingerprintを登録。 - Bubble の Native Settings に Service Account JSON と Package name (
com.example.taskpro) を設定。 - ビルド完了後、Google Play Console の「リリース」→「プロダクション」へ
.aab(推奨)をアップロードし、審査依頼。
ポイント:証明書・キーは期限切れになるとビルドが失敗します。取得日と有効期限を管理シートに記録しておくことを推奨します。
パフォーマンス最適化&最新セキュリティ対策(2026年版)
パフォーマンス測定指標
| 指標 | 推奨上限 | 測定ツール |
|---|---|---|
| アプリ起動時間 | 2 秒以下(iOS) / 3 秒以下(Android) | Xcode Instruments、Android Studio Profiler |
| メモリ使用量 | 500 MB 以下 | Memory Monitor(各プラットフォーム) |
| フレームレート | 60 fps 維持 | GPU Rendering Profiler |
| ネットワーク遅延 | 200 ms 未満(API 呼び出し) | Chrome DevTools → Network、Charles Proxy |
実装例
|
1 2 3 4 5 |
// API 呼び出しのバッチング例(Bubble の API Connector) fetch('/api/tasks?ids=' + ids.join(','), { method: 'GET' }) .then(r => r.json()) .then(data => {/* UI 更新 */}); |
セキュリティベストプラクティス(2026 年版)
- データ暗号化
-
ローカルストレージは
crypto-jsの AES 暗号化を使用し、鍵は環境変数に格納。 -
Privacy Rules の徹底
-
Bubble の「Data > Privacy」からユーザー別に
Read / Write権限を設定し、機密情報への不正アクセスを防止。 -
API キー管理
-
発行した API キーはサーバ側(Bubble の Backend Workflow)でのみ使用し、クライアントコードに埋め込まない。
-
Content Security Policy (CSP)(WebView ラッパー利用時)
html
<meta http-equiv="Content-Security-Policy"
content="default-src 'self'; script-src 'self' https://cdn.jsdelivr.net; img-src 'self' data:;"> -
定期的な脆弱性診断
- OWASP ZAP で自動スキャンを月1回実施し、レポートに基づき修正。
まとめ
- パフォーマンスは「起動時間・メモリ・フレームレート」の3軸で測定し、バッチング・キャッシュ・画像最適化で改善。
- セキュリティは 暗号化・権限管理・キー保護 を徹底し、CSP と脆弱性診断で外部攻撃に備える。
FAQ & トラブルシューティング
| 質問 | 回答 |
|---|---|
| Native editor が設定画面に表示されない | Settings → Beta features タブが無い場合は、プランが Professional 以上 か確認。Enterprise プランでのみ利用可能になることがあります。 |
| ビルド時に「Provisioning profile not found」エラーが出る | Apple Developer ポータルで新規の Distribution Provisioning Profile を作成し、Bubble の Native Settings に再アップロードしてください。 |
| iOS ビルドサイズが大きくなる | 未使用プラグインや画像リソースを削除し、App thinning (Bitcode) オプションを有効にするとサイズが 30% 程度削減できます。 |
| Android で「INSTALL_FAILED_VERSION_DOWNGRADE」エラー | バージョンコードが前回ビルドより低く設定されている場合に発生します。Version Code を必ずインクリメントしてください。 |
| データベースの検索が遅い | 該当フィールドにインデックスを付与し、必要なら Search for …: :filtered で絞り込みロジックを最適化します。 |
最後に
本ガイドは 2025‑2026 年時点の情報をもとに作成していますが、Bubble は頻繁に UI や機能を更新するため、常に公式ドキュメント(bubble.io/reference)を併せて確認してください。
Happy building! 🚀