更快地开发更好的应用

Realm 移动端数据库

受亿万开发者所信赖的数据库现已完全开放源代码并且仍然免费。

Realm 移动端平台

基于 Realm 移动端数据库,让开发者轻松构建离线优先、数据同步的交互式用户体验。

Available for Free

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

顶级的应用,炫目的功能

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

了解更多

搞定实时协作只需要不到十行代码

来看看 Realm 移动端平台的演示

播放

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.co:9080/auth");
// Opening a remote Realm
String realmURL = "realm://realm.example.com:9080/~/userRealm";
SyncConfiguration configuration = new SyncConfiguration.Builder(user,
                                                                realmURL).build();
Realm realm = Realm.getInstance(syncConfiguration);
// Any changes made to this Realm will be synced across all devices!
// Coming Soon
// Coming Soon

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 {
  dynamic var name = ""
  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(() => 
{
  var mydog = realm.CreateObject<Dog>();
  mydog.Name = "Rex";
  mydog.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。每天都有亿万人在使用基于 Realm 创建的 app。

为您精选的技术文章

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

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


开始使用