Indeed, my idea is to setup CI as soon as possible once I finish the initial architecture let say and implement the basics. I’m wondering what approach you are taking for the local storage and working queries offline. I believe this is big pain for the Android SDK and I’m trying to find a good alternative or to address this in the Kotlin SDK.
The short answer from me is I’ve been avoiding local storage. Mainly because (this is my opinion) you have to have a way to sync data that isn’t dependent on a wall clock. Personally, when I need local storage with Parse, I usually add my own local storage (e.g. CoreData) and add a “Clock” Class to Parse that uses vector clocks to keep data in sync. Basically, I rely on 3rd party to sync local data with the Parse Server. We have had a couple of discussions about local storage:
One of the other committers, pranjalsatija, is interested in implementing a protocol based local storage, but I’m not sure of his status on that part. I do believe a protocol can work and allows developers to choose their favorite option to sync data. I’ve focused my energy on other areas as I didn’t feel local storage is as important as the others (plus I personally don’t need the Parse SDK for local storage). When it comes to ParseUser.current and ParseInstallation.current, local storage is very important. So Parse-Swift stores this in the keychain and only persists updates to either if it can save them to the parse-server, otherwise the changes wait in memory (or are discarded). You can see details about this in the first link above (the updates in the PR weren’t merged because it would have broken this).
Can you help me understanding how complex queries are build as a JSON for the request. I’m referring ‘or’, ‘nor’, ‘and’ etc.
Is there somewhere a good explanation how the JSON structure of complex queries are build?
Can we nest them? And all info around building them will help.
I didn’t find a good explanation, I took a lot of time to look through the Obj-c SDK code to figure these out (some were in the SDK before I started working on it and just needed some tweaking). The best way to figure this out (IMO) is to create the test cases and test on a local parse-server (I do this with swift playgrounds). The test cases to look at are:
You should be able to rely on the expected JSON generation in the test file above as I pulled them from reliable SDKs and tested almost all of them on a local parse-server