PCL vs SCL

Recently I've found that the Portable Class Libraries are becoming obsolete and the new "better way" is to use the Standard Class Libs.

https://docs.microsoft.com/en-us/dotnet/standard/net-standard

So the question is: which should I use? Should I care at the moment about those 2 or just stick to the PCL?
Are there any crucial differences when coding the SCL?

Let's discuss :)

Posts

  • kentuckerkentucker USMember ✭✭✭✭

    Standard Libraries are the future. The biggest difference is a standard library says it is going to have a list of functions available while the pcl lets you use the functions that are in all platforms the pcl is supporting. With .net standard 2 which was recently released you are large amount of the .net framework available to you.

  • christopherpolskachristopherpolska PLUniversity ✭✭✭

    Okay, do we know when the PCL are going to be deprecated ? Meaning that they won't be available in Visual Studio or generally when talking about cross-platform we will hear "SCL" and not the "PCL" ?

  • kentuckerkentucker USMember ✭✭✭✭

    As of VS 2017 version 15.3 you can still create the portable class library but if you look at the pcl's properties you can see a message pcl are obsolete. In previous versions of vs 2017 you had a link to convert the pcl to a standard library. This was removed in 15.3. The current pre-released version of xamarin forms supports standard libraries. I would suspect that once this version of xamarin forms is released there will be an update to the templates which allows you to select standard library (instead of pcl) or shared project. I have no idea how long the pcl template will still be there.

  • christopherpolskachristopherpolska PLUniversity ✭✭✭

    I might have an update regarding this topic: the update for Xamarin.Forms should be released end of this quarter - the Xamarin.Forms 2.4 should contain the SCL as default :)

  • HubertGrahamHubertGraham JMUniversity ✭✭
    edited December 2017

    I Get that PCLs are becoming obsolete, however I want to develop a Xamarin Forms App with support for Android Lollipop 5.1 due to large number of users still being on older Android versions.

    Looking at the NETStandard platform Implementation Support Docs, Standard Library project supports a minimum of Android 7 (nougat).

    Link To NETStandard Platform Implementation Support Docs (I can't post links on the forum, newbie alert):
    * docs.microsoft.com/en-us/dotnet/standard/net-standard

    Question 1:
    * Does this mean I should stick to PCL though microsoft is pushing it obsolete in the Visual Studio Starter Templates for Xamarin?

    I mean, I created a test Xamarin Forms project with .NET Standard Libraries and my app ran on the Android API (KitKat) 19 Emulator option in my Visual Studio 2017.

    Question 2:
    * Does this mean my App can target Kitkat using a .NET Standard Library? Or does the the NETStandard Implementation Support Doc from above still apply?

  • HubertGrahamHubertGraham JMUniversity ✭✭

    I Get that PCLs are becoming obsolete, however I want to develop a Xamarin Forms App with support for Android Lollipop 5.1 due to large number of users still being on older Android versions.

    Looking at the NETStandard platform Implementation Support Docs, Standard Library project supports a minimum of Android 7 (nougat).

    Link To NETStandard Platform Implementation Support Docs (I can't post links on the forum, newbie alert):
    * docs.microsoft.com/en-us/dotnet/standard/net-standard

    Question 1:
    * Does this mean I should stick to PCL though microsoft is pushing it obsolete in the Visual Studio Starter Templates for Xamarin?

    I mean, I created a test Xamarin Forms project with .NET Standard Libraries and my app ran on the Android API (KitKat) 19 Emulator option in my Visual Studio 2017.

    Question 2:
    * Does this mean my App can target Kitkat using a .NET Standard Library? Or does the the NETStandard Implementation support doc from above still apply?

  • HubertGrahamHubertGraham JMUniversity ✭✭

    I Get that PCLs are becoming obsolete, however I want to develop a Xamarin Forms App with support for Android Lollipop 5.1 due to large number of users still being on older Android versions.

    Looking at the NETStandard platform Implementation Support Docs, Standard Library project supports a minimum of Android 7 (nougat).

    Link To NETStandard Platform Implementation Support Docs (I can't post links on the forum, newbie alert):
    * docs.microsoft.com/en-us/dotnet/standard/net-standard

    Question 1:
    * Does this mean I should stick to PCL though microsoft is pushing it obsolete in the Visual Studio Starter Templates for Xamarin?

    I mean, I created a test Xamarin Forms project with .NET Standard Libraries and my app ran on the Android API (KitKat) 19 Emulator option in my Visual Studio 2017.

    Question 2:
    * Does this mean my App can target Kitkat using a .NET Standard Library? Or does the the NETStandard Implementation support doc from above still apply?

  • HubertGrahamHubertGraham JMUniversity ✭✭

    I Get that PCLs are becoming obsolete, however I want to develop a Xamarin Forms App with support for Android Lollipop 5.1 due to large number of users still being on older Android versions.

    Looking at the NETStandard platform Implementation Support Docs, Standard Library project supports a minimum of Android 7 (nougat).

    Link To NETStandard Platform Implementation Support Docs (I can't post links on the forum, newbie alert):
    * docs.microsoft.com/en-us/dotnet/standard/net-standard

    Question 1:
    * Does this mean I should stick to PCL though microsoft is pushing it obsolete in the Visual Studio Starter Templates for Xamarin?

    I mean, I created a test Xamarin Forms project with .NET Standard Libraries and my app ran on the Android API (KitKat) 19 Emulator option in my Visual Studio 2017.

    Question 2:
    * Does this mean my App can target Kitkat using a .NET Standard Library? Or does the the NETStandard Implementation support doc from above still apply?

  • HubertGrahamHubertGraham JMUniversity ✭✭

    I Get that PCLs are becoming obsolete, however I want to develop a Xamarin Forms App with support for Android Lollipop 5.1 due to large number of users still being on older Android versions.

    Looking at the NETStandard platform Implementation Support Docs, Standard Library project supports a minimum of Android 7 (nougat).

    Link To NETStandard Platform Implementation Support Docs (I can't post links on the forum, newbie alert):
    * docs.microsoft.com/en-us/dotnet/standard/net-standard

    Question 1:
    * Does this mean I should stick to PCL though microsoft is pushing it obsolete in the Visual Studio Starter Templates for Xamarin?

    I mean, I created a test Xamarin Forms project with .NET Standard Libraries and my app ran on the Android API (KitKat) 19 Emulator option in my Visual Studio 2017.

    Question 2:
    * Does this mean my App can target Kitkat using a .NET Standard Library? Or does the the NETStandard Implementation support doc from above still apply?

  • HubertGrahamHubertGraham JMUniversity ✭✭

    I Get that PCLs are becoming obsolete, however I want to develop a Xamarin Forms App with support for Android Lollipop 5.1 due to large number of users still being on older Android versions.

    Looking at the NETStandard platform Implementation Support Docs, Standard Library project supports a minimum of Android 7 (nougat).

    Link To NETStandard Platform Implementation Support Docs (I can't post links on the forum, newbie alert):
    * docs.microsoft.com/en-us/dotnet/standard/net-standard

    Question 1:
    * Does this mean I should stick to PCL though microsoft is pushing it obsolete in the Visual Studio Starter Templates for Xamarin?

    I mean, I created a test Xamarin Forms project with .NET Standard Libraries and my app ran on the Android API (KitKat) 19 Emulator option in my Visual Studio 2017.

    Question 2:
    * Does this mean my App can target Kitkat using a .NET Standard Library? Or does the the NETStandard Implementation support doc from above still apply?

  • kenneth.leekenneth.lee USMember ✭✭✭

    @HubertusGrabner I believe you just need to have minimum of Xamarin.Android 7 but you are still allowed to target lower android versions.

    Also you somehow managed to post x6...

    https://developer.xamarin.com/releases/android/xamarin.android_7/xamarin.android_7.0/

Sign In or Register to comment.