loading...
Cover image for A .Net man in Linux world.

A .Net man in Linux world.

rafalpienkowski profile image Rafal Pienkowski ・2 min read

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.

Posted on Mar 27 '18 by:

rafalpienkowski profile

Rafal Pienkowski

@rafalpienkowski

I'm focused on developing and expanding my knowledge and skills. Enjoying new challenges. I'm assuming that there are no stupid questions, there are only silly answers.

Discussion

markdown guide
 

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 :)

 

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.

 

+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.

 

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

 

I’m in the same boat as you, recently switched to Debian and I primarily do .NET development. MonoDevelop is alright, being the base of VS for Mac (which I love), but it’s definitely no Visual Studio.

I would try to set up an environment for VS Code since I just use it as a text editor right now, but it seemed like more of a hassle than MonoDevelop (which in itself was a hassle because right when I installed Debian, they had an update that broke on Linux). I’d like to follow your journey as well, I could use a few tips.

 

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 :) ).

 

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 ;)

 
 

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

 

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

 

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

 

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.

 

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

 

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

 

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.