Firebaseはバックエンドの処理にも使えます!
Firebase はバックエンドの処理にも使えます!
多くの Web サービスや Web アプリケーションは、利用者のブラウザーで動くものが多くなっています。
React や Vue.js などのフレームワークを利用して 1 ページアプリを作るケースが多くなっています。
JavaScript のコードはブラウザーで見えられる!
ところが、JavaScript のコードはブラウザーで実行されるため、言い換えればブラウザーはコードを取り込めるという事になります。
開発者はご存じだと思いますが、ブラウザーの開発者用の機能を使うと、JavaScript のソースコードは基本的に誰でも簡単に見る事ができます。
ここで厄介なのは、セキュリティです。 ソースコードが見られるという事は、プログラムが何をやっているかわかるという事です。
そう考えると一部の情報は余り見せたくないものも存在します。例えば、特定のユーザーの情報や外部サービスの API キーなどです。
Firebase はセキュリティルールを提供
こうした問題に対処する場合、データベースのデータはデータベースの各コレクション、各ドキュメントに関する詳細のセキュリティルールを設定して、細かいアクセスの権限を制限できるようになっています。
これを利用すればある程度対処は可能です。
しかし、API キーなどを完全に隠すのは難しくなります。そこで、殆どの実装ではそうした部分はバックエンドで処理するようにして、フロントエンドのブラウザーからは見られないようにして対処しています。
Cloud Functions を使えばバックエンドの処理も可能!
多くの実装ではバックエンドには PHP などの別のプログラミング言語で対応するという事例が多くなっています。
Firebase は、Node.js という JavaScript で記述可能な Cloud Functions という機能も提供しています。
Node.js でサーバー側の処理を書けば、バックエンド側の処理も簡単に実装できます。しかも同じプログラミング言語で対応できます。
これは、Web サービスや Web アプリを作るために勉強する項目が少なくて良い事を意味します。やる事が多い、フリーランスにはとてもありがたい事です!