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
「にゃーん」となくWebアプリを作った話 #ゆるWeb札幌
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Kihara, Takuya
PRO
May 17, 2019
Technology
450
1
Share
「にゃーん」となくWebアプリを作った話 #ゆるWeb札幌
Vue.js + Firebase で作った個人サービスの話。
https://nyan3.tacck.net/
Kihara, Takuya
PRO
May 17, 2019
More Decks by Kihara, Takuya
See All by Kihara, Takuya
雑食エンジニアの生きる道〜AI時代のこれから #seb_summit
tacck
PRO
1
100
それでは聞いてください「Impeller導入に失敗しました」 #FlutterKaigi #skia
tacck
PRO
0
450
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
610
Amazon Q Developer CLI でゲームと Amplify アプリを作ってみた #ゆるWeb札幌
tacck
PRO
0
58
ゆるWeb勉強会@札幌 #30 #ゆるWeb札幌
tacck
PRO
0
34
Flutter を始めよう! - Flutter の開発現場から
tacck
PRO
0
180
GitHub Actions で Flutter アプリの CI/CD をやってます #ゆるWeb札幌
tacck
PRO
0
460
ゆるWeb勉強会@札幌 #29 #ゆるWeb札幌
tacck
PRO
0
190
読んで学ぶ Amplify Gen2 / Amplify と CDK の関係を紐解く #jawsug_tokyo
tacck
PRO
1
570
Other Decks in Technology
See All in Technology
New CBs New Challenges
ysuzuki
1
150
AI前提とはどういうことか
daisuketakeda
0
150
ASTのGitHub CopilotとCopilot CLIの現在地をお話しします/How AST Operates GitHub Copilot and Copilot CLI
aeonpeople
1
200
会社紹介資料 / Sansan Company Profile
sansan33
PRO
16
410k
AIペネトレーションテスト・ セキュリティ検証「AgenticSec」ご紹介資料
laysakura
0
1.5k
MCPゲートウェイ MCPass の設計と実装 エンタープライズで AI を「運用できる」状態にする
mtpooh
1
170
「できない」のアウトプット 同人誌『精神を壊してからの』シリーズ出版を 通して得られたこと
comi190327
3
620
プロダクトを触って語って理解する、チーム横断バグバッシュのすすめ / 20260411 Naoki Takahashi
shift_evolve
PRO
1
210
BIツール「Omni」の紹介 @Snowflake中部UG
sagara
0
240
I ran an automated simulation of fake news spread using OpenClaw.
zzzzico
1
980
今年60歳のおっさんCBになる
kentapapa
1
310
すごいぞManaged Kubernetes
harukasakihara
1
360
Featured
See All Featured
Navigating Team Friction
lara
192
16k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
430
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Code Reviewing Like a Champion
maltzj
528
40k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.4k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
360
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
Are puppies a ranking factor?
jonoalderson
1
3.2k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
300
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.7k
Odyssey Design
rkendrick25
PRO
2
560
Transcript
ΏΔ8FCษڧձ!ࡳຈ @tacck ʮʹΌʔΜʯͱͳ͘ 8FCΞϓϦΛ࡞ͬͨ 2019/05/11 7VFKT 'JSFCBTF
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL ୭ • ໊લ tacck • ࣄ Vue.jsΛʮͬͯͶʯͱ ؙ͛͢Δਓ
• ͖ͳϑΟΪϡΞεέʔτͷٕ εϓϨουɾΠʔάϧ
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL /ZBO/ZBO/ZBO
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL /ZBO/ZBO/ZBO • ࡞ͬͨͷͷհ • Firebaseͷͬ͘͟Γ֓ཁ • ίʔυͷհ
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL /ZBO/ZBO/ZBOը໘
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL /ZBO/ZBO/ZBOը໘
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL 'JSFCBTFͱ
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL ͦͦ • FirebaseΛฉ͍ͨ͜ͱ͋Δਓ? ✋
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL ͦͦ • FirebaseΛͬͨ͜ͱ͋Δਓ?
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL 'JSFCBTFͱ • mBaaSͱݺΕΔαʔϏε • ϞόΠϧ͚ͷόοΫΤϯυػೳΛఏڙͯ͘͠ΕΔͷɻ ( Mobile Backend
as a Service ) • ϞόΠϧ͚ͱ͋Δ͕ɺJavaScriptͰར༻Ͱ͖Δػೳ͍͔ͭ͋͘Δɻ • ແྉར༻ͦͦ͑͜͜Δɻ (ࠓճઆ໌͢ΔϑϩϯτΤϯυ͚ͷػೳɺແྉར༻͕͋Δɻ)
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL N#BB4ͷΧόʔൣғ Πϯϑϥ όοΫΤϯυ ϑϩϯτΤϯυ ϞόΠϧΞϓϦ
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL Πϯϑϥ όοΫΤϯυ N#BB4ͷΧόʔൣғ ϑϩϯτΤϯυ ϞόΠϧΞϓϦ ͜ͷ͘Β͍໘Λݟͯ͘ΕΔ (όοΫΤϯυͷҰ෦ ࣗͰ࣮Մೳ)
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL 'JSFCBTFͰͰ͖Δ͜ͱ ओʹϑϩϯτΤϯυͰ
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL ओͳ'JSFCBTFͷػೳ • Πϯϑϥ • Hosting / WebαʔόͱσΟεΫྖҬ •
HTMLɺCSSɺJSͳͲͷ੩తϑΝΠϧΛ͙͢ʹσϓϩΠՄೳɻ • Functions / όοΫΤϯυػೳ • Node.jsͰόοΫΤϯυػೳΛ࣮Մೳɻ • ࣗͰ࣮͢ΔͷͰΠϯϑϥଆͷػೳͱͳΔɻ
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL ओͳ'JSFCBTFͷػೳ • όοΫΤϯυ • Authentication / ೝূ •
EmailɺTwitterɺGoogle AccountɺͳͲ͑Δೝূػೳɻ • Cloud Firestore / σʔλϕʔε • NoSQLܕͷσʔλϕʔεͱͯ͠ར༻Մೳɻ
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL Hosting Functions Firebase Local Hosting Functions Authentication Firestore
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL Hosting Functions Firebase Local Hosting Functions σϓϩΠ Authentication
Firestore
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL Hosting Functions Firebase WebαΠτ API Authentication Firestore SDKͰར༻
σϓϩΠྃͨ͠Β ͙͢ʹར༻Մೳ
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL /ZBO/ZBO/ZBOͷ߹ • FirebaseػೳͰ͍ͬͯΔ͜ͱ • Hosting • Functions (GCPͷײੳͱͷΓͱΓ)
• Cloud Firestore (ੳ݁ՌͷΈอ࣋) • ֎෦ • GCP Cloud Natural Language API (Functionsܦ༝ͷײੳ) ※ແྉͷ߹FunctionsGoogleͷαʔϏεͱ͔͠௨৴Ͱ͖ͳ͍ • Google Analytics • Google AdSense
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL /ZBO/ZBO/ZBO ɹͷத
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL /ZBO/ZBO/ZBOͷ߹ • FirebaseػೳͰ͍ͬͯΔ͜ͱ • Hosting • Functions (GCPͷײੳͱͷΓͱΓ)
• Cloud Firestore (ੳ݁ՌͷΈอ࣋) • ֎෦ • GCP Cloud Natural Language API (Functionsܦ༝ͷײੳ) • Google Analytics • Google AdSense ※ແྉͷ߹FunctionsGoogleͷαʔϏεͱ͔͠௨৴Ͱ͖ͳ͍ ͜ͷ͋ͨΓͷ
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL )PTUJOH 7VFKT • ίʔυΛͬ͘͟Γ
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL 'VODUJPOT /PEFKT • ίʔυΛͬ͘͟Γ
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL ڥ • ։ൃ൛ →खݩͰಈ͔͠ͳ͕Βਵ࣌֬ೝ • εςʔδϯά൛ →Firebase্Ͱఆ௨Γʹಈ͔͘ͷ֬ೝ •
ϦϦʔε൛ →ϦϦʔε!
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL )PTUJOH 7VFKT • ڥΛຯʹ͍͚ • “config/dev.env.js”, “build/webpack.dev.conf.js” /
։ൃ൛ • “config/stg.env.js”, “build/webpack.stg.conf.js” / εςʔδϯά൛ • “config/prod.env.js”, “build/webpack.prod.conf.js” / ϦϦʔε൛ • ։ൃ൛Λ͏߹ →ϩʔΧϧͰ “yarn dev” ࣮ߦ • εςʔδϯά൛Λ͏߹ →ϩʔΧϧͰ “yarn build && yarn deploy” ࣮ߦ • ϦϦʔε൛Λ͏߹ →ϩʔΧϧͰ “yarn rel-build && yarn rel-deploy” ࣮ߦ
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL 'VODUJPOT /PEFKT • ڥมΛຯʹ͍͚ …͔͕ͨͬͨɺएׯ໘ɻ • ։ൃ൛Λ͏߹ →ϩʔΧϧͰ
“npm run serve” ࣮ߦ • εςʔδϯά൛Λ͏߹ →Functionsͷ “config”ઃఆ && ϩʔΧϧͰ “yarn deploy” ࣮ߦ • ϦϦʔε൛Λ͏߹ →Functionsͷ “config”ઃఆ && ϩʔΧϧͰ “yarn rel-deploy” ࣮ߦ
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL ·ͱΊ
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL ·ͱΊ • Vue.js + Firebase Ͱ ʮʹΌʔΜʯͱͳ͘WebΞϓϦΛ࡞ͬͨɻ •
Firebase Λ͏ͱɺ ؆୯ʹϑϩϯτΤϯυத৺ͷαʔϏεΛ࡞ΕΔɻ • ڥͷ͍͚ Vue.js + Firebase ͰͰ͖Δɻ
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL ·ͱΊ • Vue.js ͷίϯϙʔωϯτͳͲͷߏɺ ϦϑΝΫλͷ༨͋Γɻ • ͦͦɺVue CLI
3 Ͱ࡞Γ͍ͨ͠ɻ • ڥͷઃఆ͍͚ɺ ͪΌΜͱཧɾखॱԽ͓͖͍ͯͨ͠ɻ
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL 13
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL ΏΔ8FCษڧձ XJUI.POBDB6(JO4BQQPSP
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL ΏΔ8FCษڧձ XJUI.POBDB6(JO4BQQPSP 20195݄30 () ։࠵ܾఆ!!!
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL ΏΔ8FCษڧձ XJUI.POBDB6(JO4BQQPSP Monaca ͱ? → HTML/CSS/JavaScriptͰ ɹεϚϗΞϓϦΛ࡞ΕΔ ɹϓϥοτϑΥʔϜ
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL ΏΔ8FCษڧձ XJUI.POBDB6(JO4BQQPSP ڵຯͷ͋Δํ ӈͷQRίʔυΛνΣοΫ!!
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL ΏΔ8FCษڧձ XJUI.POBDB6(JO4BQQPSP ٸื: ɹ͜ͷษڧձͰ ɹൃදͯ͘͠ΕΔਓ! 20 1໊ /
LT(5) 1໊
ΏΔ8FCษڧձ!ࡳຈΏΔ8FCࡳຈ !UBDDL FOE