Benefits of using Realm Sync

There are many reasons why using Realm sync is useful for connecting clients and using it as a client/server communication methodology:

Native sync

E.g. with Realm the sync protocol capability is baked into the database itself. This ensures high performance, makes clients more light-weight and most of all removes the overhead of object mapping, integration layers and handling disparate implementations across client and server platforms.

Shared Objects

The power of the Realm Database is that objects are typed language-specific, native to each programming language. With Realm sync, the shared/synced objects are the same across each client and the server. Thus there is no mapping between different databases, tables, types etc. A object in Java behaves the same in Swift, .NET, Javascript. For cross-platform projects this is a boon, speeding development and reducing room for errors.

Live Objects

Objects in Realm Database have an auto-updating property, which is appreciated by many client developers. With Realm sync this automatically extends across devices. An update on one device gets synced to the native object in another - automatically. With a notification being available to the event change - or if a view is attached to the object the view will update automatically. Who needs push?

Integrated Merge and Conflict resolution

Having multiple clients work with the same data is always a challenge. Realm integrates sophisticated merge and conflict resolution that satisfies even complex use cases.

Putting REST to rest

Why offline thinking matters: REST is in many cases the default mechanism to communicate between client and servers. REST is often used with the assumption that the network is reliable. This is not the case for mobile apps where either the wireless network drops or the app is unexpectedly shut down by the OS. Thus most of the REST development work is based on handling the exception cases where client/server communication fails. This leads to stuck apps, strange states and causing grief for users and lots of grey hair for engineers. Realm sync is based on the assumption that communication will be interrupted at any time and that it will resume automatically and gracefully.