Flutterに最適なバックエンド
今度のプロジェクトでFlutterに最適なバックエンドをお探しですか?それともFlutter SDKのフロントエンド機能に集中するためのBaaSソリューションをお探しですか?もしそうなら、このブログの記事を読み飛ばさずに読んでください。
SDKは、開発者が高機能で複雑なアプリケーションを効率的に作れるようにするため、プログラミングにおいて重要な役割を果たす。
実際、ソフトウェア開発キット(SDK)は、ライブラリ、ビルディングブロック、サンプルコード、デバッガを集めたもので、最高級のウェブサイトやアプリケーションを構築するのに欠かせない。
この点で、Flutterはグーグルが2017年に発表した最も優れたマルチプラットフォームUI SDKである。GitHubで160kのリポジトリスターを持つこのオープンソースライブラリは、単一のコードベースを通じてアプリケーションを構築するために利用される。
クロスプラットフォームであるため、開発チームはAndroid、Web、iOS、macOS、Windows、Linux、Fuchsiaなど、さまざまなプラットフォーム向けのアプリケーションを開発できる。
さらに、企業やプログラマーは、その迅速な統合と短い開発サイクルのためにFlutterを好む。Stack Overflowによる最近の調査によると、Flutterは9.12%の得票率で、最も使われているフレームワークやライブラリのベスト10にランクインしている。
BuiltWithのデータによると、インターネット上の約80k以上のウェブサイトがFlutterを使用しており、そのうちの22kは米国のものだという。
これらの数字は、このSDKの大規模な使用を示しているが、適切なバックエンドを使用することで、Flutterプロジェクトの生産性を向上させることができる。
そこで本記事では、Flutterに最適なバックエンドについて、そのコアとなる資格や価格の詳細とともに説明する。さらに、Flutterにバックエンドが必要な理由についても説明する。
Contents
なぜFlutterアプリのバックエンドにBackend as a Serviceを使うのか?
Flutterアプリケーションとサーバーサイドの機能との通信はFlutterバックエンドを指す。
通常、データベース、サーバー、アプリケーションで構成される。Backend as a Service (BaaS)を使うことは、Flutterアプリのバックエンド要件を満たす最良の選択肢になるだろう。
BaaS(Backend as a Service)は、クラウド・コンピューティング・モデルであり、開発者はサーバーサイドの機能をすべて使用することができる。
こうすることで、Flutterの開発者はクライアントサイドのコードとコアコンピタンスだけを強調することができる。そう、BaaSソリューションがバックエンドのタスクをすべて引き受けてくれるのだ。
主なBaaSは、リアルタイムのデータベース管理、認証、クラウド機能、ストレージ、リモート設定、ホスティングなどである。
SDKやAPIを使ってアプリケーションをクラウドバックエンドと同期させることができる。そう、BaaSプラットフォームには、スムーズなバックエンド開発のためのAPIとSDKサポートが組み込まれている。
さらに、これらのクラウド・サービスでは、サーバー側のオペレーションを実行するためのハードウェア・リソースを購入する必要がない。
BaaSのメリット
Flutterのバックエンドにとっての重要性を理解するために、BaaSの主な利点について説明しよう:
開発を加速する
高速開発は、BaaS(Backend as a Service)ソリューションを使用する明らかな利点である。サーバーサイドの開発は時間のかかる作業です。
しかし、認証、DB管理、マネージド・サーバーがあらかじめ用意されているため、アプリケーションの作成、デプロイ、ホスティングが迅速に行える。
そのため、再利用可能なスクリプトと既製のバックエンドは、サーバーサイドのコーディングに投資する開発時間の80%を節約することができる。市場投入までの時間が短縮され、よりコアビジネスに集中できるのもBaaSのメリットだ。
スケーラビリティ
BaaSベンダーのスケーラブルな性質により、インスタンスの拡張や削減はシームレスだ。これらのプラットフォームでは、開発者は数クリックでサーバーやCPU、その他のリソースを追加できる。
この点、ほとんどのCSPは従量課金モデルに従っている。つまり、使用したリソースに対してのみ料金を支払う必要がある。
使いやすさ
BaaSは、PaaSやIaaSといった他のクラウド・コンピューティング・モデルよりも使いやすい。必要な機能を1つのダッシュボードで見つけることができ、バックエンドを素早く生成することができる。
主に、APIやSDKを通じて必要な機能を統合する柔軟性が高い。
Flutterに最適なバックエンドは?
Flutterのバックエンドトップ8を紹介しよう:
1. Back4app
Back4appはオープンソースのクラウドプラットフォームで、世界100カ国で30万人の開発者が利用しています。このプラットフォームは、柔軟性と生産性を加速させる堅牢なAIの裏付けを持つ優れたバックエンドサービスを提供します。
実際、リアルタイム・データベース、クラウド機能、REST & GraphQL API、クラウド・ストレージなどの機能を通じて、このベンダーは40万以上のアプリケーションを出荷している。
初心者でもベテラン開発者でも、Back4app BaaSを利用してFlutterバッキングを作成、デプロイ、ホストするのは簡単だ。
Adobe、GlobalLogic、Rappi、PayPalは、さまざまな技術スタックにBack4appを使用している注目企業である。
Flutterアプリのデプロイに関するチュートリアルや、Flutter Docsのようなソースは、この点で開発者の役に立つだろう。
コア機能
- リアルタイム・データベース –このプロパティは、その間にデータを収集し、照会することを許可する。SDK、UI、APIを利用してリレーショナル・データセットを解釈します。この属性を利用するために「ライブクエリ」を採用することができる。また、この機能により、オフラインのときにデータをバックアップし、インターネットに接続したときに再びサーバーと同期させることができる。
- クラウドコード関数 – JavaScript関数を使用してFlutterアプリケーションにビジネスロジックを追加することは、開発チームの間では一般的です。幸いなことに、Back4appはサーバーを管理することなくこの操作を実行するためのクラウドコード関数を提供している。
- 認証 – 徹底したユーザー管理システムが利用できることも、このCSPの特徴だ。Back4appはユーザー登録とログインのためのFlutter SDKコードをGitHub経由で提供し、アプリ開発をスピードアップする。
- APIとSDK –このローコードアプリ開発プラットフォームは、ソフトウェア開発キットやAPIを活用し、数行のスクリプトでバックエンドを作成することができます。Back4appは、サーバーサイドの開発サイクルを加速させるために、10個のビルトインSDK、GraphQL、REST APIを提供しています。
価格
Back4app BaaSの重要なプランをご覧ください:
- 無料プラン:Back4appは、Flutterのバックエンドを低コストで探しているなら理想的なオプションだ。無料プランは250MBのクラウドストレージ、1GBの転送、25kのリクエスト、1GBのファイルストレージで構成されている。幸運なことに、このクラウドプラットフォームでは、クレジットカード情報を挿入することなくサインアップしてサービスを利用することができる。
- MVP:このオプションはMVPをリリースするのに適している。年間プランを選択した場合、$15/月が請求される。ここでは、2GBのデータストレージ、250GBのデータ転送、50GBのファイルストレージ、500,000のリクエストが主な内容です。
- 従量課金:スケーラブルなFlutterアプリケーションを構築する場合、このプランを選択することができる。このパッケージは使用したインスタンスに対してのみ費用がかかるが、年間課金で月額$80から利用できる。このプランでは、1TBの転送、4GBのデータストレージ、250GBのファイルストレージ、500万リクエストにアクセスできる。
- 専用:本番環境のアプリケーションに最適です。1TBのストレージ、アンメーターのリクエスト、5つのアプリのサブスクリプションがあり、年払いの場合、月額400ドルです。
2. Firebase
Firebaseは、Google傘下で動作するFlutterのバックエンドとして高く評価されているもう一つのものだ。このクローズドソースのBaaSプラットフォームは、リモート設定、リアルタイムのデータベース、ホスティング、ストレージを提供し、サーバーサイドのオペレーションを進める。
Firebaseでアカウントを作成し、FirebaseとFlutterFire CLIをインストールする必要がある。その上で、FlutterFire CLIを使って設定を行うとよいだろう。
この段階でFlutterアプリのFirebaseをオンにする必要がある。最後のステップは、Firebaseプラグインを組み込むことだ。
Lyft、Venmo、Duolingo、Halfbrickは、Firebaseの注目の技術系クライアントである。
コア機能
- データベース –Cloud FirestoreとRealtime DatabaseがFirebaseの主要なDBです。Realtime DBはJSONフォーマットで動作するNoSQLデータベースである。一方、Cloud Firestoreは、その高度な代替であり、オンラインとオフラインのデータアクセスを提供する。
- Cloud Functions – Firebaseは開発チームがサーバーレスのFlutterバックエンドを構築することを許可している。この点で、サーバーを扱うことなくFlutterアプリのスクリプトを実行できる。さらに、ビジネスロジックをエンドユーザーから分離してセキュリティを確保することができる。
- スケーラブルなホスティング –このBaaSベンダーは、Flutterのバックエンドをその場で作成してホスティングできる。この点で、サーバーサイドのインフラに対処する必要はありません。無料のSSL認証、スケーリング、高速CDNもFirebaseホスティングの利点です。
- クラウドストレージ – Firebaseは、Google PhotosやSpotifyがデータを提供・収集するために利用しているのと同じ技術を実践している。さらに、Firebase SDKの役割は、ユーザーがオフラインであろうとオンラインであろうと、クラウドストレージ機能を提供する上で非常に重要である。
価格
Firebaseには、以下の2つの価格モデルがあります:
- 無料:Firebaseの無料プランはSparkプランに分類される。無料プログラムでは、5GBのクラウドストレージ、10GBのホスティングストレージ、50kの月間アクティブユーザーなどを利用することができる。
- 従量制: Blazeプランでは、使用したインスタンスに対してのみ料金をお支払いいただきます。料金体系については、Blaze Calculatorをご利用ください。
3. Backendless
Flutterのバックエンドをローコードまたはノーコードのプラットフォームで高速に構築したいなら、Backendlessを試してみよう。
このプロバイダーは、開発チームがビジュアルなインターフェイスを通してFlutter SDKのバックエンドを作成・編集することを可能にする。さらに、Backendlessを使えばバックエンドとFlutterFlowをシームレスに接続できる。
リアルタイム・データベース、Pub/Subメッセージング、ロギング、キャッシュ、クラウド・コードの提供は、Backendlessがユーザーに提供する機能である。YTCount、FindMy+1、EatClubはこのクラウドプラットフォームの主要顧客である。
コア機能
- Backendlessデータベース –他のBaaSベンダーとは異なり、BackendlessはSQLとNoSQLアプローチをサポートするノーコード・データベースを提供している。リアルタイムのクエリ、SQL駆動の検索、スキーマ管理などを提供する。
- Hive –BackendlessはHiveという先進的なクラウドストレージシステムを利用している。このストレージ機能は多くのオープンソースのDB技術をバックアップしており、クライアントサイドと迅速に統合することができる。
- ユーザー管理 – ユーザー管理APIは、ユーザーを確認し、彼らの経験を整理するのに不可欠です。これは、開発者がソーシャルメディアやサードパーティの登録を採用することを可能にします。
- Cloud Code –この完全なサーバーレスプラットフォームを使えば、Flutterアプリにコードレスでビジネスロジックを追加できる。そのクラウドコード機能には、タイム、APIサービス、イベントハンドラが含まれます。
価格
それでは、Backendless Cloudの料金プランをご紹介しましょう:
- 無料プラン:他の人気バックエンド・サービスと同様、Backendlessにも無料プランがある。1分あたり50回のAPIリクエスト、1GBのファイルストレージ、10個のデータベーステーブルを無料でご利用いただけます。
- スケールプラン:Scale Planをご利用の場合、月々のご請求は$15/月からとなります。柔軟な制限、10GBのファイルストレージ、無制限の月間APIリクエスト、100のDBテーブルを提供します。
4. AWS Amplify
スタティスタの最近の調査によると、AWSはクラウドコンピューティング業界最大の株主であり、31%の市場シェアを占めている。
このうち、Amazon Web Servicesは約200の製品を提供しており、Amplifyはバックエンド開発で有名な企業である。
AWS Amplifyは非常にスケーラブルでアジャイルなフルスタックアプリケーション開発プラットフォームで、Flutterのバックエンドを構築するのに使うことができる。
開発者はFlutterのバックエンドとAmazon S3、Lambda、DynamoDBなどのコンピューティングリソースを素早く接続できる。
AWS Amplifyの主要顧客といえば、Abit Agritech、Amazon Music、Medialityなどが挙げられる。
コア機能
- Amplify Flutter –FlutterはAmplifyが公式にサポートしているフレームワークやライブラリの1つです。そのため、オープンソースのFlutterライブラリを完全なドキュメント付きで提供している。Amplify FlutterはAndroid、iOS、ウェブ、Linux、Windows、MacOSに対応している。
- 認証 – Amazon Cognitoの強力なバックアップにより、Amplifyは完全に管理されたユーザー認証システムを備えています。人気のソーシャルアプリやAmazonからログインすることができます。
- DataStore – このストレージエンジンは、開発者が追加のコードをスクリプトすることなく、オフラインまたはオンラインでデータにアクセスすることを許可する。この点で、このBaaSはAWS AppSyncの支援も受けている。
- Functions –GraphQLとREST APIをシームレスに使って、FlutterアプリケーションにLambda Functionsを追加できる。ここで、Amplify CLIで@functionコマンドを実行する必要がある。
価格
AWS Amplifyは、Flutterアプリケーションのバックエンドを開発するための無料スタートプランを提供している。
Amplify Studio、Amplify Libraries、Amplify CLIは無料です。無料プランでは、毎月1kビルド分、5GBのデータストレージ、15GBのデータ転送が利用できる。
一方、アンプリファイの従量課金モデルでは、データの保存と転送にそれぞれ、1分あたり0.01ドル、1GBあたり0.023ドル、1GBあたり0.15ドルがかかる。
5. Parse
Parseもまた、Flutterプログラマーがよく使うオープンソースのBaaSプロバイダーだ。Node.js、PostgreSQLを活用したバックエンドの作成とデプロイを可能にする。
認証、オブジェクト&ファイルストレージ、プッシュ通知のほか、GitHubで公開されているFlutter SDKにもシームレスにアクセスできる。
Metaはすでに様々な技術スタックでParse Platformをテストしている。そのため、安心してこのバックエンドを採用することができる。StackShareによると、Weebly、500px、Bubble、AccentureがParseを使用している代表的な企業です。
コア機能
- ホスティングの自由度 –Parseはハードウェアとクラウドインフラを完全にコントロールできます。また、クラウドやセルフホスティングのオプションを自由に選択できます。Back4appによるParse Serverの利用は、この点で理想的な選択です。
- プッシュ通知 –プッシュ通知はFlutterアプリのユーザーを惹きつける上で非常に重要です。さらに、Parse ServerはAndroidとiOSデバイス用のプッシュ通知を素早く生成することができます。
- スプレッドシートのようなデータベース –このBaaSプロバイダーは、リアルタイムのデータベース機能を備え、JSONデータモデルに従っている。また、データの同期、クエリ、バックログも可能だ。
- GraphQL & REST API –Parse Server を使用すると、強力な REST および GraphQL API を迅速に構築できます。このため、これらの動的 API を構築するために追加のコードを記述する必要はありません。
価格
Parse Platformはオープンソースのフリーミアムソリューションです。つまり、費用は一切かかりません。
6. Appwrite
Flutterアプリのデータをセルフホストしたい場合でも、バックエンドをクラウド上にデプロイしたい場合でも、Appwriteは適用可能なプラットフォームだ。
99.99%の稼働率で、Appwriteは2万もの組織が9万ものプロジェクトを構築し、10億ものリクエストに対応する手助けをしてきました。
さらに、ユーザーフレンドリーでダークなダッシュボードは、開発者や企業にとって楽なものだ。IBM、Intel、Deloitte、TikTokがAppwriteの顧客である。
コア機能
- 認証 –30以上の登録方法でFlutterアプリのユーザーを認証できます。ログインテンプレートをパーソナライズし、ユーザーアクセスをカスタマイズします。また、開発チームの役割に応じてアクセスをカスタマイズすることもできます。
- データベース –機敏なキャッシュ機能を備えた拡張性の高いデータベースは、Appwriteの他の属性である。この特性により、様々なファイルタイプやフォーマットでデータをバックログすることができます。
- 関数 – Appwriteを使用している間、30以上のランタイムで関数を実行することができます。また、GitHubのようなGitリポジトリサービスを通じて、これらの関数を設定することができます。
- 簡単なデータ移行 –簡単なデータ移行も魅力のひとつだ。クラウドやセルフホスト型バックエンドのデータをその場で移行できる。また、サードパーティ間でデータを移行することもできる。
価格
以下はAppwriteの3つの価格モデルである:
- Starter: このフリーウェア・ソリューションは、学生やプロトタイプ・プロジェクトに最適です。豊富なコミュニティサポート、10GBの帯域幅、2GBのストレージ、750kの実行回数がStarterパッケージの主な特徴です。
- プロ:このプログラムでは、350万件の約定、150GBのストレージ、300GBの帯域幅にアクセスするために、メンバーごとに月額15ドルが請求されます。
- 規模: 本番レベルのアプリケーションをホストするためにこのプランを採用することができます。1,000万回の実行、500GBのストレージ、5TBの帯域幅にアクセスするには、月額685ドルかかります。
7. NHost
Firebaseは広く使われているFlutter SDKのバックエンドだが、GraphQLのサポートがない。また、Firebaseはクローズドソースのプラットフォームだ。
これらの矛盾に対処するには、NHostを採用すべきです。そう、NHostはオープンソースのFirebase代替ツールで、GitHubで7.4kのリポジトリスターがある。
このクラウドソリューションを利用するだけで、短期間でFlutter SDKのバックエンドを作ることができる。新しいFlutterプロジェクトにも、既存のFlutterプロジェクトにも同じように有益だ。
Midnight Society、RevTron、およびReact Flowは、それぞれ異なる技術スタックにおいてNHostと提携している主要企業です。
コア機能
- 関数 –これらのサーバーレス関数を通して、Flutterアプリにカスタムビジネスロジックを含めることができる。開発者はイベントをトリガーしたり、NHostを使って変数を図示することもできます。
- 認証 – ユーザー認証はもう一つの強力なNHost機能です。多くの手段でユーザー登録を許可するだけでなく、全体的なエクスペリエンスを保護します。ここでは多要素認証が重要な役割を果たします。
- Postgres Database –このBaaSベンダーは、Postgres DBを扱うためのスプレッドシートのようなインターフェースを持っている。この機能を使えば、データやテーブルを素早く追加、削除、変更、削除できる。
- ストレージ – 高度に最適化されたストレージは魅力的な機能であり、Flutter開発者がこれを選ぶ理由だ。開発チームはグローバルCDNにデータファイルをサーバーし、このプラットフォームを使ってデータセットをバケットに分けることができる。
価格
以下はNHostの4つのプランである:
- Starter: このパッケージでは、1GBのデータベース、1GBのストレージ、無制限のユーザー、5GBのイグジットが無料でご利用いただけます。そう、これは無料プランなのだ。
- プロProプログラムの月額およびプロジェクトごとのコストは25ドル。50GBのストレージ、10GBのデータベース、50GBのイグレスをご利用いただけます。
- チーム: 拡張性の高いプロジェクトに取り組む開発チームは、Teamプランをお選びください。月額料金はプロジェクトあたり599ドルから。
- Enterprise: カスタマイズされたインスタンスが必要な場合は、Enterpriseオプションをご利用ください。このプロジェクトの詳細については、営業チームにお問い合わせください。
8. 8Base
8Baseもまた、ローコードのFlutterバックエンド・ビルダーだ。フルスタックのアプリケーション開発プラットフォームで、2つの製品がある:
Backend as a Service (BaaS)とApp Builderだ。Flutterのサーバーサイドの機能を扱うのに、BaaS製品の恩恵を受けることができる。
このBaaSソリューションでは、バックエンドを稼働させるのに5分しかかからない。このプラットフォームは、サーバーサイドのサポートを提供するクライアントサイドのテクノロジーとして、Flutterについても公式に言及している。
8Baseを利用している主な企業には、Honda Livo、Photag、そしてJebelがあります。
コア機能
- GraphQL API Engine –自動生成されるGraphQL APIは8Baseの素晴らしい機能です。GraphQL Engineを利用することで、バックエンドの開発をよりスムーズに、よりモダンにすることができます。
- データ・モデリング –開発チームはデータ・モデリングでデータ・スキーマを簡単に解釈できる。ここでは、データ型とその関係を詳しく説明するために、ドラッグ・アンド・ドロップのプロパティを見つけることができます。
- 関数 –TypeScriptとJavaScriptを利用して、Flutterアプリのバックエンド関数をコーディングするだけだ。後で、これらのサーバーレス関数を実行することで、アプリにロジックを追加できる。
- ロールの設定 –8Baseでは、ロールの設定とユーザーアクセス制御のカスタマイズは簡単です。視覚的なインターフェイスでロールを変更することができます。
価格
8Baseの価格モデルをご覧ください:
- 無料:このプランでは、8Baseを使って無料でバックエンドの構築を始めることができます。2.5kのDB行数、2GBの月間帯域幅、0.5GBのファイルストレージを提供します。
- デベロッパー Developerプランでは、500kDB行、50GBファイルストレージ、50GB月間帯域幅に近づくことができます。月額$25です。
- プロフェッショナルProfessionalパッケージは、月額$50/開発者で、500万DB行、250GBファイルストレージ、150GB月間帯域幅を提供します。
- エンタープライズ: このプランでは、DB行数、ファイルストレージ、帯域幅が無制限で、月額75ドル/開発者です。
比較表
名称 | 無料 | 開始価格 | コア機能 |
Back4app | はい | MVPプランは月額15ドルから(年間請求の場合) | Real-time Database Cloud Code Functions Authentication APIs & SDKs |
Firebase | はい | ペイ・アズ・ユー・ゴー | Databases Cloud Functions Scalable Hosting Cloud Storage |
Backendless | はい | Scaleプランは月額15ドル以上。 | Backendless Database Hive User Management Cloud Code |
AWS Amplify | はい(ただし、クレジットカード情報を挿入する必要があります) | ペイ・アズ・ユー・ゴー | Amplify Flutter Authentication DataStore Functions |
Parse | フリーミアム・ソリューション | フリー&オープンソースのBaaSプロバイダー | Hosting Freedom Push Notifications Spreadsheet-like Database GraphQL & REST APIs |
Appwrite | はい | プロ・プランは月額15ドル/会員 | Authentication Databases Functions Easy Data Migrations |
NHost | はい | プロ・パッケージは1プロジェクトにつき月25ドル請求 | Functions Authentication Postgres Database Storage |
8Base | はい | デベロッパープランは月額25ドル | GraphQL API Engine Data Modeling Functions Configure Roles |
結論
Flutter SDKに適したバックエンドを見つけるのは難しい仕事だ。そこで私たちは、Flutter用のトップバックエンドを、そのコア機能と価格詳細とともに紹介します。
ほとんどのBaaSには無料版が用意されており、誰でも簡単にテストすることができる。しかし、あなたのニーズに応じて、より互換性のあるBaaSベンダーを選択することをお勧めします。