Firebase

Firebaseは、2011年にFirebase, Inc.が開発したモバイル・Webアプリケーション開発プラットフォームで、その後2014年にGoogleに買収された。 2020年3月現在、Firebaseプラットフォームには19の製品があり、9GAGを含む150万以上のアプリが利用されている。

1. 歴史
-----

Firebaseは、2011年にJames TamplinとAndrew Leeによって設立されたスタートアップEnvolveから発展した。Envolve は、オンラインチャット機能をウェブサイトに統合するための API を開発者に提供していた。チャットサービスをリリースした後、Tamplin と Lee は、チャットメッセージ以外のアプリケーションデータを渡すために Envolve が使用されていることに気づいた。開発者は、ゲームの状態などのアプリケーションデータをユーザー間でリアルタイムに同期させるためにEnvolveを使用していた。TamplinとLeeは、チャットシステムとそれを支えるリアルタイムアーキテクチャを分離することにした。 2011年9月に別会社としてFirebaseを設立し[1]、2012年4月に一般公開した。

Firebaseの最初の製品は、iOS、Android、Webデバイス間でアプリケーションデータを同期し、Firebaseのクラウド上に保存するAPI「Firebase Real-time Database」である。この製品は、ソフトウェア開発者がリアルタイムでコラボレーティブなアプリケーションを構築するのを支援する。

ベータローンチから1ヶ月後の2012年5月、FirebaseはベンチャーキャピタルのFlybridge Capital Partners、Greylock Partners、Founder Collective、New Enterprise Associatesから110万ドルのシード資金を調達した。 2013年6月にはさらに、Union Square VenturesとFlybridge Capital Partnersから560万ドルのシリーズA資金を調達した。

2014年、Firebaseは2つの製品を発表した。Firebase Hosting とFirebase Authenticationである これにより、モバイルバックエンドをサービスとして位置づけた。

2014年10月、FirebaseはGoogleに買収された。 その1年後の2015年10月、GoogleはHTML5ウェブホスティングプラットフォームのDivshotを買収し、Firebaseチームと合併した 。

2016年5月、同社が毎年開催している開発者向けカンファレンス「Google I/O」において、FirebaseはFirebase Analyticsを導入し、モバイル開発者向けの統合BaaSプラットフォームとしてサービスを拡充することを発表した。Firebaseは現在、Google Cloud Platform、AdMob、Google Adsなど、他のさまざまなGoogleサービスと統合し、より幅広い製品と開発者向けのスケールを提供している。Android端末にプッシュ通知を配信するGoogleサービス「Google Cloud Messaging」は、Firebaseの製品「Firebase Cloud Messaging」に取って代わられ、iOSとWeb端末の両方にプッシュ通知を配信する機能が追加されていた。2017年1月、GoogleはTwitterからFabricとCrashlyticsを買収し、それらのサービスをFirebaseに追加した 。

2017年10月、Firebaseは初代Firebase Realtime Databaseの後継製品として、リアルタイムドキュメントデータベース「Cloud Firestore」の提供を開始した。

2. サービス内容
---------

2.1. 分析
-------

2.1.1. Google Analytics
-----------------------

Google Analyticsは、アプリの利用状況やユーザーのエンゲージメントに関する洞察を提供する無償のアプリ測定ソリューションである。

2.2. Develop
------------

2.2.1. Firebase Cloud Messaging
-------------------------------

以前はGoogle Cloud Messagingとして知られていたFirebase Cloud Messagingは、Android、iOS、Webアプリケーション向けのメッセージと通知のためのクロスプラットフォームソリューションで、2016年現在では無償で利用できるようになっている。

2.2.2. Firebase Authentication
------------------------------

Firebase Authenticationは、クライアント側のコードのみでユーザーを認証できるサービスである。ソーシャルログインプロバイダであるFacebook、GitHub、Twitter、Googleをはじめ、Google Play Games、Apple、Yahoo、Microsoftなどのサービスプロバイダをサポートしている。また、ユーザー管理システムを搭載しており、開発者はFirebaseに保存されている電子メールとパスワードによるユーザー認証を有効にすることができる。

2.2.3. Firebase Realtime Database
---------------------------------

