Yes, server synchronization is the right solution. For such a simple task (displaying common simple information from the server from clients), you can even take a ready-made solution like Firebase. Here even some kind of Xamarin is:
Firebase.Xamarin
The general idea is:
- The client subscribes to receive all items from the sample in the database.
- When changing the database, the client will be called the method in which the modified info will come
- When a client adds information to a remote database, it will appear for all other subscribed clients.
In fact, you just need to create a data model, send it and receive it. All methods for this are in lib and code is needed minimum. And the server code is not needed at all.
It is worth noting that in the Russian Federation at the moment it is not very clear how FireBase will work, because Google did a non-mass mailing to users about stopping work with individuals because of their unwillingness to mess with VAT. But for me personally, so far everything works and there were no such letters. In any case, there are similar services, incl. domestic
It seems that today Realm has written down an analogue of FireBase, which can be raised on its server. The result is the same thing as with Firebase, only on your server and through the usual Realm.
https://realm.io/docs/get-started/installation/linux/