SlideShare a Scribd company logo
1 of 44
Firebase介紹
演講者:蔡維成
outline
• 前情提要
• 提供的服務
• 範例練習
1
前情提要
•Google也強調了Firebase增加新的功能的同時也保有了之前的
三大原則:
•開發者容易上手,資源豐富。
•支援跨平台(Android/iOS/Web apps)。
•集成開發工具
•宣傳影片
•Web,android,IOS Quickstart
(如要開發記得把sdk升到最新版,舊版不支援噢!)
2
前情提要
•Firebase's primary product is a realtime
database which provides an API that
allows developers to store and sync
data across multiple clients.
3
前情提要
•介紹NoSQL(Not only SQL)
大致上分成四種,而每一家的NoSQL規定都不太一樣,
所以無法互相支援。
─ Key-value Stores
─ Document Databases(firebase)
─ Graph Databases
─ Column Family Store
NoSQL簡介
4
前情提要
•Key-value Stores
用hash表的概念來儲存,給一個key就回傳一個值,這個值可
以不一致ex: int , string , a document
5
前情提要
•Document Databases
─ 通常以JSON的形式來儲存
6
前情提要
•JSON線上網站
•物件{}和陣列[],某方面來說(不考慮資料損失),是可以互相
轉換的
7
前情提要
8
前情提要
9
前情提要
•Graph Databases
他使資料庫與資料庫之間的關係更好連接了,擁有強大的擴張
性,方便用於社交系統,關係越複雜越適合用。
10
前情提要
11
•Column Family Store
─ 算是Key-value Stores的延伸版,適用於大量資料分佈於很
多台主機的情況,一個key會對應到不同column
前情提要
12
RDBMS 與 NoSQL 比較 RDBMS NoSQL
資料一致性 是,並且需事情就定義 不一定,通常不一樣
資料庫型態更改 困難,一旦定義更改需要耗
費大量成本
相較容易,彈性比SQL好但
遇到大更改可能要比SQL難
資料庫查詢能力 強,有join的功能 弱,對於複雜的查詢較弱
重複性 較易整理,可通過正規化來
減輕負擔
除非事前規定不然容易越積
越亂(就像房間一樣)
擴張 可以加大CPU,RAM,SSD加強
處理能力,硬碟加大容量
可以加設多個伺服器處理大
量流量
前情提要
•所以RDBMS還是NoSQL哪個比較好?
13
提供的服務
•分析(Analytics)
•身分驗證(Authentication)
•即時資料庫(Realtime database)
•儲存(Storage)
•代管主機(Hosting)
•遠端配置(Remote Config)
•Android測試實驗室(Test Lab for Android)
•當機報告(crash)
14
提供的服務
•通知服務(Notifications)
•動態連結(Dynamic Links)
•廣告(AdMob)
15
分析(Analytics)
•Firebase以mobile app analytics為主
所以想要用web的話就要用Google
Analytics
•網頁分析
16
身分驗證(Authentication)
•可以直接用已存在帳號登入
•
ex:用google , facebook …… 等直接登入
而且只要複製code就可以了
17
即時資料庫(Realtime database)
•以json形式儲存
•設計成簡單易用的API
•可以處理複雜的即時更新
•有需要的話可以用他的REST API直接連到
自己的伺服器
18
儲存(Storage)
•可以儲存圖片,聲音,影片等等的檔案
•(當然有沒有付費儲存容量有差)
19
代管主機(Hosting)
•可以在自己的電腦coding,如果要更新網
頁的話,只要一行指令就能把程式上傳到
firebase的主機,不需要自己架伺服器
20
遠端配置(Remote Config)
•如果只是想要修改一些參數,但是又不想
讓使用者一直更新的話,可以在firebase
的控制台中設定,把在程式裡設定好的參
數做修改,就能完成更新
•還可以只針對特定族群來做更新,達成客
製化的效果。
21
Android測試實驗室
(Test Lab for Android)
•可以在雲端上幫你做android的debug
•需要$_$
22
當機報告(crash)
•如果行動裝置遇到當機時,有使用此功能
就會在控制台中顯示錯誤訊息,協助開發
者了解發生了什麼事!
23
通知服務(Notifications)
•想要通知使用者一些資訊的話,可以使用
firebase的功能,同樣的也可以只發給特
定群族,針對性的發給需要的使用者。
24
動態連結(Dynamic Links)
•可以針對不同的環境(ios,android)來顯示
不同的連結,提供更好的使用體驗,如果
沒有安裝應用程式的話,還可以引導使用
者下載完繼續剛剛想要推薦的東西,讓使
用體驗不中斷。
25
廣告(AdMob)
•能在你的程式中加入廣告,來賺點錢~
•但要注意的是,在開發期間只能使用
testad不然帳號可能會被鎖
•廣告官網
26
練習一下
•先辦個firebase的帳號吧~
•新建一個專案(地區只代表如果獲利要用什麼幣額顯示)
•會看到玲琅滿目的功能,接下來會使用
Authentication
Realtime database
Storage
Hosting
27
練習一下
•在想要的路徑下見一個新的資料夾
•mkdir filename
•cd filename
•npm install -g firebase-tools
(可以下firebase 的指令)
•firebase login (要求登入開發者的google)
•firebase init(啟動專案)
28
練習一下
•下載官方範例
•在你想要的路徑下打進這行
(不是剛剛的資料夾噢~)
•打開剛剛下載好的範例
•把web-start裡面的東西複製到filename public的路徑裡
ex:public directory ./的話就放在根目錄
29
練習一下
•可以針對多個專案加入(可以加其他的專案)
•firebase use --add
•firebase deploy(檔案上傳到firebase)
•讓它運作!(也可以在locat端開啟)
•firebase serve
30
練習一下
•先來初始我們的web
•在專案首頁點擊firebase加入web
•複製到index.html最底下
•來開通身份認證
•點auth->google->active
31
練習一下
•在main.js貼上
─ 初始firebase的code
─ Signin , Signout code
─ Check使用者是否登入過code
─ 登入者名字與頭像code
─ 讀取訊息
─ 儲存訊息
─ 儲存影像
─ 顯示影像
32
練習一下
•設定一下Database的權限
•主要有四種
─ .write
─ .read
─ .validate
─ .IndexOn(可以排序,搭配orderByValue())
33
練習一下
34
•Write也可以有判斷式
練習一下
35
練習一下
36
練習一下
37
練習一下
38
練習一下
•不能重複定義
39
練習一下
40
•要完整路徑才能用
練習一下
•firebase.json可以決定權限,public哪些檔案與一些設定
•如果想要忽略某些檔案不上傳可以加在hosting裡
"ignore": [
"firebase.json",
"database-rules.json",
"storage.rules"
]
41
Android 範例
•官方android的範例有以下功能
─ Remote config
─ Notifications
─ AdMob
─ Crash
42
Android 範例
•Remote config裡限制訊息長度
─ Long friendly_msg_length =
mFirebaseRemoteConfig.getLong(“friendly_msg_leng
th”);
app不用到appstore , playstore就可以隨時調整所需要的功用
43

