As developers, we have to learn new stuff continously. We discover almost each week a new technology, framework, methodology, …
Sometimes, we hear about new trends, but for some reasons, we can’t get time to learn more about it.
As SharePoint developers, we have done things for years in a way not really up-to-date in terms of current trends. I remember being several times frustrated when hearing about new technologies and not having the opportunity to use them in a real world scenario mainly because of the real world constraints:
- We won’t upgrade before 3 years or so…
- We know how to do this kind of development, so stick to it !
- We have to maintain and improve those 8 years old applications, don’t try to rewrite it !
During my missions as a SharePoint consultant and my “real-world work”, I had to learn the new techniques and technologies without a real hands-on, but just some short self-training sessions on my free time.
Fortunately, the “real-world” is evolving since people use more and more the web in their professional and private life. The decision makers want to bring some user experience they met on the web into their own products. More up-to-date user experiences means for developers more up-to-date technologies.
Microsoft realized that as well and have introduced Modern UI for SharePoint. The pages in SharePoint (some of them) are now much more intuitive, reactive, responsive and sexy.
In the same direction, Modern Pages and Modern Web parts have been introduced.
Developers have now to develop client-side “apps” with a specific framework to be integrated in this new UI.
The future of SharePoint relies on new development techniques with a big focus on Client-Side development. You probably have heard somewhere about the SharePoint Framework (aka SPFx). In a few words, it is actually a framework with libraries and tools that allow to develop modern client webparts (and probably full pages in the future).
The SharePoint Framework relies on a wide range of new technologies :
|Modern technology||Purpose||.NET Dev comparison|
|Node.JS||Development web server||IIS / IIS Express|
|Project Template scaffolding||Visual Studio project templates|
|Build system||MS Build|
see my post about Typescript
|Preferred and suggested language||C# / VB.NET|
When I say that SPFx “relies” on these technologies, it is not actually true, the distributed application will be a full JS application and could possibly be entirely written from scratch, but I think it will be pretty tricky. The technologies mentioned here above are there to improve (significantly) your productivity.
Big advantages of SPFx
Basically, choose your favorite editor!
Since the development web server is hosted by Node.JS, and Node.JS can be installed basically on any system (Windows, Linux, MacOSX, Docker, …). You do not need any specific system to setup a development environment.
Basically, choose your favorite system!
Any framework or library
Basically, choose your favorite frameworks! (And the ones that make sense for your application)
No need for a DEV SharePoint environment
The SharePoint Framework also proposes a very interesting and useful feature: The SharePoint Workbench which is actually a page hosted in your local development server that looks exactly like a SharePoint Modern Page. It means that you can develop on your local machine without any connection to a SharePoint tenant.
Get Started with SPFx
I will not in this post rewrite what has already be written by the SPFX folks themselves. So, if you want to get started with SPFX, please go there
SPFx Today and Tomorrow
At the time of this writing, the SharePoint Framework is still in Developer Preview.
Back in November, there was an announcement of the release of SPFx in First Release tenants. However, the official Github repo still mentions it is the Developer Preview release.
“Note: SharePoint Framework web parts are not supported for production use.” — SPFx Github homepage
Also, the SharePoint Framework is (currently) only available on SharePoint Online
At ESPC16 in Vienna, a few weeks ago, I could hear a few shy words about (Nothing really official here) :
- SPFx used to develop full pages (instead of only webparts)
- SPFx might be released for on-prem in the future
My toughts about SPFx
I really think it is the best opportunity to:
- Higly increase the quality of the SharePoint customization
Indeed, SPFx is so portable that web developers from all horizons and with many different backgrounds (specialists in many different technologies) can now become SharePoint developers. It was already the case with SharePoint Addins but not with such a focus on new web technologies
- Highly improve the skills of “classic” SharePoint developers
Indeed, classic SharePoint developers (as I used to be not so long ago) have now the opportunity to get up-to-date with the current technical trends, and they will leverage their strong background of SharePoint to build even better applications with Modern user experience.
Tell me what you think and let’s discuss !
See you soon!