Developing with Dotnet on Fedora

Saturday, 17 September 2022
  • By
  • Jeff Ammons
  • Tags:
  • Programming
  • Projects
  • dotnet
  • .NET
  • C#
dotnet and Fedora: How viable?
dotnet and Fedora: How viable?

Things have been feeling a bit stale for me lately. I've used Windows since version 3.0 and when the Windows 11 advisor told me it didn't want to run on my older hardware, I decided to try some Linux distros again.

I've used Ubuntu off and on for many years, but I wanted to try something different, so here I am on Fedora 36.

Fedora is an open source distro that originated with and is sponsored by RedHat. It has been getting good reviews lately on YouTube with lots of Ubuntu users trying it out. My first Linux experience was with RedHat (loooooong ago).

That's all great, but how is it for working on a dotnet app like GatorSmile CMS?

Read on to find out.

First of all, Visual Studio isn't going to work on Linux. Fortunately Visual Studio Code works great!

Of course you could just run Windows in a VM and use Visual Studio, but that would defeat the purpose.

So let's start with the OS itself.

How is Fedora?

The Good

The operating system itself is elegant and, dare I say, fun to use.

If you aren't a Linux user, then I need to explain the concept of a Desktop Environment.

With Mac or Windows everyone pretty much gets one user interface. With Linux you have a bunch of choices, but the two most common are GNOME and KDE.

These are more than just cosmetics. They are entire windowing systems that are used to build UIs.

So with Fedora the base distro uses GNOME (which is annoyingly pronouced “GUH NOME”). Having said that you can get other flavors of Fedora with KDE or other Desktop Environments. This is true for other Linux distributions (distros) as well. Fedora calls these variants “spins”.

One interesting spin is Fedora Silverblue which gives you an immutable operating system. This gives you a ChromeOS style OS that cannot be corrupted because it cannot be changed. To update the OS you pull a new OS package much like pulling a new container image in Docker.

The Bad

I'm going to be brutal here, but my biggest beef is lack of the software I want to run.

It is heretical amongst the Linux faithful to say this, but many of the options on Linux are not as good as their counterparts on Windows or Mac.

I can do things with the Adobe suite that I just can't do with a bunch of open source alternatives.

A great example is the image I created for this post. I tried using drawing apps on Linux, but gave up and used my iPad and Procreate.

Having said that a huge percentage of what I both use and build are web based applications. Those work on Linux just fine.

The Ugly

Since I'm unlikely to ever switch fully to any Linux flavor, I will remain a bit of a stranger in a strange land.

There are some things you need to become second nature or muscle memory.

In Linux I feel like I'm in a rental home on vacation. I KNOW there is a can opener in the kitchen, but danged if I can find it.

Epilogue aka Post Credit Scene with a Surprise Twist

This post was going to be longer. I had replaced the hard drive in my old ThinkPad and didn't even dual boot Windows. It was Linux all the way.

I was heading out on an epic two week vacation with my main goal to relax, recharge, read and write.

Two days before I was to leave, I found out my mother had been airlifted to the hospital in Asheville, North Carolina, from our hometown of Sylva.

My wife and I drove up there from our home in Florida as quickly as we could. We were packed for the beach, but found ourselves in fall.

Over the next several days I was able to stay with my mother and my siblings through the last stage of her life.

I am grateful for the time with her and that her pain has come to an end.

Lest you think the story ends here, let me assure you it did not.

As we were preparing for the funeral and flying my son and his girlfriend up, guess who was preparing to visit Florida? Hurricane Ian, that's who.

Long story short we were trapped in Asheville for a week and unable to return home. Under other circumstances spending a week in Asheville would be awesome. This time, not so much.

In summary, whether or not Linux is a good choice for dotnet development seemed far less important than it had, but nevertheless I will give you…

My Verdict

Yes, you can happily do dotnet development on Linux IF you are either happy with the software options available to you or flexible enough to use either a Mac or Windows in conjunction.

For me, yes, I will continue to use Fedora (or some other Linux flavor) on my ThinkPad because it really does breathe new life into this hardware.