Realmius — бесплатная синхронизация данных между Realm и SQL Server

На ДевПро-2017 я рассказывал про мобильную базу данных Realm и преимуществах её использования в мобильных приложениях.

В докладе мы также говорили о синхронизации данных — это механизм, который пересылает добавленные/измененные объекты между клиентом и сервером, чтобы данные в клиентской и серверной базах совпадали.
Автоматическая синхронизация данных в мобильных приложениях очень удобна — она позволяет абстрагироваться от наличия/отсутствия интернета на устройстве и просто работать с локальной БД, читать и писать напрямую в неё. При этом получение новых данных или отправка данных на сервер отдается на откуп механизму синхронизации.

Realm имеет встроенный механизм синхронизации, однако он недостаточно удобен, в докладе на ДевПро я подробно останавливался на его минусах.

В Рубиусе мы начали активно использовать Realm в начале 2017-го, и, столкнувшись с недостатками встроенной синхронизации, решили этот момент улучшить.

Так появился Realmius — механизм синхронизации между Realm и SQL Server. В своих проектах мы его используем с марта (в том числе и в приложении DevPro), выложили на гитхаб в мае (как раз в преддверии ДевПро), и последние несколько месяцев активно улучшали документацию, чтобы сделать порог вхождения как можно ниже.

Почему стоит использовать Realmius? Всё просто:

  • Данные хранятся в SQL Server. Это значит, что на сервере можно выполнить любой SQL-запрос и получить произвольную аналитику по данным, использовать привычные инструменты для написания бэкэнда, бэкапы и все прочие плюшки проверенной и мощной серверной СУБД.
  • Возможность гибкой настройки прав доступа к данным
  • Автоматическая синхронизация: работайте с Realm на клиенте и EntityFramework на сервере привычным образом, синхронизация не накладывает никаких ограничений. Настройка синхронизации буквально в несколько строк
  • Бесплатность :)

Заинтересовало? Просто скачайте репозиторий и запустите наш простой пример! Когда захочется копнуть глубже в авторизацию и ограничения прав доступа — тут уже пригодится более продвинутый пример.

Realmius доступен через nuget, пара минут — и синхронизация уже интегрирована в ваше приложение! :) Подумайте, какие богатые возможности может добавить синхронизация данных в ваше новое мобильное приложение на Xamarin!
Кстати, Realmius можно использовать и в приложениях для Windows!

P.S. На днях пришло письмо из дружественной Индии — совершенно незнакомая нам компания нашла Realmius и начала его использовать. У них появились некоторые проблемы, которые в переписке мы успешно разрешили. Был очень удивлён, что без какого-либо пиара библиотека уже начинает набирать пользователей :)