.net column

.NET開発者のためのブログメディア

Firebaseでできることは?Firebaseが提供する機能を紹介

2020年06月10日

SE
Firebaseでできることには、どのようなことがあるのでしょうか?

PM
さまざまな機能があるので、詳しくご紹介していきましょう。

Firebaseとは?

Firebaseは、Googleが提供するモバイルアプリケーション、webアプリケーション用のプラットフォームです。データベース、API、アナリティクス、メッセージングなど幅広いバックエンドサービスを提供します。Firebaseの全ての機能は、これもGoogleが提供するクラウドサービスであるGCP上に構築されます。GCPは、Gmail、Googleマップ、YouTubeなど、Googleの代表的なサービスを支えているため、信頼性が高いことが魅力です。

Firebaseが提供する機能

Firebaseは、幅広いバックエンドサービスを提供し、アプリケーション開発で必要となるあらゆる機能をサポートしています。これから、Firebaseが提供する代表的な機能について紹介します。

Cloud Firestore

Cloud Firestoreは、モバイルアプリケーションやwebアプリケーション用に構築されたNoSQLデータベースです。後述するCloud Functionsと組み合わせることで、サーバレスでアプリケーションを構築できます。また、Firestoreにはデバイス間でデータを自動的に同期する機能があります。オンラインでもオフラインでもデータの整合性を保ち、データの変更を通知します。これにより、高いユーザーエクスペリエンスを提供するリアルタイムアプリケーションを構築することができます。

Cloud Functions

Cloud Functionsは、Firebase上で起きるイベント(Cloud Firestoreにおけるデータの変更、Authによる新規ユーザの登録など)をトリガーとして発火する関数を作成する機能です。コマンド1つでデプロイが可能で、メンテナンスが容易な点も魅力です。Cloud Functionsを利用することで、アプリケーション内のロジックをクライアントから隔離することができます。これにより、クライアント側での不正を防ぎ、アプリケーションを安全に維持することに繋がります。

Authentication

Authenticationは安全な認証システムを提供します。メールアドレスとパスワード、Googleアカウント、Facebook、Twitter、GitHubなど、幅広い認証方法に対応している点が魅力です。Authenticationは、Googleが提供するGoogleアカウントによるログイン機能と同じ開発チームが構築していることから、セキュリティの観点でも安全に利用することができます。

Firebase Hosting

Firebase Hostingは、webアプリケーションを簡単に公開することができる機能です。デプロイしたファイルは世界中に配置されたCDNにキャッシュされ、高速に配信されます。Cloud Functionsと同様にコマンド1つでデプロイが可能です。また、SSL通信に関するステップを大幅に省略することができます。無料で証明書をプロビジョニングし、簡単にSSL通信を実装できます。

Cloud Storage

Cloud Storageは、アプリケーションで必要となる画像や動画などのファイルを保存するストレージサービスです。ユーザのネットワーク接続状況の切断や回復を判断し、データ転送の一時停止や再開を自動的に行うことで、確実なアップロードとダウンロードを提供します。Cloud StorageはAuthenticationと統合されており、シンプルなアクセス制御を実装できます。これによって、強力なセキュリティによってデータを守ることができます。

Google Analytics for Firebase

Google Analytics for Firebaseは、アプリケーションを利用するエンドユーザのさまざまな行動を分析する機能です。クラッシュデータ、通知の効果、アプリ内課金などをデータ化し、マーケティング戦略の判断材料に利用することができます。

Cloud Messaging

Cloud Messagingは、あらゆるデバイスに通知を送信する機能です。Google Analytics for Firebaseに統合され、通知の有効性を簡単にデータ化することが可能です。通知するコンテンツは、優先度、サウンド、有効期限など多くのカスタマイズができます。通知をすぐに配信することも、現地のタイムゾーンに合わせて適切な時間に配信することも可能です。

Firebaseの料金体系

Firebaseには現在、制限付きで利用可能な無料プランであるSparkプランと、制限なしで利用可能な従量課金制のBlazeプランの2つの料金プランが存在します。ここでは、2つの料金プランの違いについて説明します。

Sparkプラン

Sparkプランは、制限付きで利用可能な無料のプランです。Firestoreでは1日の書き込み2万件、読み取りは5万件、Cloud Functionsでは関数の呼び出しが1月に12.5万件など、複数の制限が設けられています。アプリケーションの構築方法やプログラムを工夫することで、これらの制限内でもアプリケーションを構築することが可能ですが、リアルタイムアプリケーションなどを構築する場合は、Firestoreの制限に引っかかりやすいので注意しましょう。

Blazeプラン

Blazeプランは、制限なしで利用できる従量課金制のプランです。Firestoreでは、書き込み10万件あたり0.18$、読み取り10万件あたり0.06$など、件数や通信データ量ごとに〇〇$というように定められています。リアルタイムアプリケーションでは1日に数十万件の読み書きを行うため、料金が予想以上に膨らむ可能性があります。プログラムを工夫して読み書きの回数を減らし、料金を抑えることが可能なのでぜひ検討しましょう。

Firebaseの利用方法

Firebaseの主要な機能を理解したところで、実際にFirebaseを利用してみましょう。無料の範囲内でも多くの機能を利用できるため、実際に使ってその凄さを実感しましょう。上記のリンクをクリックして、Firebaseの公式サイトに移動します。公式サイトに移動すると、「使ってみる」というボタンがあるので、こちらをクリックしましょう。すると、Firebaseのコンソール画面に移動することができます。

プロジェクトの作成手順

Firebaseは、「プロジェクト」という単位でアプリケーションを管理します。「プロジェクトを追加」というボタンでプロジェクトを新規作成しましょう。プロジェクトの名前を入力した後、Googleアナリティクスの利用について聞かれますが、そのまま「続行」をクリックしましょう。次に、Googleアナリティクスの構成について聞かれますが、「Default Account for Firebase」を選択して、「プロジェクトを作成」をクリックします。これで、プロジェクトを作成することができました。

プロジェクトの作成後にすべきこと

プロジェクトの作成後は、プロジェクト内で実際にFirestoreやAuthなどの機能を使用することができます。扱いやすく便利なデータベースであるFirestoreから利用を始めましょう。

SE
Firebaseは、無料の範囲内でも多くの機能を利用できるのですね。

PM
そうですね。まずは無料の範囲から利用してみるのがおすすめです。

あなただけの最高のアプリケーションを構築しよう

Firebaseのさまざまな機能を駆使することで、品質の高いアプリケーションを簡単に構築することができます。Firebaseを利用して、あなただけの最高のアプリケーションを構築しましょう。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)