На ДевПро-2017 я рассказывал про мобильную базу данных Realm и преимуществах её использования в мобильных приложениях.
В докладе мы также говорили о синхронизации данных — это механизм, который пересылает добавленные/измененные объекты между клиентом и сервером, чтобы данные в клиентской и серверной базах совпадали.
Автоматическая синхронизация данных в мобильных приложениях очень удобна — она позволяет абстрагироваться от наличия/отсутствия интернета на устройстве и просто работать с локальной БД, читать и писать напрямую в неё. При этом получение новых данных или отправка данных на сервер отдается на откуп механизму синхронизации.
Realm имеет встроенный механизм синхронизации, однако он недостаточно удобен, в докладе на ДевПро я подробно останавливался на его минусах.
В Рубиусе мы начали активно использовать Realm в начале 2017-го, и, столкнувшись с недостатками встроенной синхронизации, решили этот момент улучшить.
Так появился Realmius — механизм синхронизации между Realm и SQL Server. В своих проектах мы его используем с марта (в том числе и в приложении DevPro), выложили на гитхаб в мае (как раз в преддверии ДевПро), и последние несколько месяцев активно улучшали документацию, чтобы сделать порог вхождения как можно ниже.
Почему стоит использовать Realmius? Всё просто:
- Данные хранятся в SQL Server. Это значит, что на сервере можно выполнить любой SQL-запрос и получить произвольную аналитику по данным, использовать привычные инструменты для написания бэкэнда, бэкапы и все прочие плюшки проверенной и мощной серверной СУБД.
- Возможность гибкой настройки прав доступа к данным
- Автоматическая синхронизация: работайте с Realm на клиенте и EntityFramework на сервере привычным образом, синхронизация не накладывает никаких ограничений. Настройка синхронизации буквально в несколько строк
- Бесплатность :)
Заинтересовало? Просто скачайте репозиторий и запустите наш простой пример! Когда захочется копнуть глубже в авторизацию и ограничения прав доступа — тут уже пригодится более продвинутый пример.
Realmius доступен через nuget, пара минут — и синхронизация уже интегрирована в ваше приложение! :) Подумайте, какие богатые возможности может добавить синхронизация данных в ваше новое мобильное приложение на Xamarin!
Кстати, Realmius можно использовать и в приложениях для Windows!
P.S. На днях пришло письмо из дружественной Индии — совершенно незнакомая нам компания нашла Realmius и начала его использовать. У них появились некоторые проблемы, которые в переписке мы успешно разрешили. Был очень удивлён, что без какого-либо пиара библиотека уже начинает набирать пользователей :)