Build the SNS like Instagram with Firebase

Build the SNS like Instagram with Firebase

Firebase Realtime Meetupでの登壇資料です。

21807122e5564f4775b813d2eb17efaf?s=128

mogaming

June 26, 2020
Tweet

Transcript

  1. NPHB #VJMEUIF4/4MJLF*OTUBHSBN XJUI'JSFCBTF 'JSFCBTF3FBMUJNF.FFUVQ

  2. )FMMP w NPHB w ΫϥΠΞϯταΠυدΓͷΤϯδχΞ w .5*ˠ%F/"ˠ࣮ݧˠϑϦʔϥϯεʢਓձࣾʣ w 5XJUUFS!@NPHBNJOH w

    'JSFCBTFܥ:PVUVCFS΍ͬͯΔͷͰΑ͔ͬͨΒ5XJUUFS͔ΒඈΜͰ ݟͯΈ͍ͯͩ͘͞
  3. None
  4. '0--08.& w גࣜձ࣮ࣾݧ͕ఏڙ͍ͯ͠Δ༗ྉ൛Πϯελ ͷΑ͏ͳαʔϏε w ͓ۚΛ෷ͬͯϑΥϩʔ͢Δͱίϯςϯπ͕ݟΕΔ w ೥݄೔Ұൠެ։ w IUUQTGPMMPXNFBQQ

  5. νʔϜߏ੒ w Φʔφʔ w ޫຊ༐հࢯ w σβΠφʔ w ໊ w

    ΤϯδχΞ w NPHB ʢ"OESPJE୲౰ͷਓʣ
  6. ։ൃظؒ w ೥݄ॳ०ࠒʹঃʑʹ։ൃ։࢝ w 5"-,ͱ͍͏αʔϏεͷվम΋͓͜ͳ͍ͬͯͨ w ओཁػೳͷ࣮૷͸͍͍݄ͩͨʹ͸ऴΘ͍ͬͯͨ w ৹͕ࠪͳ͔ͳ͔௨Βͳͯ͘ϦϦʔε஗Ε w

    "ࣾͷܾࡁγεςϜʹ͸͔ͳΓ;·O SZ
  7. αʔϏεͷٕज़తߏ੒

  8. ٕज़ελοΫ w J04"QQ w 4XJGUʢHPPHMFQSPNJTFTɺ7*1&3ʣ w 8FC'SPOUFOE w /FYUKTY5ZQF4DSJQU w

    'JSFCBTF w 5ZQF4DSJQU
  9. σβΠϯ w 9% w ΤϯδχΞ͸ϒϥ΢β͔ΒݟΔ w ن໛େ͖͘ͳͬͯ͘Δͱ9%Λϒϥ΢βͰ։͘ͱ.BDͷϑΝϯ͕ ·ΘΔͷ͕ͪΐͬͱπϥΠ

  10. શମ૾

  11. None
  12. ΫϥΠΞϯτͷ ௨৴૬ख

  13. 'VODUJPOTͷ ௨৴૬ख

  14. ϩάͱ؂ࢹ

  15. ෼ੳ

  16. 8FC

  17. ઃܭํ਑ w ݪଇΫϥΠΞϯτ͔Β'JSFTUPSFΛ৮Δ w ମݧ͕গ͠ѱ͘ͳΔͷͰͰ͖Δ͚ͩ௚઀'VODUJPOT͸ݺ͹ͳ͍ w Ͳ͏͠Α͏΋ͳ͍ͱ͖͸$BMMBCMFͰݺͼग़͢ w 'JSFTUPSFͷSVMFTΛςετͱ߹ΘͤͯͪΌΜͱॻ͘ w

    ಉظॲཧ͸ՄೳͳݶΓආ͚Δ w 'JSFTUPSF5SJHHFSΛ׆༻͢ΔʢྫɿୀձॲཧͳͲʣ w 'JSFTUPSFͷDPMMFDUJPO໊͸Ͱ͖Δ͚ͩҰҙʹͳΔΑ͏ʹ͓ͯ͘͠ w $PMMFDUJPO(SPVQͰͷऔಘΛߟྀ͓ͯ͘͠
  18. ֤ػೳͱઃܭ

  19. ϑΥϩʔͱλΠϜϥΠϯ w ࣗ਎ΛϑΥϩʔ͢ΔͨΊʹඞཁͳֹ͕ۚઃఆͰ͖Δ w ϑΥϩʔ͢Δͱίϯςϯπʢࣸਅɾಈըʣ͕ݟΕΔ w 'PMMPXFFͷλΠϜϥΠϯʹ'PMMPXFSͷ౤ߘ͕ྲྀΕͯ͘Δ

  20. ϑΥϩʔͱλΠϜϥΠϯ w VTFST\VTFS*%^ w QPTUT\QPTU*%^ɿ౤ߘҰཡ w GPMMPXJOHT\GPMMPXJOH6TFS*%^ɿϑΥϩʔ͍ͯ͠ΔਓҰཡ w GPMMPXFST\GPMMPXFS6TFS*%^ɿϑΥϩϫʔҰཡ w

    UJNFMJOFT\QPTU*%^ɿλΠϜϥΠϯ
  21. 1PTUͷߏ଄ VTFST\VTFS*%^QPTUT\QPTU*%^ w JEQPTU*%ʢ$PMMFDUJPO(SPVQͰݕࡧ༻ʣ w CPEZ౤ߘจ w DPNNFOUT$PVOU MJLFT$PVOUίϝϯτɺ͍͍Ͷͷ݅਺ w

    NBTLFE*NBHF63-ϚεΫ͞Εͨը૾ͷ63- w DPOUFOUT\छྨɿಈըࣸਅɺαΠζɺ4UPSBHFͷ1BUI^ w DSFBUFE"U VQEBUFE"U
  22. ϑΥϩʔ  ΞϓϦଆͰܾࡁ͕૸Δ  $BMMBCMFͰϨγʔτૹ৴  Ϩγʔτݕূ  ϑΥϩʔؔ܎Λ࡞੒ʢGPMMPXJOHT GPMMPXFSTʣ

    'PMMPXFSͷQPTUTΛ'PMMPXFFͷUJNFMJOFT΁ίϐʔ  'PMMPXFFͷ*%5PLFOΛߋ৽ʢ4UPSBHFͷSVMFT༻ʣ  ϨεϙϯεΛฦ͠ɺΞϓϦ͸*%5PLFOΛ3FGSFTI
  23. λΠϜϥΠϯ΁ͷίϐʔ w UJNFMJOFT΁QPTUTΛίϐʔ͢Δॲཧ͸ॏ͍͕ϑΥϩʔ࣌ͷΈಉظతʹߦ͏ w ϑΥϩʔؔ܎࡞੒Λ5SJHHFSʹ'VODUJPOTΛىಈͯ͠ίϐʔͯ͠΋Α͍͕ɺ ԿඵͰىಈ͢Δ͔Θ͔Βͳ͍ͨΊʮϑΥϩʔͨ͠ͷʹݟΕͳ͍ʯʹͳΒͳ ͍Α͏ʹ࢓ํͳ͘ಉظతʹίϐʔ w ίϐʔ͢Δσʔλ͸࠷খݶʹͯ͠$MJFOU4JEF+PJOͰऔಘͤ͞Δ w

    UJNFMJOFTͷϑΟʔϧυ͸JE VTFS3FG DSFBUFE"U TPSU༻ʣ
  24. λΠϜϥΠϯ΁ͷίϐʔ w ౤ߘ͢Δͱ͖ʹΫϥΠΞϯτ͕΍Δ͜ͱ w ࣸਅ΍ಈըͷΞοϓϩʔυ w QPTUTʹDSFBUF w ϑΥϩϫʔλΠϜϥΠϯ΁ͷ1PTUίϐʔ͸1PTUͷPO$SFBUFͰߦ͏ w

    ౤ߘऀͷମݧ޲্ w ԿΛಉظతʹ΍Βͳ͚Ε͹ͳΒͳ͍͔Λৗʹߟ͑ͯઃܭ͢Δ
  25. 1PTUͷ͍͍Ͷɺίϝϯτ w VTFST\VTFS*%^QPTUT\QPTU*%^ w MJLFT\MJLF6TFS*%^ɿEPDVNFOU*%VJEʹͯ͠ճͷΈΛ୲อ w DPNNFOUT\DPNNFOU*%^ w SFQMZ$PNNFOUT\SFQMZ$PNNFOU*%^ w

    1PTUͷϑΟʔϧυʹΧ΢ϯλʔΛอ࣋ w SVMFTͰMJLF΍DPNNFOUͷDSFBUF EFMFUFʹ߹Θͤͯ૿ݮ͢ΔΑ͏ʹ੍ݶ
  26. ͓஌Βͤɺ௨஌ w ͓஌ΒͤΛݟΕΔ w ϓογϡ௨஌͕ಧ͘ w ϓογϡ௨஌ͷ0/0''͸ ߲໨͝ͱʹઃఆͰ͖Δ

  27. ͓஌Βͤ w VTFST\VTFS*%^OPUJpDBUJPOT\OPUJpDBUJPO*%^ w ͓஌ΒͤͰද͍ࣔͨ͠΋ͷΛอଘ͍ͯ͘͠ w ௨஌छผɺ௨஌೔࣌ɺϝοηʔδ΍ભҠઌͳͲΛϑΟʔϧυʹ΋ͭ w PO$SFBUF΍PO6QEBUFΛ5SJHHFSʹ௨஌ઃఆΛݟͯϓογϡ௨஌ΛૹΔ w

    <SPPU>OPUJpDBUJPO4FUUJOHT\VTFS*%^
  28. OPUJGJDBUJPO*%ʹҙຯΛ࣋ͨͤΔ VTFST\VTFS*%^OPUJpDBUJPOT\OPUJpDBUJPO*%^ w ͍͍Ͷͷ͓஌Βͤͷ%PDVNFOU*%Λࣗಈʹ͍ͯ͠Δͱ͍͍Ͷͷ͓஌ΒͤͰ ຒ·ͬͯ͠·͏ w ೔ຖʹ·ͱΊ͍ͨ৔߹͸OPUJpDBUJPO*%ΛA\QPTU*%^@MJLFT@::::..%%A ʹ͓͖ͯ͠ɺEPD JE TFU

    EBUB \NFSHFUSVF^ Ͱߋ৽͢ΔΑ͏ʹ͓ͯ͘͠ w PO$SFBUFͰ͚ͩϓογϡ௨஌ΛૹΔͳͲͷ޻෉͕Ͱ͖Δ w શһʹରͯ͠ӡӦ͔Β͓஌Β͍ͤͨ͠ͱ͖ʹ΋ɺOPUJpDBUJPO*%Λࢦఆͯ͠ ͓͚͹ɺ΋ؒ͠ҧ͑ͨͱ͖ʹ΋ίοιϦߋ৽Ͱ͖ΔͷͰࣗಈઃఆͱ࢖͍෼͚͍ͨ
  29. ϓογϡ௨஌ w VTFST\VTFS*%^EFWJDF5PLFOT\UPLFO^ w ϢʔβʔͷσόΠετʔΫϯΛอ࣋ɺϩάΞ΢τ࣌ʹݱࡏͷ΋ͷΛ࡟আ w PO$SFBUFPO%FMFUFͰ5PQJDΛߪಡͤ͞Δ w A\ϑΥϩʔͯ͠Δ6TFSͷ*%^@QPTUTAͰϑΥϩʔͯ͠Δਓ͕౤ߘͨ͠ͱ͖ʹ ௨஌͕དྷΔ5PQJDͱ͢ΔɺͳͲ5PQJD໊ʹҙຯΛ΋ͨͤͯ؅ཧ͢Δ

    w 5PQJDΛ׆༻͢Δͱ௨஌Λૹ৴͍ͨ͠ϢʔβʔͷτʔΫϯΛऔಘ͠ͳͯ͘ྑ͍ ͷͰɺ3FBEճ਺͕େ෯ʹݮΒͤΔ
  30. 5PQJDͷ׆༻ํ๏ w શϢʔβʔ༻͸༻ҙ͓ͯ͘͠ͱศར w 3FNPUF$POpHߋ৽ΛΫϥΠΞϯτʹ஌ΒͤΔͨΊʹ΋࢖͑Δ w ࢿྉ࡞੒࣌ʹࢥ͍͍͕ͭͨ5PQJD໊VJEʹͯ͠5PLFOొ࿥͓͚͹ɺͦͷϢʔ βʔʹର͢Δϓογϡ௨஌͸5PQJDʹର͚ͯͩ͠ૹΕ͹͍͍ͷͰɺ௨஌ૹ৴࣌ ʹτʔΫϯͷ3FBE͕ෆཁʹͳΓΑ͍ͷͰ͸ͳ͍͔ʁ w

    Կ͔ͷ੍ݶʹҾ͔͔ͬΔ͔΋͠Εͳ͍͕ɺࠓͷॴݟ౰ͨΒͳ͍ؾ͕͢Δ
  31. ച্ͷ؅ཧ w VTFST\VTFS*%^TBMFT\TBMF*%^TBMF%FUBJMT\USBOTBDUJPO*%^ w TBMF*%͸::::..ͱ͠ɺ݄͝ͱͷച্৘ใΛϑΟʔϧυʹ࣋ͭ w TBMF%FUBJMTʹ͸ݸʑͷܾࡁ৘ใʢϑΥϩʔͷܾࡁʣΛ࣋ͭ w TBMF%FUBJMTͷPO$SFBUFͰTBMFTͷ஋Λߋ৽͢Δ w

    Ϣʔβʔʹදࣔ͢ΔΑ͏ͷσʔλ w ച্֬ఆόονͰTBMF%FUBJMTΛऔ͖ͬͯͯ࠶ܭࢉͤ͞ΔͱΑΓ҆৺
  32. όονॲཧ w 1VC4VCͱ࿈ܞͯ͠ɺ$SPO+PC 'VODUJPOT Λ؆୯ʹઃఆͰ͖Δ w ʮॏΊͷॲཧº݄ʹճىಈʯͷ৔߹ɺ'VODUJPOTͷ੍ݶ࣌ؒ಺ʹॲཧ͕ ऴΘΒͳ͍Մೳੑ͕ߴ͍ʢࠓݱࡏ࠷େඵʣ w 'VODUJPOTͷεϖοΫΛ࠷େʹͯ͠΋ऴΘΒͳ͍Մೳੑ͕͋Δ

    w όονॲཧ͍ͨ͠ର৅Λநग़͢Δ'VODUJPOͱ࣮ࡍʹॲཧΛ͢Δ'VODUJPOΛ Θ͚ΔͱॲཧΛ෼ࢄͰ͖Δ
  33. όονॲཧΛ෼ࢄͤ͞Δ w ͭ໨ͷ'VODUJPOͰॲཧର৅ΛߜΓࠐΈɺόονॲཧʹඞཁͳ৘ใͱ߹Θͤͯ UBTLT\UBTL*%^ʹอଘ͢Δ w ͭͷUBTLʹॲཧର৅ͷ৘ใɺྫ͑͹݅෼ΛϑΟʔϧυʹ࣋ͨͤΔ w UBTLͷPO$SFBUFΛ5SJHHFSʹόονॲཧΛ͢Δͱ݅ͣͭॲཧͰ͖Δ w ॲཧ͸ՄೳͳݶΓႈ౳ੑΛ΋͓͖ͨͤͯͭͭɺDPOUFYUFWFOU*EΛ׆༻ͯ͠

    ճ͔͠ॲཧ͠ͳ͍Α͏ʹ͓ͯ͘͠ʢTV͞Μͷهࣄࢀরʣ w PO$SFBUFͳͲͷ5SJHHFS͸ෳ਺ճىಈ͢ΔՄೳੑ͕͋ΔͨΊ
  34. ը૾ॲཧ w ౤ߘ͞Εͨը૾͸ϒϥʔΛॻ͚ͨը૾Λ༻ҙ͢Δඞཁ͕͋Δ w 4UPSBHFͷ5SJHHFSΛ࢖ͬͯɺPO'JOBMJ[FͰ'VODUJPOT্Ͱը૾Λॲཧͯ͠ 4UPSBHFʹΞοϓϩʔυ͠ɺରԠ͢Δ'JSFTUPSF্ͷ1PTUΛߋ৽͢Δ w 'VODUJPOTʹ͸*NBHF.BHJDL͕ೖ͍ͬͯΔ͕͋Μ·Γ࢖͍΍͘͢ͳ͍ͷͰ TIBSQͱ͍͏QBDLBHFΛ࢖͍ͬͯΔ w

    *NBHF.BHJDLΑΓ͸΍͍Β͍͠
  35. 3FNPUF$POGJHͷ׆༻ w ڧ੍όʔδϣϯΞοϓσʔτ w ׬ᘳͰ͸ͳ͘ͳΔ͕޻਺΍ίετײ΋ߟ͑ͯίϨ͕ଥ౰ͩͱ൑அ w ϑΟʔνϟʔεΠον w "#ςετ΄ͲͰ͸ͳ͍͕ࢼݧతʹऔΓೖΕͨػೳ͕ෆධͳՄೳੑ͕͋Δ ৔߹͸੾Γସ͑ΒΕΔΑ͏ʹ͍ͯ͠Δ

    w 'JSFTUPSFͰ࣋ͭ΄Ͳ͡Όͳ͍ͳ͍ͬͯ͏ఆ਺Λ؅ཧ
  36. 5FTUJOH

  37. ςετ͸ඞཁ࠷௿ݶ w 'JSFTUPSFͷSVMFTͷςετ w ઈରʹॻ͍͓͍ͯͨ΄͏͕͍͍ w ܾࡁॲཧपΓ͸ෆ۩߹͕͋Δͱக໋తͳͷͰςετΛॻ͘ w 65ͱ*OUFHSBUJPO5FTUͬΆ͍΋ͷ w

    ࣗ෼͕ίʔυΛॻ͍͍ͯͯෆ҆ͳ෦෼Λॻ͘ w ܕΛͰ͖Δ͚ͩ׆༻ͯ͠ίʔσΟϯά͍ͯ͠ΔͷͰ͋Δఔ౓୲อ͞Ε͍ͯΔͱ ߟ͑ͯඞཁ࠷௿ݶͷςετͷΈʹ͍ͯ͠Δ
  38. $* w (JUIVC"DUJPOTΛ׆༻ w ΊͪΌͪ͘Όศར͗ͯ͢ײಈ͢Δ w QVTI࣌ʹςετΛճ͢ w ΞϓϦଆͷςετ͸Ұ੾ॻ͍ͯͳ͍ͷͰόοΫΤϯυͷΈ

  39. ӡ༻ίετ

  40. 'JSFTUPSFͷ࢖༻ঢ়گʢ೔ؒʣ

  41. අ༻ʢ݄೔ݱࡏʣ ˞ͦͷଞ4BB4 "MHPMJBFUD ͷྉۚ͸·ͨผʹ͔͔Γ·͢

  42. 'JSFCBTFͷྑ͠ѱ͠

  43. ˞ਓͰ࡞͍ͬͯΔਓͷײ૝Ͱ͢

  44. ͍͍ͱ͜Ζ w ඞཁͳ΋ͷ͕ἧ͍ͬͯͯͱʹ͔͘ૣ͘࡞ΕΔ w σʔλΛஔ͍ͯSVMFTαΫοͱॻ͚͹$36%Ͱָ͖ͯ w ίετ͕͍҆ w εέʔϧͯ͘͠ΕΔͷͰΘΓͱ҆৺ͯ͠ੜ׆Ͱ͖Δ w

    Φʔφʔ͕ظ଴͢Δεϐʔυײʹ͍͍͚ͭͯΔ
  45. େมͳͱ͜Ζ w ઃܭύλʔϯ͕·ͩ·ͩރΕͯͳ͍ײ͕͋͡Δʢಛʹ'JSFTUPSFʣ w ߟ͑Δ͜ͱ͕ͨ͘͞Μ͋ͬͯઃܭ޷͖ʹ͸࠷ߴ w 'JSFTUPSFͷSVMFT͕ͻͨ͢ΒංେԽ͍ͯ͘͠ͷͰ؅ཧ͕Ή͔ͣ͘͠ͳΔ w αʔόʔͰσʔλՃ޻ͯ͠ΫϥΠΞϯτʹฦ͢ͷΑ͏ͳ͜ͱ͕೉͍͠ w

    Ϧʔυ༻ͷίϐʔΛ࡞Δඞཁ͕͋Δ͕ͦΕͷ؅ཧ΋େม w Ͱಈ͍ͯΔαʔόʔ͕୆΄͘͠ͳΔ ʢ͚Ͳӡ༻͕ݏͰͻͨ͢Βආ͚ͯΔʣ
  46. ·ͱΊ

  47. ·ͱΊ w 'JSFCBTFͰ*OTUBHSBNͭ͘ΕΔΑʢଞͷ4BB4͸ੵۃతʹ࠾༻͢Ε͹ʣ w 'JSFCBTFָ͍͠Αʂ w ࣮ફతͳ࿩͕·ͩ·ͩগͳ͍ͷͰυϯυϯڞ༗͍͖͍ͯͨ͠ 1MFBTFGPMMPXNZ5XJUUFS!@NPHBNJOH