Jamie's Blog

The ramblings of a programmer with a little too much time on his hands

Category: .NET Core

A New Blog Appears

Really quick post tonight to announce that I’ve built a new blog.

Ok, built is probably not the right word. But you know what I mean.

So, I’m taking some time to learn about .NET Core¬†and have decided to set up a blog specifically for that.

Mainly so that I don’t fill this one up with posts that most folks aren’t going to read.

So if you’re interested in reading about my journey into open source .NET development, then head over to https://dotnetcore.gaprogman.com

That’s it for now.

Except to say that I still have a post about passwords and ways to keep them, and your online accounts save.

.NET in new places

Over a year ago I wrote about how I was building an application with Mono, Xamarin and GTK# on MacOS (even though it wasn’t called that then). Well, since then the Microsoft .NET team had announced that they were open sourcing the .NET runtime and were re-building it for non-Microsoft operating systems.

Because I wanted to play with .NET Core, I started trying to figure out how I could use it on my *nix machines. Because new Microsoft are awesome, they very quickly put up tutorials on how to get the run time installed on your machine.

Shortly after then, they also started building their documentation pages for all things .NET Core.

Thankfully this doesn’t follow the dated MSDN model, and it generated on page load from the GitHub documentation repo

.NET Core

Time has moved on since the initial betas and RTM releases, and we’re at version 1.0 of .NET Core. So I headed over to the .NET Core website and installed in on my Mac.

After that, I was looking around for the quickest way to develop apps for it. The quickest way to do that is to pull up the console and run these commands:

This would create a directory called dotNetCoreApp and create an empty .NET Core console application.

Pretty good huh?

We Can Rebuild Him

So npm is a thing that exists.

If you’ve gotten this far, then I’m assuming that you know what npm is. If not check out this wikipedia article for some background information [LINK]

Going back to the .net documentation (linked above), theres an article about building a .NET Core application using npm and yoeman, which is incredibly useful.

Using yoeman, you can template a full .NET Core application (console application or ASP/MVC web application stack) in seconds. So that’s what I did.

All of this is an extremely fancy way of announcing that I’m starting some cross platform .NET Core application development. The prototypes that I come up with will be hosted on my GitHub account, which can be seen here [LINK].

At the time of writing, I only have one application in that repo. It’s not that exciting either. All it does it print a message to the console.

Console Application Screenshot

It really doesn’t do very much at all.

That’s literally it. Nothing else. Exciting, huh.

What has been added to this repo so far was written entirely using Visual Studio Code. Why Visual Studio Code and why not something like, say, Atom?

Because Visual Studio Code is stupid fast and has all manner to plugins specifically for C#/.NET development (things like NuGet search and install).

The best laid schemes o’ mice an’ men, Gang aft agley

So what am I planning? Other than just learning the caveats and pitfalls of using .NET Core, I want to build a selection of application in C# with .NET Core. Some of the things I want to build are some MVC sites, and a few quick and dirty console applications.

The big one, however is medico. medico is an application that I’ve been designing for a long time, and I think that .NET Core is the way forward for it.

The design documentation is still in flux, and I’m still adding to it, but you can read the latest version of the medico documentation here [LINK]

So this means that, going forward, medico’s development will be restarting.

There are a few things that I need to look up first though. Things like opening files from disk in .NET Core (I know that the FileStream class wasn’t available back in the early beta). Once I’ve managed to figure out how to do these things, medico’s development will begin again in earnest.

Watch this space, I guess.