C# Linux is Possible and this is how:
In this post, we are going to talk about various methods in which we can use C# Linux. C# is a general-purpose programming language that can be used for developing different kinds of application in Microsoft Windows platform. It is a strongly typed object-oriented programming language. It is originally designed for common language runtime. C# needs .NET Framework for compiling and .Net Framework Runtime to run on windows.
.NET Framework is available only on windows. Due to this reason it was not possible to use C# programming language on Linux or atleast not as well as windows. But recently, Microsoft has embraced open source in a very developer friendly way. It has integrated Bash, a linux based terminal, into Windows, added support for .NET core in Linux. Supported Xamarin to help developers develop Android apps using C# and more.
Here we will see how to use Linux C# such that new programmers can use Linux and learn C# development easily.
C# Linux using MonoDevelop:
It is a cross-platform IDE for .NET languages such as C#, F# and more. It helps the developers to port the .NET applications to Linux and MacOS without have to rely upon multiple code base and more.
It is an open source development platform based on .NET framework. It allows the developers to build cross-platform applications with IDE level productivity.
Mono is supported on many other distros also. It is supported in Debian, Raspian, Fedora, CentOS, Arch, Gentoo and more.
There are many packages that are installed with the help of the official community-driven software sources that are written using C# and use Mono.
Also, there are plenty of editors that the developer can use to develop applications on Linux. Some of them are, Gedit, VIM, MonoDevelop and Visual Studio Code. We can also use the IntelliJ based IDE called Rider that has all the features of Resharper.
We highly recommend Visual Studio Code for C# Linux development.
That being said, we have to note that, we can develop desktop applications using Mono Framework and GtkSharp toolkit. It is possible to develop Unity Game engine using C# applications on Linux and for Linux.
Clearly, we can see that having C# programming language is great for developing on Linux and so our argument for C# Linux is very important.
C# Linux Xamarin Development:
We do not develop apps in Linux with the help of Xamarin but we can develop an application for Android using Xamarin. Android is using the Linux kernel for the operating system. It also uses the Java Virtual Machine within which the applications run. It is therefore important for a developer to have good knowledge of Android and Java to be able to write applications for Android.
But the situation has changed in favor of C# Linux. With the help of Xamarin developers are able to develop applications for Android using C# programming language. It is very easy to learn and it mostly uses the Microsoft UWP development paradigm.
If you are a new C# developer do not worry that you can not target the largest OS segment, android yet. With the help of Xamarin, we can easily write applications for Android and iOS from within Windows.
This makes Xamarin have projects compile to Android, iOS, and Windows at the same time. The result is the ability to develop android applications using C#. It is a very powerful platform and many large companies use this as the front end technology for large business services.
C# Linux using .NET Core:
Finally, we can come to the elephant in the room and that is .NET Core for Linux. Historically .NET has been Windows only and it is still that way for most of the part. This changed recently with the release of .NET Core. It is opensource and it is maintained in GitHub. It has accumulated above 10K stars on Github. It is quickly surpassing Node Js in popularity and also becoming developer friendly for all platforms.
The .NET core was originally announced in 2015 and ever since then it is quickly growing. .Net Core 3.0 is going to be the latest version of .Net Core and it will have more features than .Net Core 2.2.
Developers can install the .Net core runtime packages and also the SDK in the supported Linux Distro and quickly get started with developing applications on Linux using C#.
The developers do not have to rely on Linux for programming but they can develop the application on Windows using Visual Studio and quickly deploy on one of the supported Linux Distro. This makes development easy and fast.
It is surprising how plenty of packages that were developed keeping .Net Framework in mind is getting quickly supported on Linux as well.
If you wish to start C# Linux, .Net Core is hands down the best option as it is officially supported by Microsoft and it is also opensource. This will help developers to leverage a great many functions and features that come with developing C# applications and also benefit from the open source and free nature of Linux.
C# Linux is a very good development platform as it is rapidly growing today. It is quickly becoming the choice of platform for new and independent developers as it can easily leverage the open source community from Linux and .Net. We can develop applications for Android using Xamarin, we can develop in Linux with powerful IDEs such as MonoDevelop.
Finally, we have .Net Core as the offical .Net Framework that can work on Linux also. With that all said, we can take this with a grain of salt because .Net Core does not work very well with some Distros and versions in specific distros. The developer has to make the right choice to pick the right technology stack to work with and make things work. That said, it is not altogether very difficult to get started with Linux C#.
If you have any doubts, please let us know in the comments below. For more such awesome posts stay tuned to TecKangaroo.