Firebase

**Firebase** 是 Firebase,Inc. 在 2011 年發布的行動和網路應用程式開發者平台，在 2014 年被 Google 收購。

截至 2020 年 3 月，Firebase 平台擁有 19 項產品，它們被超過 150 萬個應用程式採用。

## 歷史

Firebase 是由 Envolve 發展而來，Envolve 是 James Tamplin 和 Andrew Lee 於 2011 年創立的新創公司。 為開發人員提供了一個可以將在線對話功能置入他們網站中的 API。釋出對話服務後，Tamplin 和 Lee 發現，該服務被用於傳遞應用程式的數據而非預想的聊天訊息。開發人員將 Envolve 用在使用者的即時應用數據同步，例如遊戲狀態。 Tamplin 和 Lee 決定將聊天系統和其背後的即時資訊系統分開。 他們在 2011 年 9 月成立了 Firebase 作為獨立公司，並在 2012 年 4 月向大眾發布。 

Firebase 的第一個產品是 Firebase 實時資料庫，該 API 可在 iOS，Android 和 Web 裝置之間同步應用程式數據，並將其儲存在 Firebase 的雲端中。該產品可幫助軟體開發人員構建實時的協作應用程式。

在測試版發布一個月後的 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 推出兩個產品。

Firebase 代管服務與 Firebase 身分驗證。這個舉動使公司的定位成為「後端即服務」 。

2014 年 10 月，Firebase 被 Google 收購。一年後的 2015 年 10 月，Google 收購了 HTML5 網路代管平台 Divshot，將其與 Firebase 團隊合併。

在 2016 年 5 月的 Google I / O 公司年度開發者大會上，Firebase 推出了 Firebase Analytics，並宣布將其服務擴展為移動開發人員的統一後端即服務（BaaS）平台。Firebase 現在與其他各種 Google 服務整合在一起，包括 Google Cloud Platform，AdMob 和 Google Ads，為開發人員提供更廣泛的產品和規模。Firebase 的產品 Firebase Cloud Messaging 取代了 Google Cloud Messaging（向 Android 裝置發送推播通知的 Google 服務），該產品添加了向 iOS 和 Web 裝置傳遞推播通知的功能。2017 年 1 月，Google 收購來自 Twitter 的 Fabric 與 Crashlytics 並將它們提供的服務添加到 Firebase 之中。

2017 年 10 月，Firebase 推出了 Cloud Firestore，這是一個實時檔案資料庫，是 Firebase Realtime Database 的後繼產品。

## 服務

### 分析工具

Google Analytics（分析）是一種免費的應用評估解決方案，可提供有關應用使用情況和使用者參與度的見解。

### 開發工具

#### Firebase 雲端訊息傳送

Firebase Cloud Messaging（FCM）曾被稱作 Google Cloud Messaging（GCM），是用於 Android，iOS 和網路應用程式的訊息和通知的跨平台解決方案，自 2016 年起可以免費使用。

#### Firebase 身分驗證

Firebase 身分驗證是一項可以僅使用客戶端代碼對使用者進行身分驗證的服務。它支援社交平台驗證供應商 Facebook、GitHub、Twitter 和 Google 以及其他服務提供商，例如 Google Play Games、Apple、Yahoo 和 Microsoft。此外，它包括一個使用者管理系統，開發人員可以使用 Firebase 儲存的電子郵件和密碼登錄來啟用使用者身分驗證。

#### Firebase 即時資料庫

Firebase 提供了實時資料庫和後端即服務。該服務為應用程式開發人員提供了一個 API 允許應用程式數據能跨客戶端同步儲存在 Firebase 的雲端空間上。 該公司提供的客戶端包含 Android、iOS、JavaScript、Java、Objective-C、Swift 和 Node.js 應用程式。 也可以透過 REST API 或綁定數個 JavaScript 框架（例如 AngularJS、React、Ember.js 和 Backbone.js）來存取資料庫。 REST API 使用伺服器事件發送協定，這個協定是被用於建立 HTTP 與伺服器間推播通知之橋梁的 API。 使用實時資料庫的開發人員可以使用公司的伺服器端強制執行的安全規則來保護其數據。 

#### Cloud Firestore

在 2019 年 1 月 31 日，Cloud Firestore 正式脫離 beta 版，使其成為 Firebase 系列的正式產品。 它是 Firebase 原始資料庫系統 Real-time Database 的後繼產品，並且允許巢狀文件和欄位，而不是 Real-time Database 中提供的樹狀視圖。

#### Firebase Storage

無論網路頻寬為何，Firebase Storage 均可為 Firebase 應用程式提供安全的檔案上傳和下載，以用於儲存圖像、音訊、影片或其他使用者生成的內容。 它由 Google Cloud Storage 提供技術支援。 

#### Firebase Hosting

Firebase Hosting 是一項靜態與動態的 Web 代管服務 ，於 2014 年 5 月 13 日啟動。它支援代管靜態檔案，例如 CSS、HTML、JavaScript 和其他檔案，還有支援 Cloud Functions。 這項服務透過 HTTP 安全 （HTTPS）和安全通訊端層加密（SSL）並藉由內容傳遞網路 （CDN）來傳遞文件。 Firebase 與 CDN Fastly 合作提供基於 CDN 的 Firebase 代管服務。 這間公司指出，Firebase Hosting 的發展源於客戶的要求。開發人員將 Firebase 用於其實時資料庫，但需要一個代管其內容的地方。 

#### 機器學習套件

ML Kit 是面向開發人員的行動機器學習系統，2018 年 5 月 8 日在 Google I / O 2018 的 以 beta 版發布。 ML Kit API 具有多種功能，包括光學字元識別、檢測人臉、掃描條形碼、標記圖像和識別地標。當前可用於 iOS 或 Android 開發人員。如果給定的 API 不夠，您也可以匯入自己的 TensorFlow Lite 模型。 這些 API 可以在裝置上或在雲端上使用。

### 穩定性

#### 錯誤報告

崩潰報告可建立有關應用程式錯誤的詳細報告。將錯誤分組為具有類似堆棧跟蹤的群集，並根據對應用程式使用者的影響的嚴重程度對其進行分類。除了自動報告，開發人員還可以記錄自訂事件，以幫助捕獲導致崩潰的原因。 在收購 Crashlytics 之前，Firebase 使用的是自己的 Firebase Crash Reporting。

#### 效能

Firebase Performance 提供有關應用程式效能和使用者體驗的延遲的分析。

#### Firebase 測試實驗室

Firebase 測試實驗室提供了基於雲端的基礎架構，用於一次操作即可測試 Android 和 iOS 應用。開發人員可以在各種裝置和裝置組態中測試他們的應用程式。

Firebase 控制台提供了包括運行紀錄，影片與螢幕截圖在內的測試結果。即使開發人員沒有為其應用編寫任何測試代碼，測試實驗室也可以自動運行該應用來尋找錯誤。 目前，iOS 測試實驗室仍處於測試階段。 

#### Admob

Admob 是接入 Firebase 的 Google 產品之一。

### 增長

#### Firebase 動態鏈結

動態 Firebase 鏈結是智慧型 URL，可動態更改其行為以在多個平台（包括電腦網路瀏覽器，iOS 和 Android）以及行動應用程式的深入鏈結中提供「最佳可用體驗」。動態鏈結可在所有應用安裝中使用：如果使用者在 iOS 或 Android 上打開動態鏈結，但未安裝該應用，則系統將提示使用者先安裝該應用。安裝後，該應用程式將開始運行並可以存取該鏈結。 

## 參見

## 外部連結

* 官方網站