Today I read an article about the two PnP libraries "PnP Core SDK" and "PnP Framework".
PnP Core SDK seems to be a framework that is totally abstracting CSOM, Graph or REST Apis of SharePoint/Teams.
So I can just use the Pnp-Context and dont have to care anymore if Graph or CSOM is actually used in the background.
This makes sense to me.
But PnP Framework is also a new library and it provides still access to the actual CSOM context.
This confuses me, because I dont know how to behave now as a developer.
Should I use only the PnP Core SDK? And the PnP Framework only if I need the site provisioning engine?
Or can I use PnP Framework also for typical operations like "Creating sites", "Updating list items" etc.?
The article states the following differences between both libraries:
You might be wondering what the difference is between PnP Framework and PnP Core SDK. The PnP Core SDK is used by the PnP Framework and it’s been implemented with a mindset that is independent of CSOM of SharePoint. More and more new functionalities introduced in SPO are not necessarily available through CSOM; this was the impetus for Microsoft 365 PnP introducing a new SDK, which is under the cover of both PnP Framework and PnP PowerShell for some functionalities.
Yeah - but why do I still need Pnp Framework? This only explains what PnP SDK is...
Later he goes on:
After reading this content, you might ask yourself: “What should I use and when?”
If you are a SharePoint developer, used to working with CSOM, or if you have an already existing project built on top of PnP Sites Core and CSOM, you should rely on PnP Framework and start building modern solutions leveraging the rich set of extensions and utilities provided by the new PnP Framework library.
If you are a .NET developer, willing to create a new modern solution for SPO, start working with PnP Core SDK and enjoy consuming the Microsoft Graph and the SPO REST APIs with a high-level abstraction layer.
I am a SharePoint developer and also a .NET 5 developer. But this still does not answer my question.
When should I use PnP Framework? When the SDK?
For normal site, team, list, item operations etc. I could use the SDK and for the provisioning engine the Framework?
But is this correct?