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

Firebaseを使った成長するモバイルアプリのための高速なプロダクト開発 / Rapid Mobile Application Development using #Firebase

laiso
February 16, 2019

Firebaseを使った成長するモバイルアプリのための高速なプロダクト開発 / Rapid Mobile Application Development using #Firebase

モバイルアプリケーションの開発プロジェクトはあらゆる意味で速度との闘いです。

複雑化するシステムアーキテキチャやプラットフォーム、開発ツールのエコシステム。数多くある選択肢の中から私達は2018年にFirebaseを使い、1つのモバイルアプリケーションを開発しました。

本トークではその時の経験を元に、プロダクト開発を高速化するために技術者視点でどのような貢献ができるのか? という知見をシステムアーキテクトの立場としてお伝えします。

laiso

February 16, 2019
Tweet

More Decks by laiso

Other Decks in Programming

Transcript

  1. ·ͣ࠷ॳʹFirebaseΛ࢖͏͜ͱ ΛܾΊͨ • ੲ͔ΒBaaSͷݚڀΛ͍ͯͯ͠1ਓͰ࡞Γ͖ΔͳΒ͜Ε͕࠷ڧͩͳʙͱ͍͏ؾ͕࣋ͪ ͋ͬͨ • ϞόΠϧΞϓϦͷόοΫΤϯυ(Web API)ʹಛԽͨ͠αʔϏεͷ·ͱΊ http:// iphone-dev.g.hatena.ne.jp/laiso/20120223/1330007695

    • ෆ࣮֬ੑͷߴ͍΋ͷΛߴ଎ʹ։ൃ͢Δखஈͱͯ͠Railsʹ͍ۙࢥ૝Λײ͍ͯͨ͡ • ʮRuby on Rails ͸ɺۃগਓ਺(ཧ૝͸Ұਓ) ͕αʔϏε։ൃ͢Δͷʹཧ૝తͳϑ ϨʔϜϫʔΫͰ͋ΓɺͦΕΛ໨ࢦ͠ଓ͚͍ͯΔͱߟ͍͑ͯΔɻRuby on Rails ͷෑ ͔ΕͨϨʔϧʹ৐Δ͜ͱͰɺҰؾʹ໨త஍ʹ౸ୡ͢Δ͜ͱ͕Ͱ͖Δɻʯ • Ruby on Rails ͷັྗͱࢥ૝ https://www.bokukoko.info/entry/2018/03/28/221026
  2. ٕज़બఆͷީิʢαʔόʔα Πυʣ • AWS/Ruby on Rails/MySQL/ίϯςφαʔϏε • GAE/Go/Datastore • Heroku/Django/PostgreSQL

    • → લ໘ͷFirebase+αʔόʔϨε͔Βઃܭ͢Δ͜ͱͰ ͜ͷϨΠϠʔͷܾఆΛޙճ͠ʹͰ͖Δʢ࣮ࡍ͸Cloud Functionsͷίʔυͱͷڞ༗ͱ͍͏ࢹ఺͕͋ͬͨʣ
  3. ٕज़બఆʢόοΫΦϑΟεʣ • AngularΛ࢖ͬͨSPA + Firebase Hosting • Cloud Functions/Cloud Tasks/Cloud

    Scheduler • Google App Engine(Node.js) FunctionsͰෆ଍ ͢Δ෦෼͚ͩϗετ
  4. Cloud Firestore REST API • JS SDK(ϒϥ΢β޲͚)ͷ಺෦࣮૷ΛಡΜͰͯώϯ τΛಘͨ • Firestore

    SDK಺ͷgRPCΫϥΠΞϯτΛ௨ͣ͞ʹ ௚઀RESTࢀর͢Δ • DBͷυΩϡϝϯτΛͦͷ··ಡΈࠐΉ͚ͩͳΒ͜ Ε͕γϯϓϧɻϖʔδϯά༻ͷύϥϝʔλ΋͋Δ
  5. ·ͱΊ • FirebaseͰαʔόϨεΞʔΩςΫνϟΛߏ੒ͨ͜͠ͱͰ։ൃ޻਺ ͕൒෼ҎԼʹͳΓɺߴ଎ʹϓϩμΫτ։ൃ͕Ͱ͖ΔΑ͏ʹͳͬͨ • Firebaseͷج൫͸GCPͰ͋ΓɺϓϩμΫτͷ੒௕ͱͱ΋ʹ௧Έ͕ গͳ͘ஈ֊తʹϚΠΫϩαʔϏεΞʔΩςΫνϟʹ͍ͯ͘͜͠ͱ ͕Մೳ • Cloud

    Firestore ಛ༗ͷ᠘΋͕͋ͬͨΤϯδχΞϦϯάͰղܾͨ͠ • ਖ਼ࣜ൛͕ϦϦʔε͞ΕFirestoreͱCloud Functions͕౦ژϦʔδϣ ϯʹདྷͨͷͰΑΓ࢖͍΍͘͢ͳΓࠓޙ͞Βʹࣄྫ͕૿͑Δ͸ͣ