Published: 22nd Dec 2015

Why we’re excited about 5

Developer Gabor reveals just why the Technology team at True is excited about 5.

Gabor Ferencz - Senior Developer

We are freaking excited here at True.

Recently we have installed an in-house Nuget server and have converted many of our components into Nuget packages. Following this move, we’ve experienced some issues around package restore between development environments. This, especially when merging and getting solutions from source control, is a bit frustrating.
What’s more frustrating is that we haven't moved some of our shared libraries into Nuget yet. Not because we don’t want to, but because we haven’t had the time and because it’s a bit complicated - especially those components that rely on CMS.

Why are we so excited?

The latest spate of releases from Microsoft have brought some much-needed stability to our development environment. Soon, we are hoping to start transitioning to 5.
In the last couple of weeks, Microsoft have released:

  • Visual Studio 2015 Update 1 (including an update to the Nuget package manager)
  • 5 Release Candidate 1 Update 1

This is exciting because once we move over to 5, we won’t have to build again.
Well, we can, but with the new Roslyn compiler, the file structure has become the solution. That means that if we make a change in notepad, outside of the solution, that change takes effect, instantly. Your solution updates to reflect the changes. If I add a file to the directory, this gets added to the solution in VS. No more “it’s compiling” excuses. Damn.

There are a few reasons why this is great:

1. There’s no longer a project file. With no csproj, csproj.user and other such files, the chance of merge conflicts and source control mess ups are greatly reduced.

2. No more .net framework. With the .net execution environment (DNX), the application that you write can include just the components you need, and then package it all up with the runtime environment and any of the dependencies to make a standalone application. You can choose to compile the app against the .net framework, but it’s nice to think that Mac and Linux are no longer no-go zones when it comes to running .net applications.

3. Eventually, with MVC 6, we’ll have more unification between web and API code.

4. And finally, with the tick of a box, we can package up any component at build time. If we can save those precious moments of writing out the two commands each time, we will.

All these things mean that we should spend less time doing menial tasks, like waiting for things to build, and sorting out merge and pull conflicts.
So we’re excited. We like it when we can work better as a team. 

Gabor Ferencz - Senior Developer