DEV Community

What Is .NET Core? (What Makes It So Special?)

James Hickey on October 18, 2018

Note: See canonical post at my blog With all the buzz around .NET Core I figured that I should tackle some of the fundamental issues that make .NE...
Collapse
 
jfrankcarr profile image
Frank Carr

While I like .NET Core for the most part, there are two things I don't like.

I don't care for VS Code primarily for one reason, no customizable toolbar and the stubborn insistence of its developers not to create one. It also lacks a lot of modern conveniences out of the box, sometimes reminiscent of 1.0 GUI development tools in the 90's.

Another big limitation for me on .NET Core is the lack of support for a desktop GUI. While web based and console apps work fine for some projects, I have a need for working with a wide variety of hardware devices such as barcode scanners and PLCs in a manufacturing environment. I've read that 3.0 would address this limitation.

Collapse
 
kspeakman profile image
Kasey Speakman • Edited

I use and strongly prefer VS 2017 (not Code) for .NET Core dev. It has complete support for Core nowadays. I mostly do web APIs or services with .NET Core, so console apps are all I really use. But there are a few cases where I need the desktop tech -- access to hardware or interop with other software on the machine. Having to wait until .NET Core 3 for that stuff.

Collapse
 
jamesmh profile image
James Hickey

Thanks for you feedback Frank!

I personally have no need for a customizable toolbar. I find most of the shortcuts / command pallet (by pressing cntrl+shift+p) very productive (just like Sublime Text).

I'm not sure what you mean by saying it lacks modern conveniences? It has a terminal right inside the editor, supports tons of languages (especially given the availability of extensions), natively integrates with git, etc.

I'd be interested to know what conveniences you find are missing, specifically?

I agree about the lack of desktop features. You are able to build .NET Core desktop apps using QML - if that floats your boat lol.

But version 3 should support Windows desktop apps (as you said). That should be pretty cool!

Collapse
 
jfrankcarr profile image
Frank Carr

I'm mainly comparing it to VS 2012 and above, especially 2017. Probably because I've used VS for so long, I find VS Code lacking.

Also, I actually prefer using Notepad++ for a lot of quick things, like editing HTML or modifying a microservice when I don't have VS 2017 installed, because of that darned toolbar. It irks me every time I use Code. I can understand the attraction people who came from a purely text editor and CLI background have for it. But, since I've been writing code using Microsoft tools that have been continuously improving for over 20 years, it almost seems like a step back to the days of writing MASM and C for DOS.

Collapse
 
yaser profile image
Yaser Al-Najjar • Edited

.NET core can target .NET standard... same goes for Xamarin, so writing cross platform apps using .NET standard libraries is really simple and fun !

Collapse
 
rhymes profile image
rhymes

Interesting. I abandoned .NET eons ago when open source or cross platform at Microsoft and in the community were frowned upon. Glad it changed so much.

They'll have a tough job increasing the user base, there are so many options to write high performance apps. Hopefully the wealth of knowledge and libraries will help.

Collapse
 
jamesmh profile image
James Hickey

Microsoft has come a long way. I was on the verge of switching to PHP or something like it. But .NET Core changed that for me.

Microsoft in the past few days just "open sourced" all of it's 60,000+ patents. That's huge! Other organizations can now share their patents. Pretty amazing.

As far as performance goes, you can check out these benchmarks. You'll see that ASP .NET Core is #7 overall. It's clocking in at almost 300,000 requests per second on this particular benchmark, which is supposed to be a representation of a real-world scenario.

Quoting their site:

This test exercises the ORM, database connectivity, dynamic-size collections, sorting, server-side templates, XSS countermeasures, and character encoding.

And that's with C# - love it 🎉

Collapse
 
rhymes profile image
rhymes

Yeah, although no organization is perfect my opinion changed quite a bit (for the better):

  • TypeScript (Anders Hejlsberg is a great language designer), Visual Studio Code and other projects they open sourced
  • the acquisition of GitHub while it can make someone squirm it's a signal of how serious OSS is for them now
  • the patents you mentioned

.NET has always had good or great performance, from the start and F# seems super interesting to me (and probably a reason I would consider for re-learning .NET :D).

As far as performance goes, you can check out these benchmarks. You'll see that ASP .NET Core is #7 overall. It's clocking in at almost 300,000 requests per second on this particular benchmark, which is supposed to be a representation of a real-world scenario.

Well, as all benchmarks go, they never are real world but it's definitely an impressive placement. .NET probably needs to convince people to migrate to it instead of Go, in terms of marketing I mean.

Microsoft is hiring a lot of Linux and Docker experts lately:

Thread Thread
 
kspeakman profile image
Kasey Speakman

+1 F#

Collapse
 
justageek profile image
Brian Smith • Edited

Given all this info, can anyone suggest the necessary tools to install on Mac OS to get my feet wet with with C# for game development, I've never used C# or worked on games. I'm looking at haxe (haxe.org) and Stencyl (stencyl.com), but I've heard good things about games built using C#.

Collapse
 
jamesmh profile image
James Hickey

Sorry Brian, I have zero experience with .NET game development (other than using XNA Studio in school!)

I know there are a lot of people who are using Unity3D with Mono - but I don't think they'll be moving to .NET Core anytime soon.