SharePoint Framework, what about on-premise people ?
This is my two cents journey from switching my mind away from on-premise development methods to Office 365 SharePoint Developer.
Back in 2015, when I saw all those tutorials about SharePoint Framework, the so-called modern way of developing new apps inside SharePoint, I told myself: “my customers are mostly on premise (in France) so this is not of my concern”.
Then SharePoint 2016 feature pack 2 rolled out with SPFX support, and soon SharePoint 2019 will go RTM (end of the year).
YET, most of my customers are on SP2013 or SP2016 RTM. So I thought there are no ways to switch to modern development.
How to be able to catch those trends driven by PNP community? Every week there are new components built in Typescript, React, Material UI, VueJS, Angular etc….
So I tried SPFX on office 365 tenant while my daily work life is still on-premise. Using content editor or script editor, I am able to do some javascript but this is not really suitable for big project. Javascript does not give pre-compiling errors etc.
Some GitHub boilerplate to the rescue
Then, I discovered some boilerplates github repository to be able to program using the trending technologies such as :
The first one, under Microsoft Repo has not been updated in a while so react version is outdated and the generated code referencing javascript is not versioned, so this is pretty limited for production environment, where a user would have to CTRL + F5 To see a new version of it. Also, the deployment is manual…
The second one has been done by Andrew Koltyakov, a MVP. A lot of modern ways to deploy has been added to this project such as :
- gulp watch to deploy JS / CSS etc to SharePoint whenever you save
- live reload to reload the page automatically
- PNP to enjoy coding faster than lucky luke
The concept of SPPP is imitating SPFX except that you reference it in a content editor web part and voila.
Plus coding in typescript will prepare a potential code migration to SPFX during a Office 365 migration.
SPFX Continues to get updates by the community
Ok, you will tell me that Microsoft recommends app model on-premise or upgrading to more recent SharePoint version… To me, that is the dream and we have reality: technologies shift, modern ways to develop components on the shelve, why shall we stay in a heavy model such as apps model? There are some cases where app model is useful such as run with elevated privileges etc… for other cases components could be developed using such boilerplate.
Meantime for Office 365 :
- Recently some developers have created a pnp jquery spfx boiler plate.
- A lot of VS code Extensions came to life to make the process easier to package and deploy to Office 365.
Wrap up
SharePoint framework is the way to go if you develop on premise on SP2016 feature pack 2 or SharePoint 2019. For other environments you can still program in typescript etc using boiler plates.
And you which way you develop your components on premise when SPFX is not available?