For SharePoint Development, the Future (and Present) is Clearly JavaScript

We have been working on a custom branded SharePoint intranet and interviewing SharePoint developers as we expand our team.  The historical SharePoint developer who has been working with C#, ASP.NET, farm based solutions, etc. is being clearly replaced by developers who see SharePoint and Office 365 as just another web based JavaScript platform.  When we interview SharePoint developers, we’re asking them about their experience with JavaScript frameworks, CSS styling, MVVM modular design and working with JSOM, REST, etc.  Right now, we’re hiring folks who have experience with CSS, HTML and JavaScript frameworks such as Knockout JS, Angular, React, etc. because this is the type of customizations we are developing.  We haven’t done a lot of C# development lately, except for clients who are still running older versions of SharePoint and want to migrate to SharePoint 2016 but keep their existing farm based solutions, custom workflows, InfoPath forms, etc.

Microsoft has been encouraging this shift from server side to client side development for several years, starting with SharePoint 2010 and dramatically accelerated with Office 365.  When Office 365 banned farm based solutions and server based code, the community shifted to 100% client side development using JavaScript, HTML, CSS, etc.

In SharePoint 2016, you can still use C# or ASP.NET to create farm based solutions but this is primarily for backwards compatibility.  In order to support both Office 365 and SharePoint 2016, it is recommended to use client side based customizations only.

SNAGHTML37902c8c

In the upcoming SharePoint Framework, Microsoft is pushing even further into the JavaScript world.  Gone are web parts / app parts / add-ins as IFrame component containers, replaced by inline JavaScript extensions that are dynamically included in the page.  These JavaScript extensions can be deployed either to Office 365 or loaded from an external CDN.  The SharePoint Framework leverages 100% JavaScript code and tools such as TypeScript, Node.JS, React, JSON, and Gulp for building customizations.  Unlike the current Add-in model, the code is included directly into a page with none of the older IFrame based container frameworks that older versions of SharePoint used. 

The SharePoint framework-an open and connected platform 3

If you are one of these SharePoint/C# developers who still thinks JavaScript is an after-thought language, think again – it should now be considered a first class language.  Microsoft is pushing it hard and SharePoint development is already primarily client side development and will continue to be in the future.