Firebase 一站式服務(wù)

背景

本文寫作時間:2017 年 4 月 1 日;

2 年前為了在手機(jī)客戶端模仿短信界面,需要手機(jī)客戶端和后臺服務(wù)器實時通信或者雙向同步的方法,選擇了 Firebase 作為數(shù)據(jù)庫。準(zhǔn)確來說 Firebase 應(yīng)該是 BaaS 的一種,即后端即服務(wù)。后來因為服務(wù)器在國外,速度比較慢,就沒有再用。這次有個很小的需求,就是讓用戶通過自己的手機(jī)號碼查詢其快遞單號。這樣一個最簡單的查詢,實在是不愿意在自己搭建后端服務(wù)了,于是又想到了野狗和 Firebase。本來一開始想用野狗的,但是一天最多只支持 50 個客戶端,無法滿足需求,于是就轉(zhuǎn)向了 Firebase。簡單用了一下 Firebase 發(fā)現(xiàn)自從被 Google 收購以后功能又強大了許多。

PS:因為 Firebase 被 Google 收購了,也自帶了 Google 的某些屬性,比如某些特定人群無法訪問,自己想辦法吧。

目標(biāo)

一開始就是一個最簡單直接的小目標(biāo),就是當(dāng)成一個后端服務(wù)用。結(jié)果后來發(fā)現(xiàn)還可以托管靜態(tài)網(wǎng)頁,這樣的話就是一站式開發(fā)了,爽的不要不要的。因此最后目標(biāo)變成了:

  • 使用 Firebase 提供后端 API;
  • 使用 Firebase 托管前端靜態(tài)文件;

使用 Firebase 提供后端 API

之前就用過,因此基本沒有什么需要新學(xué)習(xí)的。

步驟簡單來說就是:

首先,建立一個新的應(yīng)用。

然后,將原始內(nèi)容整理成 JSON 格式的文件導(dǎo)入。

{
    "13963XX70903":{"trackNo":"3929740871XX2"},
    "15213XX1889":{"trackNo":"392974087XX90"},
    "1382XX17825":{"trackNo":"3929740XX1091"},
    "188XX612866":{"trackNo":"39297408703XX"},
    "186XX097892":{"trackNo":"39297408XX664"},
    "1880426XX90":{"trackNo":"3929740870XX2"}
}

修改訪問規(guī)則,允許所有人讀取;

{
  "rules": {
    ".read": "auth == null",
    ".write": "auth != null"
  }
}

以上配置完畢后,就可以通過 URL 來調(diào)用 API 了。需要注意的是,如果直接使用鏈接,則會直接打開控制臺。需要響應(yīng) JSON 的話,只需要在鏈接的最后加上 .json 就可以。

因為后臺的功能比較簡單,因此整個配置也比較簡單。

使用 Firebase 托管前端靜態(tài)文件

主要功能

先說一下 Firebase 托管前端靜態(tài)文件的主要功能:

  • 借助安全連接提供服務(wù)。無需人工,直接使用 SSL;
  • 快速交付內(nèi)容。直接使用 Google 的 CDN;
  • 快速部署。使用命令行工具 Firebase CLI,幾句命令搞定部署;
  • 一鍵式回滾。支持版本控制和管理以及一鍵式回滾;

使用方法

因為這個功能是我這次才發(fā)現(xiàn)的,現(xiàn)在來重點說一下這個方法。

首先安裝命令行工具 Firebase CLI。

$ npm install -g firebase-tools

然后登錄自己的 Firebase 賬號。這個階段需要特別注意,因為我們和正常人不同,需要自己想辦法連接到 Google 的認(rèn)證服務(wù)器

$ firebase login

然后進(jìn)入到自己想要部署的項目,運行命令做初始化。

$ firebase init

此時生成一些配置文件,并下載相應(yīng)的庫文件。然后根據(jù)提示選擇公共資源文件夾,因為我用的是 Angular/CLI,因此公共文件夾是 dist。然后又詢問是否是單頁面應(yīng)用,選擇是。

最后使用以下命令做部署。命令行中需要指定項目名稱。

$ firebase deploy --project project-name

至此,前端文件就已經(jīng)完成部署了,可以根據(jù) Firebase 的二級域名進(jìn)行訪問。

但是我們一般都需要解析到自己的 DNS,因此還需要一些額外的設(shè)置。

在 Firebase 控制臺中,選擇關(guān)聯(lián)網(wǎng)域,然后輸入自己的域名。然后 Firebase 需要驗證一下域名的所有權(quán),此時需要在 DNS 上增加一條 TXT 記錄,并輸入 Firebase 提供的內(nèi)容。

生效后,點擊繼續(xù),此時 Firebase 會提供兩個 IP 地址,在 DNS 上新建域名記錄指向 Firebase 提供的 IP 地址以后,整個配置就全部結(jié)束了。

至此,就可以通過自己的域名訪問網(wǎng)站了。

參考資料

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,813評論 25 708
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,837評論 18 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,925評論 6 342
  • 主題:23期北京班30天踐行總結(jié)會 時間:20170227 19:20—20:50地點:YY參加人員:丫丫老師、湯...
    龔少90990閱讀 711評論 0 4
  • 我什么都沒有 六月的清泉或九月的紅楓 只有一匹栗色馬 我什么都不懂 騷動的欲望或蓬勃的怒氣 只有一匹栗色馬 我什么...
    袁丁58閱讀 502評論 0 1