Can this be used to sync the data of an app from mobile to desktop without a server ? And vice-versa.

In principle but we don't yet support mobile except experimentally, in part due to mobile OS restrictions (eg. iOS apps can't embed webassembly).

Any reason this can't be compiled to wasm and run in browsers that way? Networking (protocol) issues?

Ed: I guess you'd need a way to run wasm in wasm, and a way to author wasm contracts - and there's not yet a wasm-hosted rust compiler?

Ed2: I'm not up to date on the state of self-hosted wasm compiler/languages... But I did come across:

https://github.com/remko/waforth

I guess it's time to dig out the thesis[t] again and look at movable code and p2p classifications again ...

[t] https://ics.uci.edu/~fielding/pubs/dissertation/net_arch_sty...

But not a problem in theory for Android and Ubuntu Touch systems?

Yes, iOS is the main headache. The other issue is that people probably won't want it using their mobile network bandwidth in the background, but that's solvable.