ParseSwift or Objective-C SDK?

I have an app written in mainly Obj-C using the Parse Objective-C SDK. Now I’m rewriting the app from scratch in SwiftUI for iOS, iPadOS, tvOS and possibly macOS. Having just discovered ParseSwift, I wonder what would be the wisest choice for my app - ParseSwift or the Objective-C SDK?

My app uses CoreData and syncs to my Parse Server running @Sashido.

Any ideas or feedback would be much appreciated :slight_smile:

If you 1) weren’t depending on the iOS Objective-C SDK to handle local storage for you and not using saveEventually or anything that ends in ...Eventualy or 2) Plan on handling local storage yourself (CoreData or something else) I strongly recommend using Parse-Swift as excluding what I mentioned above, it does everything the iOS SDK does and more. More query abilities, more features (i.e. support for certificate pinning), and is ~ parity with the JS SDK. In addition, Parse-Swift is designed for SwiftUI. Any method ending in Publisher uses Combine. In addition, LiveQuery subscriptions in Parse-Swift can be used as SwiftUI ViewModels out-of-the-box.

If you depend on Parse to handle local storage for you or want something that’s been battle tested, you should use the iOS SDK.

Edit: If you need to support older devices (which it doesn’t sound like you do because you mentioned SwiftUI), you should use the iOS SDK. Parse Swift is for .iOS(.v12), .macOS(.v10_13), .tvOS(.v12), .watchOS(.v5), Linux and there’s a current open PR to run on Android.

Edit: Parse-Swift should essentially be able run on Windows and CentOS as well.

There’s a decent differential in the amount of features Parse-Swift has over iOS SDK and my guess is that differential will continue growing over time.

2 Likes

Thanks for your reply!

Do you know if there is a minimum Parse Server version to use with ParseSwift?

Claes

The majority of Parse-Swift should work with most of the older versions of server though there’s been many bug fixes overtime, 4.0.0+ should be fine. This is because Parse-Swift uses the REST API, so anything that worked in REST on older server versions technically should work with Parse-Swift, assuming that version the server encodes JSON correctly. If you do run into issues, then they are server issues that are probably fixed in newer versions (This will also be the case if you use the latest JS SDK client with an older version of Parse Server).

There’s one exception with query select and exclude that won’t work on <= 4.5.0 because of a JSON encoding issue:

Those don’t work due to a server-side design issue that was discovered recently. Hopefully, the fix will be merged on the server soon, but even after, you will need to run the latest from the main branch or wait for > 4.5.0 to be released`

Very useful answer! Thanks a lot :slight_smile: