Build better mobile apps, faster.
Realm’s developer-friendly platform makes it easy to build reactive apps, realtime collaborative features, and offline-first experiences.
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.
世界中で利用されるアプリを
作ることは簡単ではありません
Realm Mobile Platformを利用すると、双方向のデータ同期やリアルタイムの共同編集といった複雑な機能を持ったアプリを短期間に作れるようになります。浮いた時間はサービスの本質的な機能の開発に使えます。
さらに詳しくRealtime collaboration in as little as 10 lines of code
See the Realm Mobile Platform demo app in action and the developer experience
Realm Mobile Platform モバイルアプリでデータ同期を可能にします。リアクティブなアプリをたった10行以下のコードで実現します。Realm Mobile Platformは、Realm Object ServerとRealm Mobile Databaseを統合した製品です。
さらに詳しく
モバイルアプリでデータ同期を可能にします。リアクティブなアプリをたった10行以下のコードで実現します。Realm Mobile Platformは、Realm Object ServerとRealm Mobile Databaseを統合した製品です。
// 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 configuration = new SyncConfiguration.Builder(user,
realmURL).build();
Realm realm = Realm.getInstance(syncConfiguration);
// 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 Mobile Database 品質の良いアプリには良いデータベースが必要です。Realm Mobile Databaseを使うことで、わずかな時間でアプリを開発できます。RealmオブジェクトデータベースはSQLiteやCore Dataをよりシンプルな形に置き換えます。そしてオープンソースです。
さらに詳しく
品質の良いアプリには良いデータベースが必要です。Realm Mobile Databaseを使うことで、わずかな時間でアプリを開発できます。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(() =>
{
realm.Add(new Dog
{
Name = "Rex",
Age = 1
});
});
var pups = realm.All<Dog>().Where(d => d.Age < 2); Realmは10億人の人びとに利用されています
フォーチュン500やフォーブス・グローバル2000に掲載されている企業や、AppStore総合1位を獲得したアプリでRealmが利用されています。Realmは毎日、数億の人びとに使用されています。
コミュニティ活動
コミュニティのページでは各プログラミング言語やプラットフォームの最新情報を提供しています。世界中のデベロッパーカンファレンスや、Realmが開催するミートアップ、イベントの様子を録画し、公開しています。より良いアプリを作るためにお役立てください。