.NET development is changing, and so are we

Historically we have always been a Microsoft software house, we built our software using Visual Studio, on Windows machines and we would deploy to Windows Servers. Every few years we would install a new version of Visual Studio and update to the latest release of Windows, this was good for us as and good for the Microsoft PR machine. Each new release cycle would have a big event and see a host of new features, each of which we could use to create increasingly more powerful applications, quicker than ever before.

There was one big problem with this multi-year approach, it was too slow. Development, particularly web development, was moving much quicker, every week new JavaScript frameworks were (and still are) appearing and Microsoft was being left behind. Coupling the .NET framework releases with Windows releases was crippling the rate at which changes could be made and developers from other platforms, like Apple and Linux, were alienated because, as a developer, you needed everything to be on Microsoft.

Making the Change

Microsoft realised they would need to make a significant mind shift change, firstly rather than requiring developers to only use Microsoft technologies, they would make the .NET platform itself cross-platform, letting developers pick and choose which bits best fit for them. Regardless of whether you used Apple, Linux or Windows you would be able to write code, using the tools you want, to run anywhere. No longer being tied to a single operating system the .NET framework would be free to release updates on whatever schedule they chose and as such be able to respond quickly to user needs.

This was no easy task, the journey started in May 2014 with a project known as vNext and it wasn’t until two years later in May 2016 they reached version 1.0, with what is now known as .NET Core. Since then 1.1 and 2.0 have been released and 2.1 is currently in testing, each adding more cross-platform functionality and more features, with other supporting tools such as Visual Studio Code, a cross-platform code editor, being created from scratch at the same time.

Looking at where Microsoft came from there were two main problems they wanted to solve; being able to release value to customers quicker and letting customers pick which tools they wanted to use. We too look at these same problems and we too are making changes.

How we are Changing

We might still use Visual Studio and develop on Windows but, our mindset has shifted. Our new Zupa Platform uses modern continuous integration development best practices. We use tools like Team City and Octopus Deploy to build, test and (when it is ready) release many times per day. We want to deliver value as soon as we have finished writing it and not just once per month/quarter/year. More than that we are building our platform to be extensible. As a business, if you have already invested in a finance package or a stock management system, we don’t want to force you to change. We want you to be able to bring those tools with you and easily integrate with us. We want to make your onboarding process as easy as possible, rather than forcing you down a long migration path.