Sensei Blog

The blog about Microsoft productivity, project and portfolio management and business insights solutions. Subscribe to receive the Sensei Newsletter!


The Rise of React for SharePoint Framework Development

Software development hasn’t really changed that much over time – we still need to pump out customised software at a break-neck speed. Back in the late 90’s, Visual Basic was my tool of choice for this, as it had an extremely rapid development cycle and great tooling from Microsoft. The alternative was writing stuff in C++ that required much arcane knowledge of the Win32 API, and while execution was fast it was generally difficult to use. VB6 in particular was a work-horse when it came to making customers happy, quickly.

In the early naughties the .NET framework came out and supported both VB.NET and a brand new language C#. This support for both languages was initially an attempt to provide a migration path for all those VB developers to give them a place to go, and the language support exists to this day from a technical sense – although not so anyone would notice.

What happened was the rise of C#.

VB.Net was perhaps too easy to learn, and hence was the beginner’s choice, and a language that became synonymous with low-quality code – whereas C# was the language preferred (begrudgingly) by the C++ developers that were forced to use .NET and also by Microsoft internally for all their demos and samples. If there was a VB.NET sample for anything, it was an afterthought. In the years that followed VB.NET all but disappeared in favour of C#, and now if someone claims to be a .NET developer – you can safely assume this means C#.

Fast-forward 15 years, and we find that the Angular framework by Google is the top dog of JavaScript frameworks for the rapid development of custom applications on the web. Although not a beginner framework by any measure, Angular is the undisputed king of JavaScript frameworks today.

Microsoft has recently started to ramp up the developer evangelism engine for their upcoming SharePoint Framework release. This will be the biggest SharePoint UI change for many years, and will change the way we deliver custom applications for customers into a more completely JavaScript client-driven experience. The reasons for this are numerous and is generally a trend in the industry, but the interesting aspect is that again, just like the introduction of .NET Microsoft is claiming agnosticism in relation to client framework selection. The message from Microsoft is that you can use any framework you want, as the SharePoint framework works equally well with all frameworks.

The parallels to the introduction of .NET are striking, as Microsoft claimed that C# and VB.NET would be equal 1st class languages for .NET development, as they both compile to MSIL (Microsoft Intermediate Language) – they also claim Angular, Ember, React and Knockout all to be 1st class choices for SharePoint Framework development.

… and then this statement from Vesa Juvonen in the channel 9 video gave the game away:

“Natively within the SharePoint Engineering group we are using React as the framework”

This is React’s C# moment.

For the new framework Microsoft will need to issue sample code, provide Yeoman project templates, and write best practice guidance. In all of these places they will need to select a framework to publicise. Every time a new feature is released and a new sample is required they will need the discipline to release matching examples in all frameworks, and while Vesa and friends claim they will do this, we all know how that ended for VB.NET.

My prediction is that in time the internal use of React by Microsoft will start to show through as it did with C#, and a few years from now writing for the SharePoint framework will be synonymous with writing React.

So – although long-winded explanation, this is the reasoning to add React to your ‘Must Learn’ list of technologies for 2016.


James Boman, Application Alchemist

James doesn’t really like talking about himself in the third person.
A programmer, like my father before me – I have been working in the IT industry since an early age. My first job was cleaning keyboards, fixing hardware and writing paper software manuals – yes, paper. I circled around through the IT services circuit back towards software development and have tried my hand at many technologies over the years, from Clipper 88, dBase, FoxPro, Visual Basic, Borland Pascal, C, C++, C# and now cutting my teeth on getting into JavaScript in a big way. Things move pretty fast in the industry and in the words of Ferris Bueller, “If you don’t stop once in a while, you could miss it”


Stay up to date with insights from the Sensei Blog

  • This field is for validation purposes and should be left unchanged.