Realm Blog

GitHub grep

Here are some of the cool open-source projects built with Realm that appeared recently on GitHub!

Realm Object Editor

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.

RBQFetchedResultsController

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 UITableView or UICollectionView. Now, one of the most useful paradigms in Core Data is available almost seamlessly in Realm.

NBNRealmBrowser

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.objc

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.

Dilbert Me

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.

Dilbert Comic

The app, built using PromiseKit, stores each comic using Realm, and caches images on the file system for offline access.

Wrap Up

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.


Realm Team

At Realm, our mission is to help developers build better apps faster. We provide a unique set of tools and platform technologies designed to make it easy for developers to build apps with sophisticated, powerful features — things like realtime collaboration, augmented reality, live data synchronization, offline experiences, messaging, and more.

Everything we build is developed with an eye toward enabling developers for what we believe the mobile internet evolves into — an open network of billions of users and trillions of devices, and realtime interactivity across them all.

Get more development news like this