該前端開發人員指南揭開了火底的奧秘。我們將探討Firebase的功能,其好處和實際例子。但是首先,簡短的歷史...
八年前,安德魯·李(Andrew Lee)和詹姆斯·坦普林(James Tamplin)推出了一家實時聊天創業公司Envolve。 Ricky Martin和Limp Bizkit等名人用戶的推動,其成功源於其易用性和快速消息傳遞。 Envolve是一個簡單的聊天小部件 - 添加到處理所有內容的頁面上的腳本標籤。它有效地為聊天消息提供了預製的數據庫和服務器。
隨著Envolve的發展,出現了一個令人驚訝的趨勢:開發人員不僅在聊天,而且是出於各種目的(game數據,高分,高分,應用程序設置等)使用的(通常是看不見的)小部件。他們利用小部件的實時功能來實現無縫數據同步,繞開了對複雜的後端開發的需求。
這種頓悟導致了火基的創建。創始人設想了一個平台,使開發人員能夠迅速構建和擴展應用程序,從而消除了後端基礎設施的負擔,並允許他們專注於前端。
firebase只是一個數據庫嗎?並非完全。雖然最初是一個實時雲數據庫,但Firebase已演變為一個全面的平台,涵蓋了開發人員的基礎架構和營銷人員工具。目前,它擁有19種集成產品,每種產品旨在支持應用程序開發的特定方面,並為應用程序性能和用戶行為提供寶貴的見解。這些產品可以單獨或集體使用以形成完整的後端解決方案。
這是對Firebase的各種產品的一瞥:
這只是Firebase功能的一小部分。您無需使用每種服務;為您的項目選擇相關工具是完全可以接受的。讓我們深入研究實際應用。
以下各節將指導您設置Firebase並使用嵌入式示例演示其功能。這是一個高級概述,而不是分步教程。有關詳細的教程,請發表評論!
如果您打算將演示應用程序與自己的Firebase後端集成在一起,則本節至關重要。如果您熟悉Firebase項目,請跳過此問題。
Firebase是基於雲的,需要初始帳戶設置。但是,使用本地模擬器可能會脫機開發。本指南使用Codepen,需要建立雲連接。該過程涉及創建一個燃料項目,並檢索用於前端集成的必要配置。
導航到火箱控制台。您現在可以跳過Google Analytics(分析)設置。
創建一個新的Web應用程序並為其分配一個名稱。火箱項目可以包含多個應用程序。創建後,您將收到一個配置對象:
令Firebaseconfig = { Apikey:“你的鑰匙”, Authdomain:“您的domain.firebaseapp.com”, ProjectID:“您的項目”, 儲藏室:“ your-projectid.appspot.com”, Messagingsenderid:“ your-senderid”, appid:“ your-appid”, 測量值:“您的測量” };
這種配置將您的前端連接到火底。在您的前端代碼中包括這些屬性是安全的。安全機制將在稍後解釋。
現在,讓我們以代碼表示此應用。該應用程序充當跨火基服務的共享邏輯和身份驗證的容器。我們將使用來自CDN的Firebase庫(儘管也支持模塊捆綁器)。
//這支筆通過codepen中的“添加外部腳本”選項添加firebase // https://www.gstatic.com/firebasejs/8.2.10/firebase-app.js // https://www.gstatic.com/firebasejs/8.2.10/firebase-auth.js //在Firebase控制台上創建一個項目 //(console.firebase.google.com) 令Firebaseconfig = { Apikey:“你的鑰匙”, Authdomain:“您的domain.firebaseapp.com”, ProjectID:“您的項目”, 儲藏室:“ your-projectid.appspot.com”, Messagingsenderid:“ your-senderid”, appid:“ your-appid”, 測量值:“您的測量” }; //創建您的Firebase應用程序 讓FirebaseApp = firebase.Initializeapp(firbaseconfig); // auth實例 console.log(firebaseapp.auth());
接下來,啟用所需的壁壘服務。
這些示例利用身份驗證用於用戶登錄和數據安全。最初,出於安全原因,身份驗證提供商被禁用。在“身份驗證”選項卡中啟用Google和匿名登錄方法。請記住,將Codepen添加為用於測試目的的授權域(但在生產中刪除)。
在“測試模式”中創建Firestore數據庫。安全將稍後解決。
現在,讓我們探索現實世界中的用例。
應用功能通常需要用戶帳戶。讓我們探索匿名身份驗證和Google登錄。
Firebase的匿名身份驗證允許用戶無需註冊即可訪問該應用程序,從而為數據關聯提供了臨時用戶ID。
(代碼示例演示匿名登錄和配置文件更新,以簡短省略)
Google登錄與匿名身份驗證相似。
(為簡短而省略的Google登錄的代碼示例)
onAuthStateChanged
方法跟踪身份驗證的更改,從而根據登錄狀態啟用UI更新。
(為簡短而省略了onAuthStateChanged
代碼示例)
使用linkWithRedirect
可以將訪客帳戶升級到永久帳戶。
(代碼示例演示為簡潔而省略的帳戶的示例)
在帳戶合併期間,錯誤處理至關重要。
(代碼示例說明省略了錯誤處理的代碼)
本節重點是創建餅圖並將其與Firestore數據同步。
(為簡潔而省略的圓錐級別和CSS自定義屬性的說明)
(代碼示例演示Firestore數據檢索和餅圖更新省略了)
Firestore是一個NOSQL文檔數據庫,具有收集和文檔的層次結構。數據建模涉及使用收集和子收集有效地構建數據。
(證明firestore數據檢索和查詢的代碼示例為簡潔而省略)
Firestore的.onSnapshot()
方法啟用實時數據流。
(代碼示例演示了為簡潔而省略的實時數據流的代碼)
安全規則控制Firebase中的數據訪問。它們在服務器上以每個請求進行評估。
(說明安全規則和為簡潔而省略的示例)
本指南涵蓋了使用Firebase的用戶身份驗證,數據建模,實時數據同步和數據庫安全性。請記住要探索其他壁爐資源以進行進一步學習。 Firebase簡化了後端管理,使開發人員可以專注於前端。
以上是火箱速成課程的詳細內容。更多資訊請關注PHP中文網其他相關文章!