Firebase 相關


谷歌在 2016年 I/O 大會上推出了 Firebase 的新版本。Firebase 平台提供了為移動端(iOS和Android)和 Web 端創建后端架構的完整解決方案。

從一開始的移動后端即服務(Mobile-Back-end-as-a-Service,簡稱 MBaas),Firebase 已經被谷歌改造成了針對移動開發和 Web 開發的一個完整后端解決方案。Firebase 提供了一個 SDK 和 一個控制台,用於創建和管理 Android、iOS和 Web 等多個平台的應用。Firebase 擁有以下特性:

  • AdMob —— 集成了谷歌 AdMob 
  • AdWords —— 集成了谷歌 AdWords 
  • 統計分析(Analytics) —— 用於監控用戶行為、人群特征細分、活動效果分析 
  • 崩潰報告(Crash Reporting) —— 監控各類設備上應用的錯誤。與統計分析特性集成,評估應用崩潰時的用戶行為 
  • 數據庫 —— 用於存儲 JSON 數據的 NoSQL 數據庫 
  • 動態鏈接(Dynamic Links) —— 將用戶帶至應用內預期頁面的深度鏈接(deep links) 
  • 托管(Hosting) —— 針對 Web 應用的全球 CDN 
  • 索引(Indexing) —— 對應用進行索引,用於谷歌搜索 
  • 邀請(Invites) —— 支持用戶與其他用戶分享有關應用的信息 
  • 消息(Messaging) —— 即此前的 Google Cloud Messaging,后來被重新命名為 Firebase Cloud Messaging 
  • 通知(Notifications) —— 管理發給用戶的通知 
  • 離線(Offline) —— 支持應用在本地緩存中存儲數據,這樣可以在離線時保持運行 
  • 實時(Real Time) —— 數據實時保存至雲數據庫 
  • 遠程配置(Remote Config) —— 支持開發者在不要求用戶下載新版本 app 的情況下,修改應用的行為和外觀。該特性用於修改應用的視覺主題,滿足不同用戶群組的需求,運行 A/B 測試等。 
  • 存儲(Storage) —— 存儲用戶的語音、圖片和視頻 
  • 同步(Synchronization) —— 當設備上的數據變動時,將會推送至 Firebase,然后再推回到所有相關聯的設備。另外,離線后重新在線使用時,設備將自動更新至最近的快照 
  • 測試實驗室(Test Lab) —— 在真實設備上測試應用

以上所有特性在進行 Android 和 iOS 開發時均可使用,除了測試實驗室不支持 iOS 設備。部分特性尚不支持 Web 應用。

Firebase SDK 支持以 C++、Java、JavaScript、JavaScript/Node.js、Objective-C 和 Swift 等語言進行編程。對 Angular、Backbone、Ember 和 React 的支持通過對數據庫的綁定實現。谷歌提供了一些輔助開發庫:Firebase UI、Geofire、Firebase Queue、FirebaseJobDispatcher。這些庫的名稱說明了各自的用途。Firebase 還支持導入大規模 JSON 數據集,可與 ElasticSearch 集成。

Firebase 由谷歌維護,托管在其雲數據中心。對於想體驗的用戶,FIrebase 提供了免費的計划。同時提供了一個按需付費計划,提供與谷歌雲平台的全面集成。

如果你想深入了解 Firebase 的運作,我們建議觀看谷歌 2016 I/O 大會上的這些視頻:Firebase 概覽遷移至 Firebase使用 Firebase Analytics開發優秀APPFirebase 驗證入門深入解析實時數據庫

查看英文原文:https://www.infoq.com/news/2016/05/google-firebase

 

 

前情

幾天前翻譯了一個有關Firebase的介紹IO的視頻,在此寫篇文章來總結一下

主講人是James Tamplin,Firebase的聯合創始人,本人很喜歡他的口音(捂臉XD)


James Tamplin

熱場

首先,他是講述了10年前笨重的軟件開發過程,於是引出了Firebase的目的和他們的關注點

接着,他引出的Firebase很重要的三個關注點 用戶數據任務

那么谷歌是如何做的呢?

首先要從 谷歌雲服務平台(Google Cloud Platform) 開始

  • 它的最底層是基礎設施層,也就是 谷歌計算引擎(Google Compute Engine GCE),它使物理機器呈現出虛擬形態

  • 接下來是容器層,也就是 谷歌容器引擎(Google Container Engine GKE),它使你可以運行軟件而不用考慮底層的硬件

  • 再上一層就是平台層,也就是 谷歌應用引擎(Google App Engine GAE),有了它你就可以不用考慮內存、CPU和系統更新,你只需要給它后端代碼,它就可以接收、部署、運行並處理,這讓一切變得更高效


層級展示

主題

那么如果你是個移動端或者Web開發者呢?

那就該Firebase出場了

那么到底什么是Firebase?

簡而言之它就是一個幫助你快速開發高效的移動和Web應用的平台

而我認為它是結合了后端和數據庫,使原來的三層結構變成了兩層結構,也就是一體化后端框架,使開發變得更加快捷


三層結構


Device-->Application Server-->Database


兩層結構


Device-->Firebase(Hook Server or Third part API)

它有三大功能:用戶認證實時數據庫托管服務

  • 用戶認證:如果你構建一個APP,那么你要做一個用戶認證系統,而Firebase允許你用Email和密碼連接到第三方,例如Facebook,Twitter等等。你所要做的就是使用一個服務端的庫來生成JSON Web標記和另一個開放標准,這樣你就可以告訴Firebase誰是你的用戶了

  • 實時數據庫:Firebase用的是一個實時的NoSQL的JSON數據庫,所有的數據都以JSON的形式存在於數據庫里面,並且它們還為每個鍵值做映射(mapping),它可以實現毫秒級的數據推送。還有一點就是客戶端可以不和服務器交流直接去訪問數據庫


數據同步
  • 托管服務:很典型的例子就是英國大選的時候,Sky News利用Firebase來同步大選的數據,這個應用每天都有幾百萬的訪問量,而Firebase就得托管這些數據並同步給幾百萬的用戶,更激動人心的是這個應用在數周之內就被開發出來並投入使用

新功能

  • 手機離線支持(Mobile Offine Support)

所有數據都會存在於你的磁盤上,而不僅僅是內存

當你離線時,你的所有數據都會盡量保持最新

當網絡重新連接時,應用會馬上進行重新同步,使你的數據保持最新

當你重新開啟應用時所有東西都會還原

  • 支持React Native(React Native Support)

React Native是Facebook的一個開源庫,並且Facebook有團隊正在使用它

而Firebase則是驅動React Native的后端,並可以完美協作

React會在你的數據模型發生改變時更改你的UI,而Firebase則負責實時更新


總結

Firebase給我最深的印象就是整合了后端框架,這大大改變了原有了軟件過程

以往軟件開發是先要設計一個數據庫,然后再搭一個服務器,最后在應用端進行開發

現在是你啟動一個Firebase項目,掛上服務器,有必要還可以掛上第三方API,然后就可以進行開發了

你只需要向Firebase拋后端代碼,它就可以自動處理並返回你想要的數據

James Tamplin講述了很多快速開發的例子,在此我就不一一舉例了

如果有興趣的童鞋,可以點擊下面的鏈接來下載或者在線觀看James Tamplin的演講

Don't Worry,所有翻譯我都已經做好了,如果觀看過程中發現不足,也歡迎指正


資源


參考

  • Martin 20150817凌晨撰寫



 

參考鏈接:

1.http://www.infoq.com/cn/news/2016/05/google-firebase

2.http://www.jianshu.com/p/f8657f391b93


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM