Skip to content Skip to footer

Insight

What Sitecore’s Virtual Developer Day has hinted about the platform’s future

by Sam Mullins, Web Developer, 27 February 2018

Read Time: 10 minutes

On 22nd February 2018 I tuned in to Sitecore’s first ever Virtual Developer Day. In-between the various Q&A sessions and periods of hold music from Mozart were a collection of very informative presentations from prominent members of the Sitecore community. Rather than simply repost the content they covered, I thought it would be interesting to look at what the future may hold based on the talks I watched.

An illustrated image advertising the Sitecore Virtual Developer Day

JavaScript rendering will surpass ASP.Net

Over time, the options for creating renderings in Sitecore have expanded; XSLT, WebForms and MVC Razor are now all supported. These still all serve a purpose, but the current trend is to utilise JavaScript instead as this allows a more dynamic experience for the end user. Nick Wesselman presented a new JavaScript framework developed by Sitecore called JSS (Sitecore JavaScript Services). This looks like a very powerful framework – way more than just a restful way to access Sitecore items.

A lot of the Sitecore features that marketers and editors use (such as the experience editor and personalisation) are currently very hard to manage if a snazzy JavaScript rendered page is desired rather than the standard approach. JSS corrects this. In the presentation, we saw Experience Editor demonstrations of pages built using React (a popular JavaScript framework) and we even saw an experience editable API in the accelerator. Angular support is imminent and Vue.js is apparently on the radar.

The ability to use frameworks such as React and Angular whilst retaining editor defined page layouts and personalisation is a big deal, and will open a lot of possibilities. Soon we will hopefully be able to create Sitecore hosted websites, externally hosted websites and even mobile apps that share common JavaScript components. This will allow a cost-effective way to deliver on multiple channels.

JSS still isn’t ready for production, but it will be ready soon. 2018 won’t be the year when Javascript overtakes Razor as the most popular templating language in Sitecore, and realistically 2019 won’t be either, but the 2020s may shepherd in this change. Watch this space.

The Sitecore infrastructure topology will become increasingly complex

Here at Redweb we have already started upgrading some websites to Sitecore version 9, and although it mostly looks the same to the content editor, the changes under the surface are quite expansive. This increasingly complicated architecture resulted in Sitecore creating an entire framework to install the Experience Platform. This is what Thomas Eldblom outlined in his talk about SIF (Sitecore Installation Framework).

He explained why it isn’t as simple to install Sitecore now as it was in the good old days. What could be achieved in the past with a simple zip file, a step by step exe file, or the gloriously simple SIM tool now requires the developer to configure powershell scripts.

The reason that this is required is because Sitecore is transitioning to a microservice architecture. The main benefit of separating services, for example the publishing service, is that it allows them to be scaled independently based on the client’s needs. Unfortunately, this decoupling of components results in a more complex installation process, hence the need for SIF. More and more of Sitecore will be refactored into microservices resulting in a more nuanced topology where SIF will become more and more important.

The number of projects in a solution will become vast

Helix, the Sitecore best practice approach to solution architecture, is becoming mainstream and one of the most noticeable changes from the traditional model is the sheer number of projects included in a Visual Studio solution. The approach has had some pushback from the community because of this, but in his presentation Richard Hauer reasoned that there should actually be more separation!

Helix relies on strict adherence to a few principles – mainly regarding the dependency of some components on other components. As well as the standard foundation/feature project and test project Richard adds an ‘abstractions’ project; this new project contains only interfaces and model classes, not any concrete implementations. The extra condition he adds on top of the standard Helix rules is that projects can only reference the abstraction assemblies. If this convention is broken it is easy to find, and a potential coupling issue could be resolved.

I think this is a nice idea, and if it gets traction then the number of projects will get even larger. Richard said that one of his solutions has over 200 projects! This could make Visual Studio sluggish, but luckily Visual Studio 2017 has performance improvements for large solutions.

We’ll stop building the same things over and over

Now that Sitecore finally has a best practice for creating websites, prebuilt components are starting to appear. Sitecore themselves are creating these, and although Habitat is only meant as a guide, SxA (Sitecore Experience Accelerator) is designed as a basis for real websites. SxA contains a lot of common content components and is designed to speed up the time to market for a Sitecore site.

Rob Earlam talked about how SxA has been extended to provide similar benefits for Sitecore Commerce. SxA Storefront for Commerce 9 provides over 40 components out-of-the-box and it is very easy to create a B2C website in a short amount of time. Basing a commerce site on this allows more time and budget to be spent on the interesting things that differentiate your site from the competition.

Sitecore will begin to consume more data from outside the website

Although Pete Navarra spoke mainly about the new forms designer in Sitecore (which does look nicer) the thing that caught my attention was his observation that xConnect opens the door for reporting data from anywhere.

xConnect is a service layer that connects Sitecore to xDB. In the past Sitecore connected directly to the MongoDB store. Now that xConnect is a separate entity it is easier to connect to it from different systems. Later in the day Robert van den Boorn covered xConnect in depth and showed how deeply it could be integrated into a company’s system. As well as business process possibilities this could allow for some very interesting IoT (Internet of Things) implementations in the future.

A photo of 'Robbie' the robot - made of a pair of trainers and robotic parts

Sitecore will continue to expand into omnichannel delivery

The Sitecore Experience Platform is a powerful tool for making decisions based on editor inputted content and the user data captured in xDb. In a light-hearted demonstration Rob Habraken created a robot that told an appropriate joke to a person based on their perceived gender. The gender was worked out using cameras and Microsoft’s Cognitive APIs.  

The main decision engine was all in Sitecore though and is theoretically quite simple. A simple Sitecore site was created, and in this site jokes were entered as content items. In a page layout personalisation rules were set up to select different jokes based on different profiles.

This rather silly example brilliantly shows how powerful Sitecore can be; just imagine storing your content in Sitecore and accessing personalised data via the website, an app, or even Google Home or Amazon Echo. With an intelligent centralised content store at your disposal, the world is your oyster.

Conclusion

Every year Sitecore is becoming more and more advanced and has turned from a simple CMS into a powerful product that can be used to drive a lot of the customer interaction for a business. Over the coming years a company that buys into the Sitecore vision could find that they provide a fantastic user experience, targeting the customer with appropriate content not just on websites but on a variety of devices.

Developers will find that the code they are writing is more organised, and can hopefully be used in multiple places. This reusability from project to project (SxA & Helix) or from device to device (JSS) will be vital in providing a cost-effective way to target a large variety of different information outlets.

Sitecore isn’t just a product for making websites anymore, Sitecore is a product that allows you to pool all your knowledge about your customers, analyse it, and speak to them in ways that suit them best. If you would like to learn more about how we can help you use Sitecore to its full potential get in touch: hello@redweb.com.

Sign up for our newsletter

Be the first to get insights from the digital world and the latest Redweb updates.

Thank you

By entering my details, I agree to the use and storage of my data as described in Redweb’s privacy policy.