A few weeks ago I published a blog post that shared some recent updates to the SharePoint Framework (SPFx) Yeoman generator: SharePoint Framework Generator Recent Updates (v1.1.1) and Sign of On-Prem SPFx to Come?.
In that post I shared some things I found when picking at the generator's source code. Specifically, I found some references to "onprem" and "spo".
This led me to ask the question "will we have two different types of projects for SharePoint Online & SharePoint On-Premises deployments when the SharePoint Framework ships to the SharePoint Server 2016 in Feature Pack 2 later this year?
I reached out to Microsoft and got some additional information to share on this.
First, keep in mind that the version of the SPFx that will be included in SharePoint Server 2016 Feature Pack 2 (FP2) will be a snapshot of what the SPFx is at a given time. The version of SPFx in SharePoint Online will likely be ahead of the on-premises version & include additional features. For instance, the new SPFx Extensions are currently in preview & planned to go GA later this year, but they won't be in FP2.
With this in mind, the generator will provide developers some guidance on what is supported in each environment. That's what these switches are for. For instance, if you are on-prem, you will not see extensions as an option in the generator because they are only available in SharePoint Online. However, client-side web parts will work in both on-premises and SharePoint Online environments.
What we see in the generator is the beginnings of this prompt we're likely to see down the road in a future update of the generator. It won't create two different types of projects based on the target environment, it will simply be used to help guide the available options when creating new SPFx components in your projects.