BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Firebaseでバックエンドがないアプリケーションを作る

Firebaseでバックエンドがないアプリケーションを作る

原文(投稿日:2013/09/11)へのリンク

Nobackendはバックエンドがないという意味ではない。バックエンドのインフラが開発者から見えないという意味だ。バックエンドのすべての機能はフレームワークとして、ライブラリとして、あるいはサービスとして提供される。

Firebaseはウェブとモバイルアプリケーション向けに透過的なバックエンドを提供し、データ転送やストレージ、デバイス間の同期にまつわる難しさを和らげる。アプリケーションは20KBのJavaScriptライブラリを参照するだけで、JSON形式のデータを扱えるようになる。JSONにデータを追加したり、データを更新したりするだけで、このJavaScriptライブラリがFirebaseのバックエンドサーバを使って自動的にデータを同期し、関連するすべてのデバイスを新しい値に更新する。ネットワークの速度にもよるが、あるデバイスから別のデバイスへ変更が伝搬するのにかかるのは100ミリ秒程度に過ぎない。ネットワークがダウンしたら、Firebaseはデータの変更をローカルに保存して、ネットワークが復旧したら、同期を行う。共同創立者でありCTOであるAndrew Lee氏に、どのようなインフラを使っているのか尋ねたが、回答は得られなかった。

FirebaseはIE7以上、Firefox 3以上、Chrome、Safari、Opera、iOSとAndroidのモバイルブラウザなどの主要なブラウザはすべてサポートしている。また、Node.jsやJavaでセットアップしたサーバ上でも動作する。ライブラリにはREST APIがあり、Java、Python、PHP、Ruby、Clojure向けのライブラリもある。

Firebaseは現時点では、文字列、数値、ブール、オブジェクトを扱う。オブジェクトは、文字列、数値、ブール、他のオブジェクトを含むことができる。内部ではどのようにデータを保持しているのか。これについても氏は詳細を明かしてくれなかった。しかし、他の質問には答えてくれた。

DropboxのDatastore APIを使えば、ストレージに問い合わせができます。Firebaseの問い合わせ機能は制限されていますね。改善するつもりはありますか。

もちろんです。すでにいくつかの機能は実装ずみです。Datastore APIよりも優れている点は2つあります。(1)複数のユーザでデータを共有できます。(2)大きなサイズまでスケールできます。Datastore APIは自分自身のデバイス間でのデータ共有で使えるだけで、データのサイズも小さい(10 MBまで)です。

Firebaseをサーバサイドで使う場合についてもう少し、教えてくれませんか。

Node.jsとJavaのサーバをサポートしています。APIもクライアント側で参照している場合と同じ挙動です。共有したJSONオブジェクトを同期し、変更することができます。多くの顧客がサーバサイドで利用しています。

Firebaseを自分たちのサーバで動作させたい企業に対してもライセンスを与えますか。

ロードマップの中で、喜んで検討したいと思います。

どのようなロードマップを想定していますか。

たくさんのことをしたいです。多くのプラットフォーム(次はC#)をサポートし、今より素早く同期するようにし、Forgeやその他のツールを改善したいです。チュートリアルやドキュメントも改善して、強力なAPIを提供したいです。

データはユーザ認証とセキュリティルールで保護される。セキュリティルールは認証されたユーザがどのようにデータを変更できるかを決める。データの転送はSSL経由で行われる。

Firebaseを使ったアプリケーションはクラウドや開発者のサーバで動いている他のサービスとも統合できる。

 

Firebaseは先月ベータ版を脱した。価格プランには無償の開発者エディションもある。プロダクション環境向けの4つのエディションはさまざまなレベルのデータ転送とストレージ制限があり、エンタープライズエディションは個別に交渉して価格を決める。

この記事に星をつける

おすすめ度
スタイル

BT