Firebase Hosting良いんだけど、ちょっと動的ページを混ぜたくて困った。— xiaca@aahub.org (@scrpgil) February 23, 2018
Cloud Functionsを使っても良いのだけど、できるなら使いたくない
動的にogタグを書き換えたくてCloud Functions for Firebaseを使ってみました。このサービスもnodeも初めてだったので上手くいくか不安でしたが、満足いく結果を得られてよかったです。
むしろ他にも色々つかえそうなことがわかりました。こいつは凄いサービスですね。
Cloud Functionsを使おうとおもった経緯
今、作ってるサービス「aahub」はPWAサイトとして作成しているんですが、いわゆるシングルページアプリケーションなので、基本的にはindex.htmlしかありません。しかも、ホスティング先はFirebase Hostingなので、サーバーサイド側でogの内容を書き換えることができなかったんですね。
なので、Twitterとかで画像シェアしたくても上手いこと表示されない!
何か方法はないかと調べていたらFirebase Hostingと統合して動的サイトを返却できるCloud Functionsの方法を知ったわけです。これを使わない手はないわかですね。
どうやって使う?参考サイトを紹介
とりあえず参考にしたサイトを紹介します。
公式サイトです。ここを見なければ始まらない。
expressとテンプレートエンジンを使ったことがなかったので参考になりました。使ってみたら以外と簡単でよかったです。
使ってみてどう?こいつは簡単だ
使ってみた感想は「こいつは簡単だぜ」って感じです。基本的にやりたいことはなんでも出来る気がするし、express入るならほぼ全てのことができるかも・・・。
ちなみに、Cloud Functionsの公式リポジトリがあって、そこにサンプルがあるんですが、相当種類多いです。恐らくやりたいことの殆どは、ここからとってこればできるんじゃないですかね...
paypalとか、画像処理のsampleもあるので、条件があればFirebase Hosting + Cloud Functionsだけでサービス基盤が完成するかも。そう考えると恐ろしいな...。
デメリットは?リクエスト回数とか
リクエスト回数にだけは気をつけたいですね。無料プランだとリクエスト数は月12.5万回です。
よっぽどのヒットを飛ばさないと一般的なサイトは月12.5万PVはいかないと思いますが、まあ、一様注意点として...。やっぱり、少しヒットを出すと月12.5万PVなんてあっという間ですからね...
まとめ:もうちょっと色々使っていきたい
本当に触り始めたばっかりですけど、すごく将来性を感じています。マスターしたら間違いなくやれることの幅が広がりそうです。定期的にたまった知見はブログなりQiitaなりにかいていきますので宜しくお願いします。