After introducing support for .NET Core last summer to build mobile applications using C#, Realm announced Realm .NET, a set of new components that allow developers a better integration with their .NET stack.
The first such component is the Global Notifier for .NET, which aims to enable efficient distribution of data changes at scale; the second component brings Realm’s real-time synchronization and data encryption to the Universal Windows Platform; and the third is a two-way data connector between Realm and Microsoft SQL Server.
According to Realm, the Global Notifier for .NET is optimized to observe huge amounts of changes and promptly notify interested clients about them. The key to enabling the Global Notifier is implementing the INotificationHandler interface, which defines basically two methods:
ShouldHandle
, which is used to specify which Realm paths a client wants to observe;HandleChangesAsync
, which is invoked to handle an observed change; there are actually two invocations of this method: one before and the other after the change is applied.
Support for syncing and encryption on UWP brings Realm .NET support on a par with iOS’s and Android’s and complements the original introduction of Realm Mobile Database for UWP, which did not include support for real-time synchronization.
Finally, the SQL Server connector aims to make it possible to leverage legacy databases using SQL Server into new apps. Previously, Realm provided a PostgreSQL connector, with support for other databases such as Oracle, MongoDB, etc. already planned.
According to Realm, Realm .NET makes it possible to implement offline-first and real-time sync apps that work across the majority of modern Microsoft devices, with an emphasis on C# integration, as well as Android and iOS devices.