見出し画像

2023年 Bubble.io 徹底解剖

初めてBubble.ioを触り始めた時、Bubbleの可能性に胸踊らせながらも、実際に自分が経営するスタートアップの事業に使えるのかについては割りとシビアに検証をするため、初期的には海外のブログ記事を含めてめちゃくちゃ使っている人の情報を集めました。一番大きな論点は「Bubbleは本当に作ろうとしているアプリの開発要件を満たせるのか?」でした。

もしあなたがBubbleを検討していてこの記事を読んでいるんだとしたら、「安心して下さい。」SUNUPでは過去3年間に渡って自社事業、クライアント向け開発含めて数十件のBubbleアプリ開発をしてきましたので、あなたの構築したいと考えるアプリがBubbleで作るべきか判断可能な情報を経験に基づいた情報としてこの記事でご提供できると思います。

まとめ by SUNUP

Bubbleは、あらゆる種類のアプリを迅速かつコスト効率よく構築できる強力なノーコードプラットフォームであることには間違いありません。サードパーティのプラグインもたくさん提供されていますし、カスタムコード(JavaScript)を書けるなら提供されていない機能をコーディングで構築する自由度もあります。
ただし、ユースケースはWebアプリの構築に最適であり、PWAやiOS および Android アプリのネイティブアプリは開発できません。
ただし、PWAまたはネイティブアプリへBubbleのアプリを変換することができる外部サービスはあるため、作れないわけではないということは言及しておかなければいけないとは思いつつ、僕が実際に使ったことがあるサービスではネイティブ固有の機能を実装するには難易度高いと感じました。
また、プライベートサーバーでのホスティングはサポートされていない、かつBubbleからコードをエクスポートもできないため、MVP以後ユーザー数が増えてきてインフラをいじりたくなるとBubbleを卒業するケースもあります。
とは言えいくつかの制限はあるものの、現時点でBubbleは様々な「Webアプリ」を高速に構築するために有効な選択肢であることは揺るぎないと思います。

Bubbleで出来ること

MVPの構築

Webサービスを始めるにあたり、時間、資金、リソースを大量に投入する前に、MVP を構築し、実際に動くサービスでテストすることが重要だと言われています。Bubbleを使って構築することはMVP開発の工数を通常開発の10分の1以下に抑えることができると思います。(あくまで個人の意見です)

※ほとんどの MVP はWebアプリであることが多いため、Bubble は有力なソリューションとなりますが、もしそのMVP が最初から iOS または Android ネイティブ アプリである必要がある場合は、FlutterFlowの方が確実に良い選択肢になります。詳細はこの記事の後半で見ていきます。

以下に日本国内のBubble で構築されたサービスの一部を紹介します。事業売却や資金調達など事業成長を遂げいているサービスが出てきています。

  • kitene:X(旧Twitter)に特化した人材マッチングアプリで、ページ上で人材を募集するだけでリアルタイムでXユーザーに訴求できる。

  • ブラリノ:招待状の作成やご祝儀などをオンライン上で一括管理できる、結婚式の準備アプリ。→事業売却済み

  • LIBRIS:本屋さんやブックカフェを検索できる「本屋バージョンの食べログ」のようなアプリ。

  • リモートHQ:在宅環境整備をサポートするシステム。 在宅勤務手当のような公平な仕組みで、社員一人ひとりに最適化された環境が整備できる。→GoでコーディングしたサービスにシリーズAで7億円調達後移管

外部システムとの連携

Bubble の統合に適したプラットフォームを使用すると、サードパーティのプラグインの機能をアプリにシームレスに組み込むことができます。たとえば、支払いシステムはわざわざ最初から構築しなくとも、提供されているプラグインを活用すればStripeやPayPalなどのサービスに比較的簡単に接続できます。

Bubble のプラグインは多くのBubblerに支えられて日々増え続けていますが、WordPressと比較すると数が少ないと感じる人もいるかもしれません。ただし、Bubbleにおいてはプラグインの開発が完全にプラットフォーム適合しているのでWordPressにおいてバージョンをあげたらプラグインが動かなくなってサイトが落ちた、というような不慮の事故(?)は起きないので安心して使えます。

カスタムコードの追加

Bubbleの強みは言わずもがなノーコードでやりきれることにありますが、場合によってはデフォルト機能では提供されていない、かつプラグインでは見つからない機能を作りたいという場面が出てきます。その際には、Bubbleはノーコードからローコードツールになり、HTML、CSS、JavaScript などのカスタムコードを書くことで機能を拡張することが可能です。

