ウェブサービスやアプリで使うからサーバーを立てたいけど、サーバーを立ち上げ方がわからない、サーバーを構築するのはちょっと面倒と感じたことがある人は多いでしょう。今回は、サーバーやインフラの知識があまりなくてもサーバーを立てるできるCloud Functions for Firebaseについて紹介します。
Cloud Functions for Firebaseとは?
すでに構築されたサーバー環境で、JavaScriptで書かれたプログラムを実行することができサービスです。すでにサーバー環境が構築されているので、新しくサーバーを立てる必要がなく書いたプログラムをデプロイするだけでサーバーとして利用することができるようになります。インフラの知識が少ないz
おすすめしたい人
以下のような人に、Cloud Functionsはおすすめです。
- さくっとサービス作って検証したい人
- インフラの知識が少ない人
- アプリ開発者
Cloud Functionsを使うため何をするの?
Cloud Functions for Firebaseを利用するためには、以下の手順が必要になります。
1. Firebase Projectを作る
1. Cloud Functionsの初期設定をする
1. ローカル環境でテストしてみる
1. 動かしたいプログラムをデプロイする
Firebase Projectを作る
Cloud Functionsを利用するには、予めFirebase Projectというものを作っておく必要があります。Firebase Projectの作り方について、以下の記事で紹介しているので参考にしてみてください。
Cloud Functionsの初期設定をする
プロジェクトが作り終えたら、Cloud Functionsを使うための初期設定をしていきます。まず、ローカルでFirebaseにアクセスできるように設定しましょう。ターミナルで以下のコマンドを実行してログインします。
$ npm install -g firebase-tools
$ firebase login
今回は、sample-functionsというプロジェクトを作って進めていきます。
最初に、ローカル環境で作業用ディレクトリを`sample-functions`という名前で作ります。ターミナルでこのディレクトリに移動し初期化を行います。
$ mkdir sample-functions
$ cd sample-functions
$ functions init
するといくつか設定が聞かれるので、今回は以下のように設定していきます。
- スペースキーでFunctionsを選択
- Use an exists projectを選択
- 先ほど作ったプロジェクト(sample-functions)を選択
- 使う言語 => JavaScriptを選択
- ESLintについて => Yes
- dependencyをインストールするか => Yes
すると、Cloud Functionの初期設定が終わります。functionsというディレクトリが作られ、その中のindex.jsを編集していきます。
ローカル環境でテストしてみる
firebase/index.jsをエディタで開いて以下のように修正します。
const functions = require('firebase-functions');
exports.helloWorld = functions.https.onRequest((request, response) => {
response.send("Hello from Firebase!");
});
修正が終わったら、以下のコマンドを実行してみましょう。すると、サーバーが立ち上がりターミナルにURLが表示されるのでブラウザで表示してみましょう。Hello from Firebase!というテキストが表示されていれば成功です。
$ firebase serve
動かしたいプログラムをデプロイする
ローカルで動かすことができたら、サーバーにデプロイしてみましょう。デプロイが終わるとターミナルにURLが表示されるので、アクセスしてHello from Firebase!というテキストが表示されれば成功です。
$ firebase deploy
最後に
今回は、Cloud Functions for Firebase について紹介していきました。今後も、より詳しい内容で紹介していくので興味のある方は Twitter のフォローをお願いします。また、他にもFirebaseやiOSアプリ開発について以下の記事で紹介しているので参考にしてみてください。