Firebaseはリアルタイムデータベースとバックエンドをサービスとして提供している。このサービスはアプリケーション開発者にAPIを提供し、アプリケーションデータをクライアント間で同期させ、Firebaseのクラウド上に保存することを可能にしている。データベースには、REST APIとAngularJS、React、Ember.js、Backbone.jsなどのいくつかのJavaScriptフレームワーク用のバインディングを介してアクセスすることもできる。リアルタイムデータベースを利用する開発者は、同社のサーバーサイドで強化されたセキュリティルールを利用することで、データの安全性を確保することができる。

2.2.4. Cloud Firestore
----------------------

2019年1月31日、Cloud Firestoreが正式にベータ版として公開され、Firebaseの正式製品となった。 Firebase独自のデータベース化システムであるReal-time Databaseの後継システムであり、Real-time Databaseで提供されていたツリービューではなく、入れ子になったドキュメントやフィールドを利用できるようになっている。

2.2.5. Firebase Storage
-----------------------

Firebase Storageは、ネットワークの品質に関係なく、Firebaseアプリのための安全なファイルのアップロードとダウンロードを提供し、画像、オーディオ、ビデオ、またはその他のユーザーが作成したコンテンツを保存するために使用される。これはGoogle Cloud Storageによってバックアップされている。

2.2.6. Firebase Hosting
-----------------------

Firebase Hostingは、2014年5月13日にサービスを開始した静的・動的Webホスティングサービスである。CSS、HTML、JavaScriptなどの静的ファイルのホスティングや、Cloud Functionsによるサポートに対応している 。 サービスは、HTTP SecureやSecure Sockets Layer暗号化を利用して、CDNを介してファイルを配信する。FirebaseはCDNであるFastlyと提携し、Firebase Hostingを支えるCDNを提供している。同社によると、Firebase Hosting は顧客からの要望から生まれたもので、開発者はリアルタイムデータベースとして Firebase を利用しているが、コンテンツをホスティングする場所を必要としていた。

2.2.7. ML Kit
-------------

ML Kitは、2018年5月8日にGoogle I/O 2018でベータ版として発表された開発者向けのモバイル機械学習システムである。 ML KitのAPIには、光学式文字認識、顔検出、バーコードのスキャン、画像のラベル付け、ランドマークの認識など、さまざまな機能が搭載されている。現在、iOSまたはAndroidの開発者向けに提供されている。与えられたAPIでは不十分な場合は、独自のTensorFlow Liteモデルをインポートすることもできる。 APIはオンデバイスまたはオンクラウドで使用することができる。

2.3. 安定性
--------

2.3.1. 障害解析
-----------

クラッシュレポートでは、アプリ内のエラーの詳細なレポートを作成する。エラーは、類似したスタックトレースのクラスタにグループ化され、アプリユーザーへの影響の深刻度によってトリアージされる。自動レポートに加えて、開発者はカスタムイベントをログに記録して、クラッシュに至るまでの手順を把握するのに役立つ。

2.3.2. 性能評価
-----------

Firebase Performanceは、アプリのパフォーマンスとアプリのユーザーが体験するレイテンシーについての洞察を提供する。

2.3.3. Firebase Test Lab
------------------------

Firebase Test Labは、AndroidとiOSのアプリを一括してテストするためのクラウドベースのインフラを提供する。開発者は、様々なデバイスやデバイス構成でアプリをテストすることができる。テスト結果は、Firebaseコンソールで確認することができる。開発者がアプリのテストコードを書いていなくても、Test Lab は自動的にアプリを動作させ、クラッシュを探すことができる。Test Lab for iOSは現在ベータ版である。

2.3.4. Admob
------------

AdmobはFirebaseのオーディエンスと統合されたGoogleの製品である。

2.4. Grow
---------

2.4.1. Firebase Dynamic Links
-----------------------------

Dynamic Firebase linksは、デスクトップのウェブブラウザ、iOS、Android、モバイルアプリへの詳細なリンクなど、複数のプラットフォームで「最高の体験」を提供するために、動的に挙動を変化させるスマートなURLである。ダイナミックリンクはすべてのアプリのインストールで機能する。ユーザーがiOSまたはAndroidでダイナミックリンクを開き、アプリがインストールされていない場合、まずアプリをインストールするように促される。インストールされると、アプリケーションは実行を開始し、リンクにアクセスできるようになる。

3. 参照
-----

4. 外部リンク
--------