コーディングに慣れている人にとってはBubbleで出来ることの幅が大きくなるりますが、コーディングの専門知識が無い場合は少し難しいかもしれません。
その場合には、当社のようなBubbleのカスタムコード機能に精通した開発会社に依頼して頂ければ既存の機能にカスタムコードやカスタムプラグインを追加することが可能です。

Bubble開発会社は日本には多くありませんが、SUNUPはBubbleの正規代理店のひとつです。とはいえ比較検討はしたいと思いますので、開発会社選び方に関する記事は今後書きますのでぜひご参考頂ければと思います。

レスポンシブUI

Webアプリを作る際には、ユーザーはパソコンやスマホなど色々な画面サイズのデバイスに対応したUIを作る必要がありますが、それをレスポンシブデザインといいます。
Bubbleでは2011年の秋にそれまでとは異なる新しい「Responsive engine」のベータ版をリリースしましたが、これがかなり使いやすいです。
現在はベータ版でなくなって通常機能になっていますが、この新しいデザイン機能のおかげで、画面が幅や方向に関係なくどのデバイスでもスムーズに自動的に調整しされるようになりました。

‍SNSや、SaaS 製品、マーケットプレイスなど、さまざまな種類のWebアプリをBubbleで作ることができます。その際にレスポンシブ対応はユーザー体験を考えるとかなり重要です。開発する際にはきちんと画面サイズに合わせたデザインを事前に設計し、それに合わせて柔軟に画面を作ることできます。

一方、ブログメディアのようなコンテンツ配信、強力なSEO機能、めちゃくちゃかっこいい(かわいい)デザインなどに重点を置いた静的なWeb サイトを作成することが目的の場合はBubbleはそこまで得意ではないので、BubbleよりもWebflowのようなプラットフォームの方が合っているかもしれません。

PWAの構築

PWA(Progressive Web Apps)とは、従来のWebアプリの仕組みではできなかった、プッシュ通知をはじめとするスマートフォン向けのネイティブアプリのような利便性を備えたWebアプリのことです。Bubbleを使用すると、そのPWAを構築することができます。PWAは Webブラウザーで動作するため、アプリストアでの更新やメンテナンスの必要がなくなり、より簡単にスマホアプリを提供することができます。

PWAを構築するには、一定程度のコーディングが必要になる場合があります。Webサイトを構築した後、Service Worker とマニフェストという設定をそれぞれJavaScript、JSON形式で設定していきます。ただし、Progressier のようなサードパーティーツールを使ってPWA化することもできますので、その場合はノーコードでPWA化を実現することもできます。

ハイブリッドアプリの構築

Bubble で作ったアプリを Android PlayとApple Store 展開用のハイブリッド アプリケーションに変換することもできます。そうすることでアプリはアプリ ストアからダウンロードでき、支払いやプッシュ通知などのネイティブ機能を活用することもできます。ハイブリッド アプリの利点は、ストアに毎回新しいバージョンを送信する手間をかけずに、アプリを定期的に更新できることです。Bubbleを thebdk.combuildnatively.com などのサードパーティ ーのサービス使うことで変換ができますが、それぞれのサービスの使い方を追加で学習することが必要になります。その学習コストを鑑みても、Bubble の利便性とネイティブ アプリ機能の利点の両方の長所を得ることができるハイブリットアプリは魅力的です。

Bubbleでできないこと

ネイティブアプリを構築する

23年8月現在、Bubble は iOS および Android アプリのネイティブサポートを提供していません。しかし、将来的には提供する可能性があるという噂もあります。それまでの間、Jasonette や BDK などのツールを使用して、Bubble アプリをPWAまたはネイティブ アプリにラップするという方法で提供することが可能です。ただし、この方法にはいくつかの制限があるので「できる」とは言い切れないと考えています。

‍‍モバイルラッパーでネイティブアプリにラップするのは検討可能なオプションではあるのですが、これにはリスクが伴います。例えば、Apple はWebサイトが提供できる以上の機能をほとんど提供しないアプリを推奨していません。そのため、アプリが主にラッパーであることが検出された場合、アプリが拒否されたり、App Store から削除される可能性がないとは言えないというリスクがあります。

ラッパーが一般的に使用されていないかと言われると、使用しているアプリがあるのは事実ですが、アップデートが App Store のガイドライン違反を引き起こすのではないかという懸念が高まっているという話もあります。

‍これらのリスクに対する代替案として Flutterflowのようなプラットフォームがあります。FlutterFlowではラッパーなしでネイティブ アプリを構築するための専用環境を提供しています。ネイティブアプリのサポートにより、PWA やWeb アプリでは利用できない、ネイティブ専用の使用法でのカメラ、GPS、プッシュ通知などの機能にアクセスすることができます。

プライベートサーバーやオンプレ環境にホストする

