Realm Blog

Realmのサーバーレススクリプト実行環境: Realm Functionsのご紹介

本日、Realmの新機能としてRealm Functionsを発表いたしました。これはモバイルの開発者にとってサーバーサイドの機能をこれまでよりも簡単に開発できるようにするものです。バックエンドの開発者がいなくてもサーバーサイドの機能を開発できるようになります。もちろんRealm Mobile Platformが提供する機能の恩恵はすべて受けることができます。サーバーサイドに新たなエンドポイントやシリアライズ、ネットワーク通信のコードを追加する必要はありません。アプリでRealmを使用し、Realmが提供するWebダッシュボードからデータの変更によって呼び出されるコードを記述します。Realm Functionsは現在はベータ版としての提供になります。本日より、すべての(エンタープライズレベルの大規模サービスから小さなサイドプロジェクトまで)開発者の方にご利用いただけます。

信頼性の高いデータストレージとリアルタイムのデータ同期は優れたアプリケーションを構築する上で重要な要素であり、これまでRealmはそれを提供してきました。さらにカスタムロジックをサーバーサイドに追加できるとなれば、無限の可能性が広がります。不正なデータの変更を検証するコードをサーバーサイドに追加したり、さまざまな他のAPIを利用したり、機械学習に必要なデータを集めることもできます。洗練されたサーバーサイドの機能を構築やモバイルアプリと統合することは難しく、基本的なストリーミングAPIでも、サーバーサイドのコードを構築するバックエンドの開発者に多くの作業を強いることになり、アプリケーションとサーバーが問題なくデータを通信できるように多くの注意とメンテナンスが必要になります。

仕事を生み出すコードではなく、仕事をするコードを書く

Realmは優れたアプリを作る際に障害となるものをすべて取り除くことに深く注力しています。これまではデータに関わる問題を解決することを主に展開していました。アプリが取り扱うデータを非常に簡単に保存できるようにし、同期し、変更に対して容易に反応することができるようになりました。これからはRealm Functionsによって、アプリ開発はただ必要な処理を書くことに集中できるようになり、より重要な機能の開発に力を注ぐことができます。

Realmの提供するWeb開発環境では、必要な処理を実行するためのJavaScriptを記述するだけで、すぐに結果得ることができます。機能を追加してもアプリケーションに脆弱性が発生したり、メンテナンスが必要となることはありません。Realm Mobile Platformがこれまで提供してきたように、クライアントにデータを送信するためにシリアライゼーションやネットワーク通信のコードを書く必要はありません。

Realm Functionsを使ってみる

とても簡単だということを示すために、Realm Tasksのデモアプリにおもしろい機能を追加しました。タスクのタイトルに時間か日にちを表す言葉が入っていると、自然言語処理APIを通知で、タスクの期限を自動的に設定します。その機能はたった数行のコードで実現されています。下記に示すビデオをご覧ください。そしてぜひご自身で試してみてください。

 

この機能を実際に使ってみるにはRealm Tasksのリポジトリからコードをダウンロードし、下記の説明にしたがって、Realm Mobile PlatformとRealm Functionsをセットアップしてください。Realm Functionsのドキュメンテーションはこちらです。

Realm Functionsはサーバーサイドの処理をシンプルなWebインターフェースから簡単に書くことができる、非常に強力な手段です。Realm Mobile Platformをご利用の方は、本日より誰でもRealm Functionsを利用できます。現在はベータ版として、Developer Editionをご利用の方には3つまで同時に実行可能なRealm Functionsを無料で利用していただけます。ProおよびEnterprise Editionをご利用の場合は実装できるRealm Functionsの数に制限はありません。 Realm Functionsを使用してぜひすばらしいアプリを作ってください!


Realm Team

At Realm, our mission is to help developers build better apps faster. We provide a unique set of tools and platform technologies designed to make it easy for developers to build apps with sophisticated, powerful features — things like realtime collaboration, augmented reality, live data synchronization, offline experiences, messaging, and more.

Everything we build is developed with an eye toward enabling developers for what we believe the mobile internet evolves into — an open network of billions of users and trillions of devices, and realtime interactivity across them all.

記事の更新情報を受け取る