解决移动应用开发中最棘手的问题

  • 强大的线下先行特性
  • 将 REST API 整合为专门适用于移动端
  • 遗留数据的无缝调用
  • 实时执行与同步协作
  • 高级缓存与边缘计算

了解更多

Realm 平台 2.0

Realm 平台上所有您喜爱的功能,现在都已得到改进:

  • 新的 Realm Studio:让您更轻松地管理 Realm 数据库、用户和配置文件
  • 简单、轻便的 NPM 安装方式
  • 认证系统更加完善,并且实现了完全插件化
  • 进行了一系列优化,现在稳定性、性能和易用程度都得到了改善

注册在线研讨会或者立即尝试 2.0 版本

推出 Realm Studio

使用 Realm 时所梦寐以求的工具。

它拥有一个精美的界面,用以管理 Realm 数据库、数据、用户以及配置文件,并且可以运行在 Mac、Windows 以及 Linux 之中。

下载 Realm Studio

您的应用需要更优秀的移动开发栈

不用再去写那些复杂的网络访问代码,也不用再去使用 Web 时代的旧技术。Realm 专门为实时移动应用和实时移动端团队所设计。构建现代化的响应式应用、实现实时协作功能和线下先行体验从未如此简单!

开始免费试用

加入我们的 Realm 世界之旅

我们正在巡城讲演,致力于将使用 Realm 平台的经验带到全球的移动开发者社区。

加入我们

CUSTOMER HIGHLIGHT

Cartasite delivers industrial IoT

Using Realm Platform, Cartasite built an offline-first app for heavy industries that seamlessly syncs field data with backend systems. Read more

View more customer stories >
 
CUSTOMER HIGHLIGHT

Integral Studio brings creative ideas to life

Digital management company uses Realm Platform to build innovative, reactive apps that bring musicians and their fans closer together. Read more

View more customer stories >
 
CUSTOMER HIGHLIGHT

Thread Learning brings education into the digital age

Realm Platform helps special education teams coordinate care by syncing data in real-time across multiple devices. Read more

View more customer stories >
 
CUSTOMER HIGHLIGHT

Arccos Golf ups its game with Realm

Arccos delivers a fast, responsive app experience with both online and offline availability for golfers around the world. Read more

View more customer stories >
 
双向数据同步、实时协作、离线有限、API 桥接以及数据推送

顶级的应用,炫目的功能

团队无论大小,都能从 Realm 移动端平台获益。它为您解决了复杂的问题例如双向同步和实时协作,使您能够拥有更多的时间让应用变得独一无二。

了解更多

Realtime collaboration in as little as 10 lines of code

See the Realm Platform demo app in action and the developer experience

Play Video

Realm 移动端平台

只需要不到十行代码,就能为你的应用部署数据同步服务及创建响应式的体验。Realm 对象服务和 Realm 移动端数据库 组成了 Realm 移动端平台

了解更多
// 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 = [[RLMSyncConfiguration alloc] initWithUser:user realmURL: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 realmURL = URL(string: "realm://realm.example.com:9080/~/userRealm")!
    let config = Realm.Configuration(syncConfiguration: SyncConfiguration(user: user, realmURL: realmURL))
    let realm = try! Realm(configuration: config)
    // 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";
SyncConfiguration config = new SyncConfiguration.Builder(user, realmURL).build();
Realm realm = Realm.getInstance(config);
// 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 config = new SyncConfiguration(user, realmUrl);

var realm = Realm.GetInstance(config);
// Any changes made to this Realm will be synced across all devices!

Realm 移动端数据库

更好的移动端数据库意味着更好的移动端应用。Realm 数据库让移动应用中的数据存储变得轻而易举。我们的数据库产品是 SQLite 和 Core Data 的更易用的替代方案。

了解更多
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);
Logos of companies using Realm, including Amazon, Google, Hipmunk, Starbucks, and more

二十亿在使用 Realm

为世界 500 强企业、创新创业公司以及 App 商店榜首的应用所信赖。每天都有亿万人在使用基于 Realm 创建的 app。

为您精选的技术文章

来我们的社区页面看看,这里有我们与您分享的最新的独家技术文章。我们一直在通过视频记录各种开发者聚会来传播有关应用开发的信息。

了解为什么 Realm 成为众多开发者的选择


开始使用