残念ながら、現時点ではプライベートホスティングサービスまたはオンプレミスサーバーでのセルフホスティングは Bubble ではサポートされていません。Bubbleは、アマゾン ウェブ サービス (AWS) クラウド サーバーを通じて顧客にホスティングを提供しており、他のユーザーのアプリと同様のサーバーにホストされている状態です。

‍セルフホスティングは実際にいまのご時世では現実的な選択肢ではないかもしれませんが、AWSのようなクラウド環境にBubbleをホスティングできることには大きな利点があります。例えば、Bubbleのデータにアクセスして蓄積したデータをAIに活用したい、などの場合にはAWSのインフラにアクセスできないと自由に拡張サービスを作ることが難しい場合があります。

エンタープライズ プランでは、Bubble はユーザーに対して専用クラスターの環境でのBubbleアプリのホスティングを提供しています。ただし、これはあくまでBubbleの保有するAWS環境に契約者の専用クラスター用意してくれるのみで、ユーザー自身の保有するAWSアカウントの管理下に構築してくれるわけではありません。つまり、インフラに自由度はほぼないと言えます。(RDSへのSQL権限はエンタープライズプランを契約した後にBubbleの営業担当者に依頼したらもらうことができました)
エンタープライズプランは、より高いレベルのセキュリティ、コンプライアンスなどを必要とするユーザーにとって価値があります。例えば、日本の大企業では契約するSaaSのデータの保管場所が日本サーバーかどうかをSaaSベンダーに対して確認してきたりしますが、通常プランでは北米サーバーにあるためその要求には応えられません。しかし、エンタープライズプランでは専用クラスターをどの地域のサーバーで構築するかを選択できるので、日本サーバーで構築することが可能です。

Javascript以外の言語を組み込む

Bubblerはカスタム コードを使用してBubbleアプリの機能を拡張できます。ただし、Bubble上に独自の拡張機能を作成するにはJavaScriptを使う以外の言語の選択肢はありません。この制限はどの程度問題かと言えば、特に問題ではないかもしれません。実際、JavaScript は Web 開発に広く使用されている言語ですので開発できる人は世界中にたくさんいます。

さらに、BubbleはAPIで他サービスと接続することができ、APIの仕様はかなり自由に作ることができるので、たとえばマイクロサービスとして外部にpythonなどの言語を使ったAIサービスを構築して、メインアプリであるBubbleからそのAIサービスを使用する、といった構成であればBubbleの制約から開放されることも可能です。

先進的なUIを構築する

ビデオゲーム、データ分析ダッシュボード、インタラクティブなマップ、マウスの動きに合わせたデザイン制御などの非常に高度な実装が必要になるUIに関しては、Bubbleでは一定の制限があります。これは負荷やパフォーマンスの問題ではないのですが、Web アプリ開発プラットフォームとして発展してきたBubble の主要機能は、非常に複雑なグラフィカルインターフェイスの開発を機能として優先対応していないことは事実です。したがって、3D ゲームやものすごく作り込むWebサイトデザインなどを作成したい場合は理想的な選択ではないかもしれません。

静的サイトでデザインを作り込むノーコードを探している場合にはWebflowがおすすめです。たとえば、finsweetというWebflow開発会社はWebflowがどこまでできるのかを人目でわけるWebサイトを用意しています。

コードエクスポート

Bubbleアプリは Bubbleのプラットフォーム上で動作するように専用に設計されており、アプリのコードをエクスポートすることはできません。つまり、Bubbleから別のホスティングやアプリプラットフォームに移行する場合は、アプリを最初から構築し直す必要があります。


まとめ

‍Bubbleで出来ることに制限やデメリットがあってもBubbleがここまで人気な理由は、Bubble自体のプラットフォームとしての開発の容易さがあると思います。
学習コストはそこそこありますが、コーディングで開発することを学ぶことに比べたらプロレベルの動作が保証されたアプリを作るという意味では圧倒的にBubbleに軍配があがりますし、その後の継続改善を考えるとBubbleアプリで機能開発する際のスピードは比べるまでもないです。
アプリの要件や発展を考えてその後Bubbleからコーディングでの開発に切り替えるサービスもあることは事実ですが、海外ではBubble上アプリのままお大きく成長しているサービスもあるので要件次第で可能性は無限大です。
一方で、ネイティブアプリの提供など用途によってはFlutterFlowや、Webflowなど別なノーコードを使う方がいい場合もあります。

ぜひノーコードで実現したいことがあってプロに相談したい場合は、当社にご相談頂ければ幸いです。Bubbleの開発経験はエンタープライズプランの活用経験もあり豊富にあります。

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