Considering the fact that all applications will interact with the web project (which will use the cloud or web services)..
Is there any way to share my class models between applications?
If yes, what is the best way to do it?
About sending / receiving data from the Webservice, serialize and deserialize, how can I do this in a simple way without having to manually populate the objects?
Any information about this applications would be really helpful!
In general it is not a good idea to share domain models between applications like this since you are creating hard dependencies between them i.e. any change to the domain model will affect all apps forcing you to synchronize releases of you web- , phone- and desktop apps.
I would recommend creating separate models that are tailored to the specific information need of each application type, this adds complexity of course but in my experience this is manageable compared to the other scenario.
Not sure about your serializing question, if you use WCF for calling the services it is a non issue, it’s handled for you.
For populating your domain classes i’d recommend AutoMapper, which I’ve used successfully in several projects. It can automatically map from one class to another based on names and you only specify the exceptions (i.e. were field names don’t map or you need some type of convert logic) Automapper on github