Does Bucket shadowing is recommended way to sync data between server and mobile?

Are you a new user of Couchbase Server?

If so, use the Sync Gateway REST API to update documents on the server.

If you have a pre-existing server setup that uses ‘smart-client’ APIs to manage buckets, and need to continue using that setup, then you may need to use bucket shadowing. But not otherwise.