はじめに
第1章 Firebase
第2章 アプリケーションの構築
第3章 認証
第4章 Cloud Storageによるコンテンツの管理
第5章 Firestoreによるデータベース管理
第6章 Cloud Functionsによるサーバーレスなバックエンド処理
第7章 セキュリティールール
第8章 Reduxの導入とFirebaseとの連携
おわりに
本書は、シングルページアプリケーションを作成を通じて、Firebaseとは一体どんなサービスなのか、そして何ができるのかを体系立てて解説するものです。著者は個人開発に興味があり、自作のWebサービスを何か公開したいという気持ちがありました。そんな中出会ったFirebaseは、自分の目的を実現するための最適なツールであると強く感じて興味を持ったのが本書を書くに至った理由です。
本書のターゲットは、次のような方を想定しています。
・Firebaseは名前は聞いたことがあるが、実際に触ったことはない人
・JavaScriptだけでWebアプリケーションを開発してみたい人
・Firebaseと何かモダンなJSフレームワークを組み合わせてアプリケーションを開発してみたい人
・サーバーサイドだけでなく、フロントエンドの開発にも興味がある人
主に著書の力不足とページ数の都合によるところが大きいですが、本書では次についての詳細は触れません。
・主に開発用途のサービスのみを取り上げ、Firebaseの全てのサービスは対象外
・Firebaseのデータベースサービスはベータ版のFirestoreを扱い、Realtime Databaseは対象外
・一部にマテリアルデザインによるCSSを使用しますが、洗練されたUIの実現は取り扱いません
・Jest、Mocha、Chaiなどを用いたテストコードは含まれていません
読み進めていく過程で、実装の一部分を変更していきます。その際に、実装の追加部分は行の先頭に+から始まり、削除部分は先頭に-から始まります。
1: - console.log('fuga');
2: + console.log('hoge');
本書に記載された内容は、情報の提供のみを目的としています。したがって、本書を用いた開発、製作、運用は、必ずご自身の責任と判断によって行ってください。これらの情報による開発、製作、運用の結果について、著者はいかなる責任も負いません。
本書に記載されている会社名、製品名などは、一般に各社の登録商標または商標、商品名です。会社名、製品名については、本文中では©、®、™マークなどは表示していません。
本書籍は、技術系同人誌即売会「技術書典5」で頒布されたものを底本としています。
Firebaseは、一連の機能のサービス群を提供するGoogle社のサービスです。サービスの内容は認証、データベース、ストレージからサーバーレスコンピューティングや機械学習など、多岐にわたります。
またFirebaseのサービスはGoogleがメンテナンスしており、基本的にスケーラビリティ等のインフラ部分をユーザーが気にする必要はありません。この大きな特徴があるため、Firebaseを利用するデベロッパーはインフラ部分をFirebaseに任せ、アプリ開発に集中することができるという大きなメリットがあります。これにより、Firebaseではサーバーサイドの処理をほとんど書かなくても、大規模向けはともかくプロトタイプ程度のWebアプリケーションであれば、かなりスピーディーに開発することが可能です。
具体的に、今回利用するのは次のサービスです。
・Hosting
─本番環境として静的サイトをデプロイして公開する
─SSL対応しており、独自ドメインの追加も可能
・Authentication
─Googleアカウントによる認証と、匿名認証を行うために使用
─その他にも、FacebookやTwitterによる認証も可能
・Cloud Storage
─画像や動画など静的コンテンツの保存を行う
・Firestore
─ドキュメント指向型のNoSQLデータベース
─類似サービスとして下位互換のRealtime Databaseがある
・Cloud Functions
─HTTPやその他サービスのイベントをフックにバックエンド処理を行う
─オートスケールにも対応しており、いわゆるサーバーレスと言われるサービス
|
Spark プラン | Flame プラン | Blaze プラン |
料金 | 無料 | $25/月 | 従量制 |
無料プランと有料プランには、料金面以外でいくつか大きな違いがあります。今回利用するサービスの中ではCloud Functionsがそれにあたります。無料プランのCloud Functionsでは外部のAPIを使うことができず、Googleが提供するサービスのAPIしか使えないという制限について、留意する必要があります。