More Related Content

What's hot

GKE で始める Private Cluster
GKE で始めるPrivate ClusterGKE で始めるPrivate Cluster
GKE で始める Private ClusterIgarashi Toru
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)fisuda
 
FIWARE Overview and description of GEs
FIWARE Overview and description of GEsFIWARE Overview and description of GEs
FIWARE Overview and description of GEsfisuda
 
FIWARE の ID 管理、アクセス制御、API 管理
FIWARE の ID 管理、アクセス制御、API 管理FIWARE の ID 管理、アクセス制御、API 管理
FIWARE の ID 管理、アクセス制御、API 管理fisuda
 
[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テストTakahiro Moteki
 
MongoDBのアレをアレする
MongoDBのアレをアレするMongoDBのアレをアレする
MongoDBのアレをアレするAkihiro Kuwano
 
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)오픈소스 프레임워크 기반 웹 서비스 설계 (Example)
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)중선 곽
 
MvcのFatモデルに立ち向かう
MvcのFatモデルに立ち向かうMvcのFatモデルに立ち向かう
MvcのFatモデルに立ち向かうShun Hikita
 
Mongo dbを知ろう
Mongo dbを知ろうMongo dbを知ろう
Mongo dbを知ろうCROOZ, inc.
 
AD FS deep dive - claim rule set
AD FS deep dive - claim rule setAD FS deep dive - claim rule set
AD FS deep dive - claim rule setjunichi anno
 
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!Will Huang
 
Cassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sqlCassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sqlYutuki r
 
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けRecruit Technologies
 
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
微服務架構 導入經驗分享 吳剛志 - Community Open Camp微服務架構 導入經驗分享 吳剛志 - Community Open Camp
微服務架構 導入經驗分享 吳剛志 - Community Open CampAndrew Wu
 
実践 Amazon KMS #cmdevio2015
実践 Amazon KMS #cmdevio2015実践 Amazon KMS #cmdevio2015
実践 Amazon KMS #cmdevio2015y torazuka
 
日本語:Mongo dbに於けるシャーディングについて
日本語:Mongo dbに於けるシャーディングについて日本語:Mongo dbに於けるシャーディングについて
日本語:Mongo dbに於けるシャーディングについてippei_suzuki
 
Cloud runのオートスケールを検証してみる
Cloud runのオートスケールを検証してみるCloud runのオートスケールを検証してみる
Cloud runのオートスケールを検証してみる虎の穴 開発室
 
その ionice、ほんとに効いてますか?
その ionice、ほんとに効いてますか?その ionice、ほんとに効いてますか?
その ionice、ほんとに効いてますか?Narimichi Takamura
 
你一定不能不知道的 Markdown 寫作技巧
你一定不能不知道的 Markdown 寫作技巧你一定不能不知道的 Markdown 寫作技巧
你一定不能不知道的 Markdown 寫作技巧Will Huang
 
SoR 2.0 基幹システムの再定義と再構築
SoR 2.0 基幹システムの再定義と再構築SoR 2.0 基幹システムの再定義と再構築
SoR 2.0 基幹システムの再定義と再構築増田 亨
 

What's hot (20)

GKE で始める Private Cluster
GKE で始めるPrivate ClusterGKE で始めるPrivate Cluster
GKE で始める Private Cluster
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)
 
FIWARE Overview and description of GEs
FIWARE Overview and description of GEsFIWARE Overview and description of GEs
FIWARE Overview and description of GEs
 
FIWARE の ID 管理、アクセス制御、API 管理
FIWARE の ID 管理、アクセス制御、API 管理FIWARE の ID 管理、アクセス制御、API 管理
FIWARE の ID 管理、アクセス制御、API 管理
 
[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト
 
MongoDBのアレをアレする
MongoDBのアレをアレするMongoDBのアレをアレする
MongoDBのアレをアレする
 
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)오픈소스 프레임워크 기반 웹 서비스 설계 (Example)
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)
 
MvcのFatモデルに立ち向かう
MvcのFatモデルに立ち向かうMvcのFatモデルに立ち向かう
MvcのFatモデルに立ち向かう
 
Mongo dbを知ろう
Mongo dbを知ろうMongo dbを知ろう
Mongo dbを知ろう
 
AD FS deep dive - claim rule set
AD FS deep dive - claim rule setAD FS deep dive - claim rule set
AD FS deep dive - claim rule set
 
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
 
Cassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sqlCassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sql
 
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分け
 
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
微服務架構 導入經驗分享 吳剛志 - Community Open Camp微服務架構 導入經驗分享 吳剛志 - Community Open Camp
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
 
実践 Amazon KMS #cmdevio2015
実践 Amazon KMS #cmdevio2015実践 Amazon KMS #cmdevio2015
実践 Amazon KMS #cmdevio2015
 
日本語:Mongo dbに於けるシャーディングについて
日本語:Mongo dbに於けるシャーディングについて日本語:Mongo dbに於けるシャーディングについて
日本語:Mongo dbに於けるシャーディングについて
 
