Now that you can build SharePoint Framework solutions for both SharePoint online and on-premises, you need to decide which one you want to target.
SharePoint Framework for on-premises
Yesterday, Microsoft announced the long-awaited support for SharePoint Framework on-premises. With the release of Feature Pack 2, we are now able to use the SharePoint Framework to customize SharePoint 2016. For quite a while now we were able to use webstack toolchain to build customizations for SharePoint Online and now similar capabilities are available for customizing SharePoint 2016. Similar but not the same.
SharePoint != SharePoint
There was a time where organizations using SharePoint on-premises had more powerful capabilities at their disposal, than users of BPOS or Office 365. But that time is long gone. A while back already, Office 365 caught up and now sets the release pace, offering organizations the latest collaboration capabilities. Being a service operated by Microsoft, Office 365 is being updated frequently. SharePoint on-premises on the other hand, gets periodic updates with only some of the features available in the cloud. Not everything, that is available in Office 365, is also available on-premises and you should keep that in mind when designing your solutions.
SharePoint Framework on-premises
When building SharePoint Framework solutions for SharePoint Online, you can install the latest version of the SharePoint Framework Yeoman generator and benefit of the latest capabilities such as client-side web parts or extensions. When using the SharePoint Framework on-premises however, you have to use an older version of the generator - v1.0.2, or the web parts you built, won't work. That brings us to two questions.
Build once, run everywhere
What if you are an ISV and want to build solutions that should work both in SharePoint Online and on-premises? To do that, you need to use the version of the SharePoint Framework available on-premises. Solutions built using that version are also guaranteed to work in SharePoint Online. Sure, you will be missing some capabilities, but if reusing the same solution across the different platforms is important to you, this is the compromise you will have to accept.
Every organization is different
What if you are a system integrator and have customers on-premises and online? While reinstalling the right version of the SPFx Yeoman generator for each project is an option, it's hardly acceptable. It's inconvenient, to say the least. Instead, you should consider other options, such as installing the generator locally as a project dependency or using Docker. This way, you will be able to seamlessly switch between the different projects or even work at multiple simultaneously.
Start building SharePoint Framework customizations on-premises today
SharePoint Framework offers great benefits to organizations customizing SharePoint. Now that it's also available for SharePoint on-premises, you should definitely consider using it in your next project. To help you get started, I published a ready-to-use Docker image with SharePoint Framework v1.0.2 for use with SharePoint 2016. You can download it, after installing Docker, by running in the command line:
docker pull waldekm/spfx:1.0.2
If you like it, and intend to use it in your projects, I would recommend you using the onprem tag (
waldekm/spfx:onprem), which I will update in the future with newer versions of the SharePoint Framework as they become supported on-premises.