Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Firebase を使った Web アプリケーション開発/serverless

Firebase を使った Web アプリケーション開発/serverless

kiharu sasaki

October 01, 2016
Tweet

More Decks by kiharu sasaki

Other Decks in Technology

Transcript

  1. 8FC"QQדⵃ欽ׅ׷'JSFCBTFך⚺ז؟٦ؽأ "VUI ؟٦غ٦؟؎سךꟚ涪搀 ׃חծぐفٗغ؎تך ِ٦ؠ٦钠鏾ֶ״ןِ٦ ؠ٦盖椚׾遤ֲ )PTUJOH إُؗ،זؚٗ٦غٕطح زٙ٦ؙ׾⢪欽׃ծؐؑ ـٌغ؎ٕؐؑـך،ف

    ٔ׾侧猱דرفٗ؎ 4UPSBHF 歗⫷ծ갈㡮ծ⹛歗זוծ ؝ٝذٝخך،حفٗ٦ س⥂㶷ֶ״ןر٦ةך《 䖤׾遤ֲ 3FBMUJNF%# 䱸竲ׁ׸גְ׷ׅץגךؙ ٓ؎،ٝزח㼎׃ծر٦ ةך⥂㶷הず劍׾ٔ،ٕ ة؎يד㹋植ׅ׷
  2. 'JSFCBTFך׉ך➭؟٦ؽأ GPS.PCJMF"QQT "OBMZUJDT ٌغ؎ٕ欽،شٔذ؍ؙأ /PUJDBUJPO QVTI鸐濼 5FTU-BC 暟椚畭劣ח״׷"OESPJE، فٔךذأز׾㹋倵 "E.PC

    .PCJMF"QQ欽䎢デ邌爙 3FNPUF$POH 鏣㹀ػًٓ٦ةח״׶،فٔך⹛ ⡲׾ؕأةو؎ؤ %ZOBNJD-JOLT ،فٔך؎ٝأز٦ٕ剣搀חַַ ׻׵׆،فٔⰻך暴㹀皘䨽פ钷㼪 $SBTI3FQPSUJOH ،فٔךؙٓحءُ䞔㜠׾ ꧊ ׃ծ䕦갟䏝瘝ךⴓ匿׾遤ֲ
  3. 3FBMUJNF%BUBCBTF  0OMJOF0JOF ๏ 侧ىٔ猱⟃ⰻחⰋגךؙٓ؎،ٝزחず劍 ๏ 䗁䌓䖓ח荈⹛涸חر٦ةず劍 ๏ ؔؿٓ؎ٝ儗ך⥂㶷갫׮笝䭯ׁ׸׷ ؔؿٓ؎ٝ儗

    ؔٝٓ؎ٝ儗 ؔٝٓ؎ٝ䗁䌓 ๏ ر٦ةך⥂㶷ָ〳腉ٗ٦ٍٕؕؗحءُ ๏ ِ٦ؠ٦ָ乼⡲׾竰竲ׅ׷ֿהָ〳腉 ๏ ؔٝٓ؎ٝ朐䡾ך㢌刿嗚濼ָ〳腉 侧ىٔ猱⟃ⰻדず劍 ؔؿٓ؎ٝ儗׮ر٦ة׾⥂䭯
  4. 3FBMUJNF%BUBCBTF  /P42-EBUBCBTF ๏ /P42-,74 ๏ Ⰻر٦ة׾אך+40/ח呓秛 ๏ ر٦ة圓鸡ָ׉ךתת3&45"1*ח ๏

    ر٦ةך،ؙإإٔ٦ٕ׾鏣㹀〳腉
 إُؗٔذ؍ٕ٦ٕ {   "users":  {   "uid001":  {   "name":  "Fujiwara"   }   },   "messages":  {   "id-­‐001":  {   "name":  "Fujiwara",   "text":  "hello!"   },   ......   }   }
  5. 3FBMUJNF%BUBCBTF  %BUBBDDFTT ๏ ر٦ةך刿倜כծ鷄⸇٥㢌刿٥⵴ ꤐ欽"1*׾⢪欽 ๏ ر٦ةך朐䡾㢌⻉כぐ؎كٝز׾ 飑铣׃ג嗚濼 ๏

    ♧鿇ך"1*כ1SPNJTF׾鵤ׅ ๏ زٓٝؠؙءّٝ׮㼎䘔 var  db  =  firebase.database();   var  ref  =  db.ref('messages');
 ref.push({   name:  "Sasaki",   text:  "Hello  world"   }).then(function()  {   //  do  something   }).catch(function(err)  {   //  do  something   }); 【データ追加 例】
  6. 3FBMUJNF%BUBCBTF  2VFSJFT ๏ ⚛ן갫ծ《䖤⟝侧ծ眔㔲䭷㹀׾遤ֲًاحس׾ⵃ欽ׅ׷ ๏ ًاحسثؑ٦ٝד勴⟝׾醱侧籬־ג䭷㹀〳腉 ๏ POPPODFر٦ة㢌刿ך؎كٝزٔأش٦ך涫ꐮ٥鍑ꤐ var

     db  =  firebase.database();   var  ref  =  db.ref('messages');   ref.limitToLast(50).on('child_added',  function(data)  {   //  do  something   }); 【例】
  7. 3FBMUJNF%BUBCBTF  3&45GVM"1* curl  'https://<YOUR-­‐FIREBASE-­‐APP>.firebaseio.com/users/uid001.json' 【GET例】 {   "users":  {

      "uid001":  {   "name":  "Fujiwara"   }   },   ......   } ๏ ر٦ةךꥡ㾴圓鸡ח״׶ծぐر٦ةח ♧䠐ך63-ָ♷ִ׵׸ծ3&45ؒٝسه ؎ٝزה׃ג⢪欽דֹ׷
  8. var  auth  =  firebase.auth();   //  Sign  in  Firebase  using

     popup  (Google  account)   var  provider  =  new  firebase.auth.GoogleAuthProvider();   auth.signInWithPopup(provider);   //  Sign  out   auth.signOut(); 【Google アカウントによるOAuth 例】 "VUIFOUJDBUJPO ֿ׸׌ֽ
  9. )PTUJOH 搀俱فٓٝד׮44- )551 杝荈 سً؎ٝךⵃ欽ָⵃ欽〳腉 ๏ (PPHMFךؚٗ٦غٕז$%/ח佄ִ׵׸ ׋⚅歲鋉垷ךٗ٦سٖ؎ذٝء ๏ 44-

    )551ָرؿٕؓزד䱰欽 ๏ 杝荈سً؎ٝךⵃ欽׮〳腉 搀俱  ๏ $-*ח״׶؝وٝسאדرفٗ؎ ๏ ؝ٝا٦ٕ♳דرفٗ؎㾶娖ך然钠ծ ٗ٦ٕغحؙ׮〳腉