Cloud runのオートスケールを検証してみる
Cloud runのオートスケールを検証してみるCloud runのオートスケールを検証してみる
Cloud runのオートスケールを検証してみる
 
その ionice、ほんとに効いてますか?
その ionice、ほんとに効いてますか?その ionice、ほんとに効いてますか?
その ionice、ほんとに効いてますか?
 
你一定不能不知道的 Markdown 寫作技巧
你一定不能不知道的 Markdown 寫作技巧你一定不能不知道的 Markdown 寫作技巧
你一定不能不知道的 Markdown 寫作技巧
 
SoR 2.0 基幹システムの再定義と再構築
SoR 2.0 基幹システムの再定義と再構築SoR 2.0 基幹システムの再定義と再構築
SoR 2.0 基幹システムの再定義と再構築
 

Similar to 宅學習 Firebase

Kubernetes project update and how to contribute
Kubernetes project update and how to contributeKubernetes project update and how to contribute
Kubernetes project update and how to contributeinwin stack
 
GDG Taichung - Firebase Introduction 01
GDG Taichung - Firebase Introduction 01GDG Taichung - Firebase Introduction 01
GDG Taichung - Firebase Introduction 01Duran Hsieh
 
KSDG BaaS Intro
KSDG BaaS IntroKSDG BaaS Intro
KSDG BaaS Introericpi Bi
 
HDInsight for Microsoft Users
HDInsight for Microsoft UsersHDInsight for Microsoft Users
HDInsight for Microsoft UsersKuo-Chun Su
 
開放原始碼 Ch2.4 app - oss - db (ver 1.0)
開放原始碼 Ch2.4   app - oss - db (ver 1.0)開放原始碼 Ch2.4   app - oss - db (ver 1.0)
開放原始碼 Ch2.4 app - oss - db (ver 1.0)My own sweet home!
 
iServDB雲端資料庫解決方案
iServDB雲端資料庫解決方案iServDB雲端資料庫解決方案
iServDB雲端資料庫解決方案iServDB & iServCloud
 
W3CTech美团react专场-React Native 初探
W3CTech美团react专场-React Native 初探W3CTech美团react专场-React Native 初探
W3CTech美团react专场-React Native 初探美团点评技术团队
 
開放原始碼 Ch2.1 app - oss - oss ide (ver1.2)
開放原始碼 Ch2.1   app - oss - oss ide (ver1.2)開放原始碼 Ch2.1   app - oss - oss ide (ver1.2)
開放原始碼 Ch2.1 app - oss - oss ide (ver1.2)My own sweet home!
 
Elastic stack day-1
Elastic stack day-1Elastic stack day-1
Elastic stack day-1YI-CHING WU
 
Artifacts management with CI and CD
Artifacts management with CI and CDArtifacts management with CI and CD
Artifacts management with CI and CDChen-Tien Tsai
 
.NET 7 家族新成員: Microsoft Orleans v7
.NET 7 家族新成員:Microsoft Orleans v7.NET 7 家族新成員:Microsoft Orleans v7
.NET 7 家族新成員: Microsoft Orleans v7twMVC
 
Langchain and Azure ML and Open AI
Langchain and Azure ML and Open AILangchain and Azure ML and Open AI
Langchain and Azure ML and Open AIKo Ko
 
GDG Taichung: What is new in Firebase
GDG Taichung: What is new in Firebase GDG Taichung: What is new in Firebase
GDG Taichung: What is new in Firebase Duran Hsieh
 
高科技產業資料分析解決方案 Hare DB
高科技產業資料分析解決方案 Hare DB高科技產業資料分析解決方案 Hare DB
高科技產業資料分析解決方案 Hare DBEtu Solution
 
DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略Will Huang
 
使用 Angular 2 與 Firebase 實現 Serverless 網站架構 (JSDC.tw 2016)
使用 Angular 2 與 Firebase 實現 Serverless 網站架構 (JSDC.tw 2016)使用 Angular 2 與 Firebase 實現 Serverless 網站架構 (JSDC.tw 2016)
使用 Angular 2 與 Firebase 實現 Serverless 網站架構 (JSDC.tw 2016)Will Huang
 
