I suppose using Shared template gives more flexibility because the code in the shared project can contain platform-specific parts switched by compile-time directives. But for the same reason (platform-specific #if directives) I find PCL approach cleaner. When it works. I'd like to know from those who tried both, what do you prefer? When do you use each of them?