DEV Community

Cover image for A .Net man in Linux world.
Rafal Pienkowski
Rafal Pienkowski

Posted on

A .Net man in Linux world.

After I've read a couple of posts (for example .NET Core 2.1 highlights: standing on the shoulders of giants and My Linux Development Environment of 2018 I've started to think about a little experiment.

What If I, as a .Net developer, which natural environment is a Windows machine, start to work on a Linux machine?

  • .Net Core is the cors-platform solution and is fully supported by Linux.
  • I'm not a desktop/mobile solution developer (no WinForms, WPF, Xamarin).
  • I like to use Docker in my solutions, and Linux OS is more natural for Docker than Windows.
  • I can use Visual Studio Core on Linux OS.

Why not give a try at least for mine side projects which I take care after work?

I'm not an advanced user of Linux. I have got a little experience which I gained during my studies. I've arbitrary chosen Ubuntu 17.10 as my Linux machine. I've already installed VS Code, .Net Core, Git client and Docker based on tutorials from the Internet. Right now I was surprisingly easy. The plan for next few weeks is to port all my side project to Linux and work on Linux as my main "development" environment.

I'm going to share my feelings about the change of the OS. Feel free to add your suggestions and questions.

So like Sting's Englishman in New York, I'll be a .Net man in Linux world.

Top comments (15)

Collapse
 
drminnaar profile image
Douglas Minnaar • Edited

I develop on Linux where .net core is one of the frameworks that I use. VS Code is great! However, I still missed Visual Studio .... until Rider from Jetbrains came along. Unfortunately no free version but it's worth investing in. Coming from a windows environment you are most likely comfortable with IIS. But I recommend skilling up with something like Apache or Nginx. Other than that I highly recommend mastering the command line. Btw you can use powershell in Linux too. I think you've made the right choice. Keep at it :)

Collapse
 
rafalpienkowski profile image
Rafal Pienkowski

Nice to know that I'm not alone :). Yeah, VS Code rocks and day by day I'm more convinced to it.

I plan to try Apache or Nginx too. At the beginning I very interested in differences between natively Docker on Linux and "virtualized" Docker on Windows. I'm going to test differences in performance between them.

Currently, I'll use Linux only for my side projects and for fun but who knows maybe in the Future I'll invest some money and buy more professional tools like Rider. BTW thanks for your suggestion, I'll look closer to Rider.

Cheers.

Collapse
 
chrisvasqm profile image
Christian Vasquez

+1

Rider helps me a lot with college related projects. Part of it comes from my familiarity with IntelliJ IDEA and Android Studio, but having a similar set of tools and shortcuts makes it super easy to get started compared to using VS Code + the powerful refactor, version control integration and search capabilities to navigate around a project.

Collapse
 
drminnaar profile image
Douglas Minnaar

Rider for the win! :) Having said that, I'm rather impressed with the extensions that are now available for C# development in VS Code.

Collapse
 
joaofbantunes profile image
João Antunes • Edited

I'm also mostly a .NET guy and I've been playing around with .NET Core on MacOS - I'd guess the experience should be similar in that regard.
As I'm using it only for some pet projects, all is going well with VS Code, but I would probably miss Visual Studio if I was using it for professional projects.

One thing I enjoy about this setup is "forcing" me to know more of what's going on regarding the .NET CLI (like creating a solution file and adding projects to it :) ).

Collapse
 
rafalpienkowski profile image
Rafal Pienkowski

I don't have a Macbook around, so I've decided to go with Linux. Maybe Linux will be first step and I'll end up with Mac ;)

Collapse
 
aliasadidev profile image
aliasadidev

You are not alone :-) I have switched to Linux (Ubuntu 20.04) recently from Windows. I'm convenient in VS Code because I don't need to switch between two IDEs to Develop front-end(Angular)/back-end(.Net Core) projects. Linux is really fantastic for developers. I think we have made the right choice.

Collapse
 
mrozim78 profile image
Mrozi

Try also a trial version of Rider jetbrains.com/rider/

Collapse
 
rafalpienkowski profile image
Rafal Pienkowski

Sure, I will. Douglas has also mentioned about this tool. Thanks for the advice.

Collapse
 
alias6588 profile image
Ali Askari

I have a circumstance like you, is fedora proper for me?

Collapse
 
rafalpienkowski profile image
Rafal Pienkowski

In my opinion, this strongly depends on your preferences and experience in the Linux world. I think that Ubuntu is more popular, so it's easy to find on the Internet pieces of information, tutorials, etc. But I'm not saying that there isn't the same for Fedora. I've chosen Ubuntu, but this was only ma arbitrary choice.

If you're not convinced to Ubuntu, set up a virtual machine with OS, you would like to test and play within for a couple of days. I'm sure you will experience a lot, and that will help you make your choice.

BTW, It took a while from the time I had written this post. I changed my job, and now I'm working on Ubuntu also at my work :) I must admit that working with bash is much better than with the PowerShell and Rider makes his job well.

Food luck with the choice. Please give information what OS you finally choose.

Collapse
 
cess11 profile image
PNS11

Take some time to try out i3 and other top tier window managers, this is an experience the proprietary operating systems usually can't provide.

Collapse
 
rafalpienkowski profile image
Rafal Pienkowski

I've just installed it. I will give it a try. Thanks for the advice. Cheers.

Collapse
 
devmonte profile image
Grzegorz Jońca

Are you going to use bash or PowerShell on your Ubuntu? :)

Collapse
 
rafalpienkowski profile image
Rafal Pienkowski

On Windows, I use both PowerShell and Git Bash. I think I'll try them both.