Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Nuxt.js x Firebase で非同期に開発する
Search
mikakane
January 19, 2019
Technology
0
2.1k
Nuxt.js x Firebase で非同期に開発する
mikakane
January 19, 2019
Tweet
Share
More Decks by mikakane
See All by mikakane
NestJS で始める怖くないバックエンド開発
mikakane
1
1.2k
コーディングがわからない
mikakane
0
120
Web制作現場のディレクションを支えるGitHub
mikakane
0
520
nuxt.js で plugins を作る
mikakane
0
760
@ionic/vue で Web アプリを作ってみる
mikakane
0
2.8k
Laravel Package Development
mikakane
16
6.2k
フロントエンドで作る理由
mikakane
1
1.2k
Firebase で作る Web アプリケーション
mikakane
1
150
技術顧問の現場から - 制作と教育、学習と生産
mikakane
0
680
Other Decks in Technology
See All in Technology
ホワイトボードチャレンジ 説明&実行資料
ichimichi
0
130
あれは良かった、あれは苦労したB2B2C型SaaSの新規開発におけるCloud Spanner
hirohito1108
2
630
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
6
57k
インフラをつくるとはどういうことなのか、 あるいはPlatform Engineeringについて
nwiizo
5
2.6k
データの品質が低いと何が困るのか
kzykmyzw
6
1.1k
Goで作って学ぶWebSocket
ryuichi1208
3
1.6k
管理者しか知らないOutlookの裏側のAIを覗く#AzureTravelers
hirotomotaguchi
2
440
Developers Summit 2025 浅野卓也(13-B-7 LegalOn Technologies)
legalontechnologies
PRO
0
740
レビューを増やしつつ 高評価維持するテクニック
tsuzuki817
1
740
RECRUIT TECH CONFERENCE 2025 プレイベント【高橋】
recruitengineers
PRO
0
160
(機械学習システムでも) SLO から始める信頼性構築 - ゆる SRE#9 2025/02/21
daigo0927
0
150
Platform Engineeringは自由のめまい
nwiizo
4
2.1k
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
137
6.8k
Why Our Code Smells
bkeepers
PRO
336
57k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
BBQ
matthewcrist
87
9.5k
Making Projects Easy
brettharned
116
6k
Navigating Team Friction
lara
183
15k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
4 Signs Your Business is Dying
shpigford
182
22k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.2k
Transcript
chatbox.inc 後藤 知宏 Firebase で非同期に開発する
chatbox.inc 後 藤 知 宏 株式会社chatbox 代表取締役 関西フロントエンドUG代表 Twitter :
@_mikakane エンジニア / 技術顧問
chatbox.inc Firebase Google の提供する BaaS Service めっちゃ便利
chatbox.inc Firebase Authentication Firebase を利用した 認証機構 Web GUI 操作で 簡単な認証機構を用意することが可能
Mail 認証のほか、Google / Github などのサービス認証、 匿名認証にも対応で Oauth2 の 設定も簡単 認証のためのフローは JS を数行記述するだけ ポップアップ認証で、画面遷移も不要の Promise ベース認証
chatbox.inc Firebase Database Realtime DatabaseとCloud Firestore どちらも NoSQL ベースで柔軟な利用が可能 Realtime
Database は 大きなJSON ツリーに データを追加していく形式 Cloud Firestore は コレクションと呼ばれる単位で、 JSON ライクにデータを管理する形式
chatbox.inc vuexfire Vue.js の ストア Vuex と Firebase Database を
同期させるツール vuexfire Realtime Database 上の任意のパスと、 任意の state を紐付ける事ができる。 もちろん、 node の firebase モジュールを利用した、 任意の Read / Write 操作も可能
chatbox.inc Firebase で バックエンド構築 コードを記述すること無く、 柔軟に利用可能なバックエンド基盤を構築できる フロントエンジニアに力を!
chatbox.inc Web アプリケーション開発 frontend backend swagger Swagger を利用した REST API
Schema の共有 フロントとバックエンド開発は 二人三脚
chatbox.inc フロント開発の課題 バックエンドと二人三脚 API 仕様書をともにメンテしていく必要性 些細なデータでも、永続化のために バックエンドに 都度 API を作成・管理していかなければならない
API の開発スケジュールにフロントが引きずられる 統合テスト、API のバグなど
chatbox.inc Firebase を使った開発 frontend firebase Web GUI Firebase の管理画面を利用して Backend
基板を構築 フロントエンドの実装担当者が、 アプリケーションの全機能を実装できる。
chatbox.inc Really? システム利用データの集計、出力、管理機能など…
chatbox.inc Firebase Admin 管理者権限で Realtime Database の 読み書きを実行したり、認 証のための ID
トークンを確認したりできる。 Node.js / Java / Python / Go / C# で提供されている他、 REST API の実装で非公式に PHP や Ruby などの実装も 管理者権限で Database 全体を操作したり、 ユーザの認証を行ったりするのに便利
chatbox.inc Firebase Admin frontend firebase backend REST API as Event
auth with uid touch whole database uid as token
chatbox.inc Firebase Anywhere フロントで完結させたい 業務ロジック関心外のデータを すべて Firebase で巻き取る。 DB 構成を「本当に必要な業務データ」のみに
小規模向けのイメージが強いが、 大規模向けの REST API + SPA の開発でも、 REST API 開発規模を 削減するために…など利用場面は多い 後々、Firebase 上のデータを 管理部門で活用したくなったら Firebase Admin で簡単に巻き取れる。
chatbox.inc Firebase で 変わる開発フロー バックエンドは より シンプルに 開発はより独立して、分割された責務を全うする形に
chatbox.inc Firebase を使った開発依頼 お待ちしております。
chatbox.inc FJUG Osaka
chatbox.inc Lec Cafe
chatbox.inc Lec Cafe
chatbox.inc Thanks!