Related: I binned off Core Data for Big Mail 2, and instead have been using the phenomenal GRDB by @groue

Not only is my app now faster and less buggy, but it’s so much easier to reason with. No weird managed contexts and elaborate dances to pass stuff between threads. Just simple, safe, Swift structs.

(Also, the documentation is INSANE) github.com/groue/GRDB.swift

There's also a sister package, GRDBQuery, which gives you a @Query property wrapper for SwiftUI (similar to @FetchRequest in Core Data)

You're then able to write views that automatically update when anything in the database changes.

Here's all the code needed for the account picker in Big Mail. So clean.

github.com/groue/GRDBQuery

Big Mail 2, nay, ALL my apps, wouldn't be possible if it weren't for the generous contributions of others in the OS community.

I can't wait to give back, so that's why I plan to open source all of Big Mail's core packages: SwiftIMAP, SwiftSMTP, and SwiftEmail.

They're all super Swifty, modern, and hopefully instantly familiar to anyone who's used Foundation.

@phill @mattiem This sounds great. I made my own Swift IMAP client but may switch to this as have not maintained it.

Sign in to participate in the conversation
The Not So Big Company

The home of The Not So Big Company on Mastodon.