Net 6 的 blazor 開發新視界
Net 6 的 blazor 開發新視界Net 6 的 blazor 開發新視界
Net 6 的 blazor 開發新視界Gelis Wu
 

Similar to 宅學習 Firebase (20)

Kubernetes project update and how to contribute
Kubernetes project update and how to contributeKubernetes project update and how to contribute
Kubernetes project update and how to contribute
 
GDG Taichung - Firebase Introduction 01
GDG Taichung - Firebase Introduction 01GDG Taichung - Firebase Introduction 01
GDG Taichung - Firebase Introduction 01
 
KSDG BaaS Intro
KSDG BaaS IntroKSDG BaaS Intro
KSDG BaaS Intro
 
HDInsight for Microsoft Users
HDInsight for Microsoft UsersHDInsight for Microsoft Users
HDInsight for Microsoft Users
 
開放原始碼 Ch2.4 app - oss - db (ver 1.0)
開放原始碼 Ch2.4   app - oss - db (ver 1.0)開放原始碼 Ch2.4   app - oss - db (ver 1.0)
開放原始碼 Ch2.4 app - oss - db (ver 1.0)
 
iServDB雲端資料庫解決方案
iServDB雲端資料庫解決方案iServDB雲端資料庫解決方案
iServDB雲端資料庫解決方案
 
W3CTech美团react专场-React Native 初探
W3CTech美团react专场-React Native 初探W3CTech美团react专场-React Native 初探
W3CTech美团react专场-React Native 初探
 
Firebase 基礎上手 |2小時由入門到精通 | GDSC NYCU
 Firebase 基礎上手 |2小時由入門到精通 | GDSC NYCU Firebase 基礎上手 |2小時由入門到精通 | GDSC NYCU
Firebase 基礎上手 |2小時由入門到精通 | GDSC NYCU
 
開放原始碼 Ch2.1 app - oss - oss ide (ver1.2)
開放原始碼 Ch2.1   app - oss - oss ide (ver1.2)開放原始碼 Ch2.1   app - oss - oss ide (ver1.2)
開放原始碼 Ch2.1 app - oss - oss ide (ver1.2)
 
Android工作坊
Android工作坊Android工作坊
Android工作坊
 
Elastic stack day-1
Elastic stack day-1Elastic stack day-1
Elastic stack day-1
 
Artifacts management with CI and CD
Artifacts management with CI and CDArtifacts management with CI and CD
Artifacts management with CI and CD
 
.NET 7 家族新成員: Microsoft Orleans v7
.NET 7 家族新成員:Microsoft Orleans v7.NET 7 家族新成員:Microsoft Orleans v7
.NET 7 家族新成員: Microsoft Orleans v7
 
Langchain and Azure ML and Open AI
Langchain and Azure ML and Open AILangchain and Azure ML and Open AI
Langchain and Azure ML and Open AI
 
GDG Taichung: What is new in Firebase
GDG Taichung: What is new in Firebase GDG Taichung: What is new in Firebase
GDG Taichung: What is new in Firebase
 
高科技產業資料分析解決方案 Hare DB
高科技產業資料分析解決方案 Hare DB高科技產業資料分析解決方案 Hare DB
高科技產業資料分析解決方案 Hare DB
 
DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略
 
使用 Angular 2 與 Firebase 實現 Serverless 網站架構 (JSDC.tw 2016)
使用 Angular 2 與 Firebase 實現 Serverless 網站架構 (JSDC.tw 2016)使用 Angular 2 與 Firebase 實現 Serverless 網站架構 (JSDC.tw 2016)
使用 Angular 2 與 Firebase 實現 Serverless 網站架構 (JSDC.tw 2016)
 
Portfolio
PortfolioPortfolio
Portfolio
 
Net 6 的 blazor 開發新視界
Net 6 的 blazor 開發新視界Net 6 的 blazor 開發新視界
Net 6 的 blazor 開發新視界
 

宅學習 Firebase

Editor's Notes

  1. SQL要有foreign key primary key 來連接關係, 而且還會常用join 來找關係,也容易使資料流失