Firebase概要
概要
Firebaseは、昨年10月にGoogleが買収したモバイルBaaSで、リアルタイム通知機能を持つオブジェクトデータベース(データ構造はJSON形式)です。
特長
- リアルタイムデータベース
- 認証
- ホスティング
リアルタイムデータベース
- 自動スケール
- セキュア
- オフライン動作
2048ビットcertificateを使ってのSSL接続する。
オフライン動作しておき、再接続した時にデータを同期する。
認証
auth機能を使ったユーザー認証ができる。
ホスティング
- 静的コンテンツをデプロイできる
- バージョン管理できる
- FirebaseのCDN経由でSSL接続できる
アプリ
Web
JavaScriptによる開発ガイド・サンプルがある。
各言語のラッパがある。
Firebase-Rubyを使ってみます。サービスを使う時、インタプリタ言語は逐次動作チェックできるのでとても便利です。rubyは事前のインストールしておく必要があります。また、アプリも事前に作成しておく必要があります。
$ gem install firebase $ pry pry(main)> require 'firebase' pry(main)> base_uri = 'https://sample-smaphonia.firebaseio.com' pry(main)> firebase = Firebase::Client.new(base_uri) => #<Firebase::Client:0x007fc73ba74540 @auth=nil, @request= #<Firebase::Request:0x007fc73ba74108 @client= #<HTTPClient:0x007fc73ba740b8 ... pry(main)> response = firebase.push("todos", { :name => 'Pick the milk', :priority => 1 }) => #<Firebase::Response:0x007fc73cedad68 @response= #<HTTP::Message:0x007fc73c1fb9a8 @http_body= #<HTTP::Message::Body:0x007fc73c1fb908 @body="{\"name\":\"-Jxrcq3YzW4qH-N1uiNl\"}", ...
管理画面でデータを見ると確かに登録されています。
Android
Androidの開発ガイド・サンプルがある。
iOS
iOSの開発ガイド・サンプルがある。Objective-Cがメインだが、Swiftを使ったサンプルもある。
セキュリティ
Firebaseが提供するセキュリティAPI。JavaScript風のシンタックスでルールが記述できる。
{ "rules": { ".read": true, ".write": true } }
Open Data Set
Firebase登録されているOpen Data Set。
ホスティング
静的なコンテンツ(HTML/CSS/JavaScript)をFirebaseで運用できる。
以下の手順でFirebaseにデプロイすることができます。
- アプリを作成する
- ツールをインストールする
- 初期化する
- デプロイする
ホスティングアプリ(URL)を作成します
Firebaseの管理画面でアプリを作成します。hosting-demoというアプリを作成しました。
ツールをインストールする
$ npm install -g firebase-tools
初期化する
カレントディレクトリを初期化します。firebase.jsonが作成されます。
$ firebase init
初めて実行した場合には、firebaseのアカウント認証を行います。
Please sign into your Firebase account to continue... Email: Password:
アプリ一覧が表示されます。作成したアプリ(hosting-demo)を選択します。
---------------------------------------------------- Your Firebase Apps ---------------------------------------------------- hosting-demo ---------------------------------------------------- Enter the name of the Firebase app you would like to use for hosting Firebase app hosting-demo ---------------------------------------------------- Site URL: https://hosting-demo.firebaseapp.com ---------------------------------------------------- Enter the name of your app's public directory. (usually where you store your index.html file) Public Directory (current directory) Initializing app into current directory... Writing firebase.json settings file...
デプロイします
HTMLファイルを作成して、デプロイします。
$ cat index.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> <body> <p>Hello Hosting Demo!</p> </body> </html> $ firebase deploy Public Directory: /Users/unokun/work/firebase/hosting-demo Preparing to deploy Public Directory... Uploading 1 files with total compressed size = 208 B progress: 100% Successfully deployed Site URL: https://hosting-demo.firebaseapp.com, or use firebase open Hosting Dashboard: https://firebase.com/account then view the hosting section of your app