I have a better understanding of the new runtime, the tooling, and the dependencies required to build applications. Although the experience is enlightening, I am leaving behind an old, warm, and comfortable environment for a new, cold, and frustrating one. I fully understand that not every skill I have cultivated will translate over, and I will be required to gain new ones. This post hopes to describe what I'm looking for, some of which already exist.
The fact that we are getting cross platform support is amazing. I never realized how much I wanted it to happen. Now that we are there, I don't want to go back. Go cross platform or go bust.
Solid Build Scripts
As .NET developers, we have taken MSBuild for granted. It is the cornerstone of 99% of all. NET applications, and it is mostly invisible to most developers. It is also a complete build system with support for anything we can imagine.
From my current viewpoint, admittedly limited, building an ASP.NET 5 solution still seems difficult. I am looking at the build script for DNX, which is a whopping 1417 lines long. I wonder what the ASP.NET team will recommend? Will the community lean on Gulp? The build system is yet to materialize, and until then, building a solution will be difficult.
Intellisense is a good thing to have. I'm happy that I can have it with both the Visual Studio 2015 and Visual Studio Code experience via OmniSharp.
I love ReSharper, OzCode, and NCrunch. I'd like to take these tools with me across platforms, but that's probably wishful thinking.
A Fast Unit Testing Feedback Loop
I am a big proponent of NCrunch and the tight feedback loop it affords me. I want that same experience on the command line and cross platform. Preferably I'd like to run my tests on every keystroke but would settle for every time a file changed.
Packages, Packages, Packages
In a previous post, I wrote about the Nuget Apocalypse. While reinventing the wheel isn't always a bad thing, I don't want to find myself reinventing every wheel.
I'm currently trying to use Visual Studio Code on OS X, and as far as I know, there is no debugging experience available. While tests are a good way to test the expected, debuggers help walk through when the code does the unexpected.
While it's fun to write apps that run locally, there is a point where I want to ship applications that real users will enjoy. I want to deploy to a stable production environment. This environment is likely to be Windows Azure.
Less Yak Shaving
Yak shaving is a struggle for any new project. The unfamiliarity of ASP.NET 5 applications makes it feel like a gigantic yak. I am excited to see more Yeoman templates that makes that yak much smaller.
I hope a lot of the .NET community makes the transition over to ASP.NET 5. An active community can help me get passed problems faster while vetting new ideas past trusted colleagues. Without a healthy community, I'll be left stumbling around in the dark.
There is a lot of nuance to an excellent development environment, some of which I am sure to have missed in this post. I've tried to list the major checklist items needed to make it at least a pleasant environment. My primary ASP.NET 5 concerns center on solution structure, compilation, and deployment; the approach to do any is still uncertain to the majority of ASP.NET 5 developers. I hope that becomes clearer as we move through RC1 to RTM.
♫ Lesley Gore - It's My Party