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

- システム
エンジニア - Firebaseでできることには、どのようなことがあるのでしょうか?
- プロジェクト
マネージャー - さまざまな機能があるので、詳しくご紹介していきましょう。
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」を選択して、「プロジェクトを作成」をクリックします。これで、プロジェクトを作成することができました。
- システム
エンジニア - Firebaseは、無料の範囲内でも多くの機能を利用できるのですね。
- プロジェクト
マネージャー - そうですね。まずは無料の範囲から利用してみるのがおすすめです。
プロジェクトの作成後にすべきこと
プロジェクトの作成後は、プロジェクト内で実際にFirestoreやAuthなどの機能を使用することができます。扱いやすく便利なデータベースであるFirestoreから利用を始めましょう。
あなただけの最高のアプリケーションを構築しよう
Firebaseのさまざまな機能を駆使することで、品質の高いアプリケーションを簡単に構築することができます。Firebaseを利用して、あなただけの最高のアプリケーションを構築しましょう。
FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
株式会社オープンアップシステムはこんな会社です
秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
数多くのエンジニアが集まります。

-
スマホアプリから業務系システムまで
スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。
-
充実した研修制度
毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。
-
資格取得を応援
スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。
-
東証プライム上場企業グループ
オープンアップシステムは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
株式会社オープンアップシステムに興味を持った方へ
株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。


新着案件New Job
-
開発エンジニア/東京都品川区/【WEB面談可】/在宅ワーク
月給29万~30万円東京都品川区(大崎駅) -
遠隔テストサービス機能改修/JavaScript/東京都港区/【WEB面談可】/テレワーク
月給45万~60万円東京都港区(六本木駅) -
病院内システムの不具合対応、保守/東京都豊島区/【WEB面談可】/テレワーク
月給30万~30万円東京都豊島区(池袋駅) -
開発/JavaScript/東京都豊島区/【WEB面談可】/テレワーク
月給50万~50万円東京都豊島区(大塚駅) -
債権債務システム追加開発/東京都文京区/【WEB面談可】/在宅勤務
月給62万~67万円東京都文京区(後楽園駅) -
PMO/東京都豊島区/【WEB面談可】/在宅勤務
月給55万~55万円東京都豊島区(池袋駅)