The Future of Mobile Development:
MongoDB Realm

MongoDB Realm will combine Realm, the popular mobile database and data synchronization technology, and MongoDB Stitch, the serverless platform for MongoDB, into a unified solution that makes it easy for you to build powerful and engaging experiences on more devices.

優れたモバイル技術
スタックを提供します

Realm helps companies build engaging mobile applications with minimal development time. Learn why every day hundreds of thousands of developers choose Realm.

Start a Free Trial Now

世界中で利用されるアプリを
作ることは簡単ではありません

Realm Platformを利用すると、双方向のデータ同期やリアルタイムの共同編集といった複雑な機能を持ったアプリを短期間に作れるようになります。浮いた時間はサービスの本質的な機能の開発に使えます。

さらに詳しく Contact Sales

Realm Database

Use the Realm Database to save data in minutes so you can build mobile apps in a fraction of the time. Our object database is a simple alternative to SQLite and Core Data and proudly open source. Available for Java, Swift, Objective‑C, JavaScript, and Xamarin.

さらに詳しく
class Dog {}

Dog.schema = {
  name: 'Dog',
  properties: {
    name: 'string',
    age: 'int',
  }
};

let realm = new Realm();
realm.write(() => {
  realm.create('Dog', {name: 'Rex', age: 1});
});

let pups = realm.objects('Dog').filtered('age < 2');
@interface Dog : RLMObject
@property NSString *name;
@property NSInteger age;
@end
@implementation Dog
@end

Dog *dog = [Dog new];
dog.name = @"Rex";
dog.age = 1;

RLMRealm *realm = [RLMRealm defaultRealm];
[realm transactionWithBlock:^{
  [realm addObject:dog];
}];

RLMResults<Dog *> *allDogs = [Dog allObjects];
RLMResults<Dog *> *pups = [allDogs objectsWhere:@"age < 2"];
class Dog: Object {
  @objc dynamic var name = ""
  @objc dynamic var age = 0
}

let dog = Dog()
dog.name = "Rex"
dog.age = 1

let realm = try! Realm()
try! realm.write {
  realm.add(dog)
}

let pups = realm.objects(Dog.self).filter("age < 2")
public class Dog extends RealmObject {
  public String name;
  public int age;
}

Dog dog = new Dog();
dog.name = "Rex";
dog.age = 1;

Realm realm = Realm.getDefaultInstance();
realm.beginTransaction();
realm.copyToRealm(dog)
realm.commitTransaction();

RealmResults<Dog> pups = realm.where(Dog.class)
                               .lessThan("age", 2)
                               .findAll();
public class Dog : RealmObject 
{
  public string Name { get; set; }
  public int Age { get; set; }
}

var realm = Realm.GetInstance();
realm.Write(() => 
{
  realm.Add(new Dog
  {
    Name = "Rex",
    Age = 1
  });
});

var pups = realm.All<Dog>().Where(d => d.Age < 2);

Realm Platform

Deploy data sync for your mobile apps use Realm Database and create reactive app experiences in as little as 10 lines of code. Realm Object Server and Realm Database combine to make the Realm Platform.

Try Realm Cloud
さらに詳しく
// Authenticating the User
[RLMSyncUser logInWithCredentials:[RLMSyncCredentials credentialsWithGoogleToken:@"google token"]
                    authServerURL:[NSURL URLWithString:@"http://realm.example.com:9080"]
                     onCompletion:^(RLMSyncUser *user, NSError *error) {
  if (user) {
    // Opening a remote Realm
    NSURL *realmURL = [NSURL URLWithString:@"realm://realm.example.com:9080/~/userRealm"];
    RLMRealmConfiguration *config = [[RLMRealmConfiguration alloc] init];
    config.syncConfiguration = [user configurationWithURL: realmURL];
    RLMRealm *realm = [RLMRealm realmWithConfiguration:config error:nil];
    // Any changes made to this Realm will be synced across all devices!
  } else if (error) {
    // handle error
  }
}];
// Authenticating the User
SyncUser.logIn(with: .google(token: "google token"),
               server: URL(string: "http://realm.example.com:9080")!)
{ user, error in
  if let user = user {
    // Opening a remote Realm
    let realm = try! Realm(configuration: user.configuration())
    // Any changes made to this Realm will be synced across all devices!
  } else if let error = error {
    // handle error
  }
}
// Authenticating the User
User user = User.login(Credentials.google("google token"),
                       "http://realm.example.com:9080/auth");
// Opening a remote Realm
String realmURL = "realm://realm.example.com:9080/~/userRealm";
Realm realm = Realm.getInstance(user.getDefaultConfiguration());
// Any changes made to this Realm will be synced across all devices!
// Authenticating the User
Realm.Sync.User.registerWithProvider('http://realm.example.co:9080', 'google', googleAccessToken, (error, user) => {
  if (!error) {
    // Opening a remote Realm
    var realm = new Realm({
      sync: {
        user: user,
        url: 'realm://realm.example.co:9080/~/userRealm',
      }
    });
    // Any changes made to this Realm will be synced across all devices!
  }
})
var user = await User.LoginAsync(Credentials.Google("google token"),
                                 new Uri("http://realm.example.com:9080"));

var realmUrl = new Uri("realm://realm.example.com:9080/~/userRealm");
var realm = Realm.GetInstance(user.configuration());
// Any changes made to this Realm will be synced across all devices!

Read a Whitepaper

Learn about Realm's best practices, approach to identity, access control, auditing and logging and encryption. Check out some of our whitepapers below.

Read more

Try a Demo

Learn how to get a synchronized Realm up and running with just 20 lines of code, and discover the power of server-side event handling in a simple demo.

Try a Demo

Watch a Webinar

Get a clear and practical overview of the Realm Platform and its top use cases in these presentations and demos.

Watch now

Get Started with Realm

CUSTOMER HIGHLIGHT

Thread Learningはデジタルネイティブ世代に教育を提供しています

Realm Platformを用いた複数デバイス間のリアルタイムのデータ同期により、特別支援教育のチームはケアプランを綿密に調整できます。詳しくはこちらをご覧ください。

View more customer stories >
 
CUSTOMER HIGHLIGHT

Arccos Golfは試合中に必要な情報を即座に届けます

Realmを用いて世界中のゴルファーに、オンラインでもオフラインでも、高速で反応が良いアプリ体験を提供します。[詳しくはこちらをご覧ください。]((https://realm.io/blog/arccos-realm/)

View more customer stories >
 

リアルタイムの共同編集を
たった10行以下のコードで実現します

Realm Platformのデモアプリケーションとデベロッパーエクスペリエンスをご覧ください

ビデオを再生

Amazon、Google、Hipmunk、StarbucksなどRealmを利用している企業のロゴ

Realmは20億人の人びとに利用されています

フォーチュン500やフォーブス・グローバル2000に掲載されている企業や、AppStore総合1位を獲得したアプリでRealmが利用されています。Realmは毎日、数億の人びとに使用されています。

Read more from our Customers

なぜRealmが10万人以上の開発者に選ばれるのか、
使って確かめてください


使ってみる さらに詳しく