Realm Launches Xamarin Mobile App Database
Realm, which develops open source mobile app databases to improve upon and compete with SQLite and Core Data, is out with a new offering targeting Xamarin, the cross-platform mobile development technology recently acquired by Microsoft.
"It offers easy object persistence and full query capabilities, with a performance profile that’s faster than existing options," the company said in a post today. "Like the other editions of Realm, it is designed from the ground up to enable reactive app development, with live objects, change events and support for unidirectional data flows."
Those other editions of Realm include Java, Objective-C, Swift, and, just introduced in February, React Native. "We launched for Java, Objective-C, and Swift in 2014, and for React Native earlier in 2016," the company said in today's post. "We are already used on hundreds of millions of devices today by appmakers including Twitter, Starbucks, Cisco, Walmart, Google, Amazon and eBay, plus many many others."
Realm, which bills itself as "a replacement for SQLite and Core Data," takes a new approach to mobile databases engines.
"Realm is a database built from the ground up for the unique challenges of mobile app development, that runs directly inside phones, tablets or wearables," the company said in today's post.
One thing that makes it unique is its reactive design, similar to React.js and React Native. A Realm developer explained more about that in a comment in a Hacker News post. "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," said a commenter with the handle "fealebenpae" who identified himself as "Yavor on the Realm team."
Its Web site explains more. "Realm is not an ORM on top of SQLite," it states. "Instead it uses its own persistence engine, built for simplicity (and speed). Users tell us they get started with Realm in minutes, port their apps in hours, and save weeks on each app. Thanks to its zero-copy design, Realm is much faster than an ORM, and is often faster than raw SQLite as well."
With Realm Xamarin, the database uses native C# objects, dynamically mapped to its full database engine, as Xamarin's cross-platform tooling enables the development of iOS, Android and Windows apps with one C# codebase.
The project's GitHub repository houses the source code under an Apache 2.0 license for the .NET/C# Realm versions. "Currently, we only support Xamarin, specifically Xamarin.iOS, and Xamarin.Android," the site says. "We do plan to support Xamarin.Mac, UWP and Unity in the future."
Realm Xamarin also supports: Visual Studio 2015 or higher on Windows, or Xamarin Studio version 5.00.0 or higher on OS X; Xamarin iOS version 220.127.116.11 for iOS 7 or higher, using native UI or Xamarin Forms; and Xamarin Android version 18.104.22.168 for API level 10 or later, using native UI or Xamarin Forms, the company said.
On the Mac side, Realm is also providing a standalone Mac app called Realm Browser, which lets developers read and edit .realm files.
"We’d love your feedback on what we can improve, and we’re particularly interested in bug reports or feature requests on our GitHub repository," Realm said. "Expect the API to improve significantly over the next few weeks, especially as we polish advanced features like migrations and queries.
"If you are a fan of .NET and want UWP support or Unity support, please speak up -- we’d love to add that in the future."
David Ramel is the editor of Visual Studio Magazine.