Bear stores its data in a SQLite database, and synchronization is working really well in my tests so far. How is that synchronization implemented? How do edits in my iPhone end up in the database of my laptop? (I am a programmer, but not an Apple developer.)
Yes, not sure what else you might interested in knowing, but sync is custom-made by us and based on CloudKit while the local data is preserved with CoreData.
What is the information that travels? For example, if I write a paragraph in the middle of an existing and shared note in my phone, do you get an “edit” operation with the whole note in desktop which you diff manually? Or just the relevant text snippet? Or is the note structure (paragraph, list item, terminal text in italics, …) abstracted and the app works at that level?