Here are some of the cool open-source projects built with Realm that appeared recently on GitHub!
Defining everything in code isn’t for everyone. Realm requires your model definitions to be implemented as a subclass of
RLMObject, so naturally you define your model’s attribute by declaring
@property. This can get tedious, however, and sometimes a visual approach is just easier. Enter Realm Object Editor, a Mac app by Ahmed Ali that allows you to define your Realm models using a familiar UI (reminiscent of Xcode’s Core Data entity editor). Pick property types from a dropdown menu, select primary keys with a checkbox, and export class definitions with one click.
Did we mention that it has support for Objective-C, Java, and Swift? That means you can create your model definitions once, and export them for use on both iOS and Android. Pretty cool.
NSFetchedResultsController might be one of our favorite classes in UIKit — it makes handling a table view’s data declaratively a piece of cake. Unfortunately, NSFRC only works with Core Data, and so us Realm users have been forced to manually track what table view updates we need to make. No more!
RBQFetchedResultsController, by Roobiq, brings all of the goodness of NSFRC to Realm. All you have to do is notify a
RBQRealmChangeLogger of the changes you’ve made, and when you commit your transaction, you get a delegate callback so you can update your
UICollectionView. Now, one of the most useful paradigms in Core Data is available almost seamlessly in Realm.
There’s a Realm Browser Mac app, and it’s pretty great. But what if you want to inspect and edit your Realm file directly on an iOS device? You’ve been out of luck — until now. Take a look at
NBNRealmBrowser, an iOS framework from Piet Brauer that mimics the Realm Browser, and more. Taking advantage of the
RLMSchema property on
RLMRealm, this browser introspects the model objects in your Realm and dynamically creates a UI for searching, filtering (via
NSPredicate), and editing the objects in your Realm. With a browser on the Mac and a browser in your iOS app, manually editing raw data in Realm has never been easier.
Contentful is a CMS-as-a-service that has a native Cocoa SDK. The SDK is a great example of flexible API design, but it only offered PONSO and Core Data support. Boris Büglinghas fixed this! By adding in a few new wrapper classes, he added transparent support for persistence via Realm. This update to Contentful shows the power of operating based off of protocols rather than concrete classes — adding in a new persistence framework only required additions to the API, without any changes to the existing interface.
Finally, let’s end this blog post on a funny note. Weiran Zhang has built a Dilbert menu bar app for OS X. Have you ever needed a quick laugh while dealing with a Swift bug? This app should help in that department, providing you today’s comic straight from Scott Adams.
The app, built using PromiseKit, stores each comic using Realm, and caches images on the file system for offline access.
That’s it for this month — please keep the projects coming!
We always love to hear what you’ve been up to, so please let us know by tweeting @realm.