+ 5
Can I use c# only on windows?
I am a beginner, I have researched that if you use c# you are tied down to Microsoft. What does that mean exactly? Does that mean that I can code c# only on a windows computer? Does it mean that I could code c# on a none windows computer but I will not get all the features that I would get if it were a windows computer? Any feedback would be greatly appreciated, thank you
10 Réponses
+ 4
For Windows C# can be used with the .NET framework to develop Windows applications(web/desktop/mobile).
For Linux based O.S. there is GtkSharp.
Microsoft also provides .NET Core[3] libraries ( which runs on Linux and Mac as well) , which allows users to develop and deploy applications on non Windows platform.
If I read correctly, then C# can also be used to develop iOS apps using Xamarin
C# can be used as scripting language in game engines such as Godot[5] and Unity .
So there are a lot of (non Windows) things that can be done with C#.
+ 3
Target Android, iOS, and Windows from a single code base. You can build native apps for Android, iOS, and Windows by using C#.
C# is multi OS, easily compiles to other OS's, not just Windows.
+ 3
Avoid using NET framework for new projects. They have replaced it with NET Core or now simply .NET. Now upto version 6. Which has project types targeting app platforms.
ASP. Net targeting Web. Can be run on Linux, Mac, and Windows. Use Blazor for easy GUI development using C#.
Maui which was not finished for v6 but coming Q2 this year. Maui let's you write native GUI apps for Windows, Mac, IOS, and Android. (I have heard for Linux as well but have received mixed messages) Maui is replacing Xamarin which is still there only targeting Android, IOS, and Mac.
Console apps target all platforms also.
There is also WPF, Winforms, and UWP which only target Windows.
.NET has a yearly release cycle so v7 will release end of this year. V8 the year after. The even versions are LTS but I would not worry about the support while learning. Thus use the latest. Upgrading versions is easy unlike some other languages. So dont worry too much about that.
Check out iamtimcory on YouTube for some great C# resources
+ 3
Since you are a beginner you should start with a Console app.
Building the other projects adds more complexity than is necessary for beginning. If you want GUI you generally need to learn other languages too like xaml for desktop or HTML/css for Web, for more advanced websites you may need JavaScript as well.
All your code you write for the Console app can be reused anywhere anyway if you are worried about that.
+ 2
As of the moment if you use Visual Studio on Windows you get a better experience than Mac, I have heard they are working to fix it, but I don't think they are up to par yet. That said, you can still get a good experience from it.
Visual Studio Code is identical on Windows, Mac, and Linux.
Note the difference between Visual Studio and Visual Studio Code. One is a IDE the other is a fancy editor. VS code is free, Visual Studio is free with a community license, which basically says you need less than 5 devs on your team and or you earn less than a million dollars. That is its basically free.
I would strongly recommend Visual Studio as it makes working in .NET much easier. But there is no reason go cannot install both. In some workloads using both can be better.
+ 1
Thank you but is using c# on non windows computers not as fully featured as using on a windows computer? Similar to AIRPODS. You can use them on non Apple phones but you do not get all the features that are available for the Apple phones? Any feedback would be greatly appreciated, thank you
+ 1
Thank you, would you reccomend me going for c++ first or c#? Any feedback would be greatly appreciated, thank you😊
+ 1
If you want to learn c# in the future, it's better to start with c#. You don't have to rack your brains.
But I started learning with c++. Then I learned c#. In my experience, c++ allows you to understand how things work in c#.
+ 1
I found an article about it. You can read more here: https://u.to/GP8HHA
Everything is written in Russian there, you can turn on the translator and read. Everything is explained there.
0
No, .net core(.net) is multiplatform. So is mono. windows only libs like wpf winforms etc would be windows only. also the win32 api