Like previous years, Microsoft delivered a session at the Microsoft Ignite 2019 conference that was essentially the “State of SharePoint Framework”. This session, BRK3071 - SharePoint Framework: What’s new and what’s next, started with a review of what the SharePoint Framework (SPFx) is and where it can be used. The second half of the session covered what’s coming next with SPFx, both in the short & long term. In this post, I’ll recap what was shared and share my thoughts.
The session started out with a nearly 25-minute review of what SPFx is, what it can do, how you can use it and where it can be used. They started with a high-level overview of the major parts that make up SPFx. Each week in the PnP SIG community calls, we see a slide that shows the adoption of SPFx. Not only has Microsoft shown a dedication to SPFx with frequent updates (11 major updates since GA), but usage as grown in SharePoint Online over 230% in the last year alone!
On the topic of SPFx updates, check out the list of things Microsoft has added to the framework since the initial release. The only thing that was available at the initial release back in early 2017 were web parts. Extensions GA’d in the framework in late 2017:
The following slide shows from a high level where you can customize the Microsoft 365 platform with SPFx, including what you can do today and tomorrow in yet-to-be-released surface areas. Notice both the Fluid Framework and Addins for Office clients are included here:
Building from the previous slide, the following depicts the different places within Microsoft 365 that can be extended but also includes the component that can be used to accomplish this.
The last slide from the intro/review section of the presentation is a high-level architecture of SPFx. This slide displays the different components you will find within SPFx. Some of these components are invisible to the developer, such as the boot loader, the client-runtime, and authentication pipeline. This slide also includes some future components as well… I’ll cover this more later in the post:
I really like these new slides. They do a good job of depicting where you can use SPFx and what components work in different places. I’m already looking at how I can incorporate these visualizations into my own presentations as well as my on-demand course for developers: Mastering the SharePoint Framework.
That does it for the “state of SPFx” part of the session, now let’s move onto what I suspect most people were interested in: what’s coming soon!
Now let’s pivot and see what’s coming soon for SPFx. First up, what’s next in the immediate/near feature…
What’s coming soon breaks down into two categories: what’s released as Generally Available (GA) and what’s release to Developer Preview.
The former means the APIs are locked, won’t change, and is ready for production.
Today, when you have an app customizer on the page that adds content to the top or bottom placeholder, they are added to the page after the SharePoint-part of the page has been rendered. This means users of the page may see a slight delay in the placeholders loading as your custom code runs after the page has been rendered.
That won’t change. But an effect of this is that depending on what you put in the placeholder, the page may readjust itself to fit the placeholder content. This is referred to as reflow. It can be distracting and undesirable.
To address this, Microsoft is adding the ability to create pre-allocated placeholders. This means if your placeholder is going to take up 75px, you can tell SharePoint to create a placeholder that’s 75px tall. The effect is that while the content may not appear in the placeholder when the page renders, the page won’t reflow when the content is added as space has already been allocated for it.
Nice add… subtle, but a simple fix to an annoying aspect.
A previous release of SPFx added support for using SPFx web parts as custom channel/group chat tabs in Microsoft Teams. The other type of tab you can create in Teams is a personal tab. SPFx v1.10 adds support for these types of tabs as well.
Nice add to complete the Microsoft Teams + SPFx integration.
Those who build SPFx solutions as custom tabs for Microsoft Teams noticed there were issues with them Microsoft Teams mobile app while the web app worked just fine. This has been resolved in SPFx v1.0 & the November 2019 update of Microsoft Teams.
This should have been there from the start. Maybe it was known when Microsoft released the SPFX+Teams integration, but they didn’t disclose it so it felt like customers figured this out on their own and Microsoft had to figure out a solution. At any rate, nice to see this has been addressed.
In a previous release of SPFx, Microsoft added the ability to create an SPFx component that subscribed to updates on a specific list. This meant without refreshing the page or polling the SharePoint REST API, your web part could be notified when any changes happened to the contents of a list.
This API will be promoted to GA in the SPFx v1.10 release.
Nice to see this not sit in the developer preview state any longer.
Now let’s look at the things that are new, but shared as a preview. This means we can use them, but they aren’t supported in production and the implementation / public API may change at some point prior to the GA release.
This is very simple: you can intercept a search query term before it’s sent to SharePoint Online to update the search terms. The example they showed was intercepting a query for a specific term and adding two translated terms so the search results would contain results for three versions of the same word.
A nice add. I didn’t know this was something we needed… I actually thought you could do this in the search admin, but I guess not!
Just like how we can use SPFx web parts as the body of a tab in Microsoft Teams, this will allow us to use the web part as the body of an Office Addin.
At first, this will only support Outlook, the web client, but we can expect to see this hit the other clients as well: Outlook desktop, Word, Excel, and PowerPoint.
I’m eager to see how this impacts addin adoption as we haven’t seen this space take off much. The lack of adoption, I believe, has been more of the fault of the Office client team doing a poor job surfacing these addins and completing the promise of making them work everywhere & not making it easy to find addins. But, this should simplify the process of creating them as that development story is not nearly as clean or straightforward as SPFx development.
In the session at Microsoft Ignite 2019, Microsoft also shared some “down the road” things they are working on. Some things were discussed in depth, others in passing.
Two things that will be nice additions, but we don’t have much details yet are support for SPFx solutions in a store using AppSource and a faster inner dev loop.
They talked about new SPFx extensions as well, but not much beyond a brief mention.
We’ve heard of these before, and it seems they are still “coming soon”… I’ll wait to pay attention to these when there’s something to look at or plan for. I would have liked to hear more about their plans in both of these areas.
This is a big change. It’s not really going to change what we’re building, but it changes the marketing name and our generator.
SharePoint Framework is more than just SharePoint now. You can use SPFx to create custom tabs for Microsoft Teams and as you have seen from above, soon Office Addins. Calling it the SharePoint Framework is a bit of a misnomer now, although SharePoint is used to host the solutions.
It really is more of the Microsoft 365* framework. So… it looks it will get a new name. I doubt this will mean a change to the APIs we use, but it will possibly introduce a new Yeoman generator that replaces the SharePoint Framework generator. We’ll have to see.
As someone who’s created a SharePoint Framework developer training course, I’m not looking forward to this change, but it does make sense. Looks like I’ll have some videos to re-record.
Microsoft is working on something called the Fluid Framework. You can learn more about it from a session they delivered at Microsoft Ignite 2019: BRK3075: Learning about the Fluid Framework.
In a nutshell, it’s a collaboration/co-authoring framework that we can leverage. Think editing content on a page and seeing the content update in another experience for another user.
Why mention it here? Because SPFx will support it.
Honestly? I don’t get it.
It’s not all that impressive to me. It looks like a technology they needed for their own collaboration & coauthoring in Microsoft 365 and are simply making the tech available to us. So that’s nice, but this is being made into a much bigger thing that it is, at least that’s how it’s coming across to everyone I talk to.
When I’m asked for my thoughts, and I shrug with “meh, it’s neat, but not a big deal”, I get the “yeah, but it demo’s well” response. Sure… but let’s make sure we don’t make a mountain out of a mole hill.
If I’m being entirely honest, I left Microsoft Ignite 2019 a bit disappointed as it relates to SPFx. SPFx is growing at a strong clip, I love the support for Office Addins as well as finishing out the story and fixing known issues with the Microsoft Teams integration.
I had hoped to hear more details around some big things we’ve been teased with for a while. Specifically things like the store support with AppSource, a faster/more stable dev loop, new SPFx extensions coming to the framework and details around content security policy (CSP) support.
These are all fairly big things that’s we’ve been hearing about for 2-6 months or longer and no substance was shared on these important topics.
But like I said above, the state of SPFx is strong today and I expect it to grow in the future.