A Shared Project is a project that contains common code that can be linked to each platform specific library or app. It is compiled as part of the platform specific code.
To develop a nice solution based on a shared project, we need to architect it in order to have the core features in the shared project. We may possibly be using partial classes, abstract classes and interfaces in order to manage the objects that are specific for each platform in the platform specific project.
These kinds of projects are good when we are in a prototype phase, because it is relatively fast to implement a shareable project for the common code and use all the advantages given by the platform specific frameworks.
It's easy to choose a Shared Project approach over PCL when we just develop platform specific applications. A Shared Project allow us to write code to be copied to each project in the solution during compilation. In that way, we can store codes outside the platform specific project and easily...