
Introducing Realm Xamarin: A Reactive Database for .NET - astigsen
https://realm.io/news/introducing-realm-xamarin/
======
jchrisa
Couchbase Mobile is also available for .Net here:
[http://developer.couchbase.com/documentation/mobile/1.1.0/ge...](http://developer.couchbase.com/documentation/mobile/1.1.0/get-
started/get-started-mobile/net-mobile/index.html)

In addition to the reactive features that Realm offers, it also supports
offline synchronization and works with a server component that offers fine
grained acces control.

------
joe1804
I played a bit, but there are 2 things that annoys me: the footprint is really
huge, for iOS, Realm.dll has 103 MB, so it means my app will instantly have
100MB more!!!. The second thing(even more important for me) is about the fact
that all my storable objects have to be derived from RealmObject, so no POCO
support. This is pretty important because I will need to carry Realm
dependency everywhere I pass my objects.

~~~
brmunk
Realm itself only adds less than 1 MB extra in your final app :-)

On Xamarin.iOS the Realm static libraries for all the iOS platforms and
architectures we support are embedded inside the Realm.dll assembly. During
build, Xamarin extracts the static libraries and links the app against them.

We should be more explicit about the size implications to avoid that chocking
misunderstanding! We will update our FAQ.

Re. POCO support: We expect to support that going forward - you can follow the
issue here: [https://github.com/realm/realm-
dotnet/issues/529](https://github.com/realm/realm-dotnet/issues/529).

Let us know if you have other questions or concerns! Github issues is a good
place to suggest features or ask questions.

Thanks!

------
ckurose
What's meant by a reactive database vs a non-reactive one?

~~~
fealebenpae
Hey, Yavor on the Realm team here. A reactive database allows you to structure
your code so that you "react" to changes in your data layer - you don't have
to re-run queries to get updates, because Realm updates all your data objects
to point to the newest version of your data. Check out the sample code in your
blog post: [https://realm.io/news/introducing-realm-
xamarin](https://realm.io/news/introducing-realm-xamarin)

~~~
nbevans
I don't get it. The sample is re-running the Count() call. A reactive design
would post an event.

~~~
fealebenpae
The core of Realm tracks writes across different threads and processes and
that's how we know to update the result objects without rebuilding the query
or rebinding the model objects. There is a PR to actually expose this as a
high-level notifications API and we'll roll it out in our next Realm Xamarin
release: [https://github.com/realm/realm-
dotnet/pull/502/commits/f4169...](https://github.com/realm/realm-
dotnet/pull/502/commits/f4169276e3c197a875f2aca259c24e80700344ab). Using that
it will be possible to implement INotifyCollectionChanged and IObservable
directly on top of Realm.

------
quotewall
When will UWP be supported? Kind of important for me.

~~~
kristiandupont
Kristian from Realm here. We don't have a specific timeline for it, but it's
being planned. See [https://github.com/realm/realm-
dotnet/issues/509](https://github.com/realm/realm-dotnet/issues/509)

------
hitgeek
in case anyone else didn't notice this at the top of the page "Realm is a
mobile database: a replacement for SQLite & Core Data"

------
doublerebel
Hadn't seen Realm before, looks pretty sweet. Do you know of anybody using it
with Appcelerator Titanium?

~~~
SandyAndyPerth
I have added an issue to request this support. Please comment and vote there
[https://github.com/realm/realm-js/issues/429](https://github.com/realm/realm-
js/issues/429)

------
chrisamanse
I wish they would focus more on getting Realm to version 1.0.

~~~
SandyAndyPerth
None of the effort in adding C# and Xamarin support distracted anyone from
getting the core product to 1.0. We are an entirely separate team hired
specifically for this project. If you follow the Java, Swift or Objective-C
products you will have seen a steady set of releases in the last year. I can't
comment on our closeness to 1.0 shipping.

I'd like to think that the C# team has also contributed by setting a high
standard for API usability and ease of use but we're standing on the shoulders
of the giants who wrote LINQ and Fody (thanks Simon Cropp).

Realm also keeps growing all its other teams and people are welcome to apply
[https://jobs.lever.co/realm](https://jobs.lever.co/realm)

------
tranmanyo
This is super cool.

