Portable Class Library (PCL) in .NET

I was creating a Visual Studio project when I saw the template Portable Class Library. Sometime a while back I read about it but I was not able to recognize it. So, I searched online for more information on this and then got the concept clarified. Whatever I read and understood, I'll share with you.
 
Generally, a class library is a collection of classes. The common functions are written in classes and grouped together that make a single component. This component can be used in any number of applications. Earlier we had web applications and standalone applications that support the same kind of components. But in today's world, we have various kinds of applications, like web applications, Windows Phone, Silverlight, and a variety of applications that are totally different from each other so the traditional class library component can't support the entire range. Therefore Microsoft developed a new project type that resolved this problem. A Portable Class Library is supported by many types of applications. We need to select the application type during the creation of the project.
 
There are many .Net components that were changed to implement this concept. A few of the components are:
  • MSCORLIB.DLL
  • System.Object
  • System.XML
  • System.ServiceModel
 
After selecting the template we need to select the application types.
 
 
Features of PCL:
  • Supports the Model View View Model (MVVM) Pattern
  • Cross-Device Support
References: