開発者達によるブログですこの広告は、90日以上更新していないブログに表示しています。2016-07-04Firebaseを軽い気持ちで触ってみたら使い勝手が予想を遥かに超えてきた話こんにちは。Partnersのエンジニア、鈴木です。わたくし普段は弊社サービスReluxのサーバーサイドの開発を担当していますが、元々はiOSエンジニアでした。1年近くも実務でのアプリ開発から離れているので、iOSは話題のキャッチアップで精一杯...。手を動かそう、ということで、話題のFirebaseをさわってみました。Firebaseとは?そもそもFirebaseとはなんでしょう?元々は米国で始まったmBaasであり、2014年にGoogleに買収されたことでその名が広く知れ渡りました。I/Oにてバージョンアップを発表、その中には無料で利用できるプッシュ通知の提供もありました。年始に同じくプッシュ通知サービスを提供するmBaasであるParseの終了アナウンスがあったため、代替サービスとして注目している人も多いのではないでしょうか。そんな時勢も相まって、今もっとも注目を集めるmBaasと言っても過言ではありません。何ができるの?Firebaseは実に多くの機能を提供しています。Reporting、Notificationsなどなど、どれも本来であればサーバー開発に大きな工数がかかるもの。これらの機能が高水準で提供されており、かつ無料で利用できる枠も大きいときたら、個人デベロッパーも企業も試さない手はないでしょう。便利そう、面白そう、かつフルスクラッチで作ったらとても大変そう、という理由です。いう名前からお察しのことと思いますが、特徴をざっくり箇条書きにするとこんな感じです。端末から送信されたデータがクラウド上に保存されるクラウド上のDBを介して、複数の端末、複数のユーザー間でデータの同期が可能であるオフラインでもローカル上でデータ保存され、オンラインになったタイミングで自動でクラウド上にデータ保存される特に便利なのが最後のオフライン時の挙動。これをフルスクラッチで実現しようと思ったらぞっとしますね...。AnalyticsのSDKがこんな仕組みだったと思うのですが、同じ技術を用いているのでしょうか。導入編それでは導入から見ていきましょう。Googleアカウントと連携できるので、1クリックで完了です。コンソールはこんな感じ。ほとばしるGoogle感。その後DLしたplistをプロジェクトに追加。最後にCocoapods経由で追加してあげれば導入完了です。ちなみにpodfileへの追加分はこんな感じ。'Firebase/Database'作るアプリ複数端末でのデータ同期、ときたらやはりチャットでしょうか。サンプルとして簡易的なチャットアプリを作ってみます。最先端のマテリアルデザインを取り入れた、最高にイケてるUIです。わかっているので何も言わないでください。ユーザー名とテキストを入れるだけの、簡素なものです。ソースコードでは実装に入っていきましょう。AppDelegateに以下を追記します。YES;}ViewControllerは以下。true;}これですべてです。やっつけコードなのはご容赦いただくとして、やっていることはこれだけです。DBの読み書きをするためのインスタンスを取得DBの変更を監視、変更があった場合の処理をブロック構文で書く(この場合はテキストの追加)送信ボタンが押下されたら、記入者とメッセージ内容を保存するDBの読み書きが本当にシンプルに記述できます。実行結果それでは実行結果を見てみましょう。コンソールにこんな具合で、リアルタイムにデータが追加されていきます。ちなみに編集や削除もこちらからできます。debug時にも便利ですね。今回シミュレータと実機でチャットを試してみましたが、問題なくやりとりできました。一方の端末でネットワークの接続を切って更新、ネットワーク再接続、というテストをしてみたところ、期待通り再接続時にもう一方でテキスト内容が更新されました。すごさがわかっていただけると思います。総括いかがでしたか?繰り返しになりますが、その導入の簡単さ、記述するソースコードの簡潔さ、オフライン時の挙動の便利さには目を見張るものがあります。今回はサンプルということで簡素な使い方しかしていませんが、色々とアイディアが膨らむサービスです。次回は他の機能も試していこうと思います。18:57Firebaseを軽い気持ちで触ってみたら使い勝手が予想を遥かに超えてきた話Tweet広告を非表示にする関連記事2016-10-15【重要だけど緊急度が低いタスクに取り組む日】CLEAR@5回目を開催しました古田です。PR採用情報はてなブログをはじめよう!loco-devさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。