iOSSQL, desktop SQL and iCloud.

I’m designing our first mobile application and for it, I’d like to use the iOSSQLDatabase for the mobile app and on the desktop the normal SQLDatabase. I also want the data to synchronize seamlessly.

To start with I’m thinking of using iCloud, has anyone tackled this yet? My main concern is building it in such a way that it becomes appleOS only, which I don’t want. For this project I want to use Xojo to it’s strength and provide a version of this application on iOS, macOS, Windows and then Android. Then sometime in the future a web interface as well (but that would require we have our own web backend for managing the data first and I don’t want to get into that just yet).

So any ideas on how we can piggy back off iCloud for the moment, without being locked in it?

Since you already have your own web site, you could very well provide your own cloud service.

Another consideration, and I might be wrong here… but it seems I recall there was a difference in encryption between iOS and Desktop versions of an SQLite database with Xojo

I am working on CloudKit for Mac via plugin.

That is indeed the end goal. First I want to get the product out there with a sync service for appleOS users (as appleOS is our immediate goal), then as we add more platforms also implement a universal sync solution.

Pah! that could pose a problem. Mind you, I probably wouldn’t store a single file database on iCloud. Maybe brake out the transactions to individual files, and update them only. It’s duplication of data, but it means that iCloud wouldn’t uploading/downloading the entire database everytime a record is changed.

The duplication bothers me, as it means that there’s two copies of the data on each machine, I did consider going the separate file route, but I want the search ability and speed of a SQLDatabase.

Good to know, it’s halfway there as I’d need it for iOS also.

I forgot to mention, the reason I’m not already designing my own server and sync system is that, I’m trying to shift how we build apps. I want to bring the idea to the market as quickly as possible, yet in a way so that when it takes off, the product is well designed enough to grow quickly too.

I used to make sure that 1.0 was the version to have, but with 18 month turn around times for me, and some awesome but terrible selling products, I have to change how I work.

So now my focus is 1.0 is (as) stable as can be and introduces the product with enough features, then it expands. At this rate, I expect version 3.0 to be what’s written all over the house at the moment.

@jean-paul devulder when using CloudKit db is the local db available when no internet connectivity is detected?
This would manage a big concern I have with my current app.

[quote=291099:@JrmieLeroy]@jean-pauldevulder when using CloudKit db is the local db available when no internet connectivity is detected?
This would manage a big concern I have with my current app.[/quote]
Without proper testing, I would say that it is. After looking into how iCloud Drive works, it appears to be just a folder in the users library.