Live data from Hacker News

.NET Core 3.0

devblogs.microsoft.com

61–70 of 183 posts

Re: .NET Core 3.0

#61
post #46

It would have been great if it allowed to make .NET Desktop apps for macOS and Linux, in addition to Windows.

We're trying to do that over at https://github.com/AvaloniaUI/Avalonia if you're interested. Doesn't have MS (or any other company's) backing, and is still in beta, but quite usable for creating x-plat apps. You can see some projects built on it here https://github.com/AvaloniaUI/Avalonia/wiki/Projects-that-ar...

Re: .NET Core 3.0

#62
post #46

It would have been great if it allowed to make .NET Desktop apps for macOS and Linux, in addition to Windows.

Scott Hunter today presented a Blazor based Electron App in the .NET 5 timespan.

I am not the biggest fan of HTML, but considering the maturity of that ecosystem, design tools and knowledge among designers, that could be a very valid move.

Re: .NET Core 3.0

#63
post #35

Earlier quoted context omitted.

C# has very minimal boilerplate for a lot of uses. I can throw together a simple CRUD UI app in WinForms in well under a day. Visual Studio handles writing all the data binding code for me, code that I'd have to write myself in any other language. Using one of the enterprise frameworks, sure, those all have boilerplate, in any language, especially the older frameworks. And for some tasks, the amount of boilerplate is…

Under a day ?? Make an app with pyqt5 or kivy and it's under an hour...

It would be cool if you had a demo to show this off. That way you can add a lot more heft to all of your arguments about this subjects, and we can all learn something from it.

Re: .NET Core 3.0

#64
post #13

List of performance improvements is mind-boggling: https://devblogs.microsoft.com/dotnet/performance-improvemen... How could a mature standard library / frameworks have so much performance gains to be had?

And in 2.0 https://devblogs.microsoft.com/dotnet/performance-improvemen...

And in 2.1 https://devblogs.microsoft.com/dotnet/performance-improvemen...

3.0 has new JIT capabilities like CPU hardware intrinsics; devirtualization; Span etc which in turn enable new techniques in the standard library.

Though 3.0 is a vast set of improvements compared to the previous two

Re: .NET Core 3.0

#65

Sorry for a basic question, can this be used to make desktop apps across platforms?

Yes - while WPF and Windows Forms are still Windows-exclusive, there are several cross-platform UI libraries for .NET Core, like Eto.Forms (https://github.com/picoe/Eto) and Avalonia (https://avaloniaui.net/).

It's also possible to build an Electron wrapper around an ASP.NET Core web app: https://github.com/ElectronNET/Electron.NET

Re: .NET Core 3.0

#66

Non nullable reference types are so awesome! I'd love for the C# team to publish some posts on the creation of this feature. Most of the non nullable type systems exist in functional, or pseudo functional languages (Rust has rather functional semantics). It's very neat to see a honest to god mutable object oriented language implement non nullability. They probably had some interesting implementation challenges. Also,…

PHP has non-nullable reference types!

There are some really good write-ups by the C# team on the creation of non-nullable types and how it's implemented but my google-fu is failing me on it.

It's obviously a bit a of hack involving annotations/attributes but for the end user the result is pretty seamless.

Re: .NET Core 3.0

#67

Earlier quoted context omitted.

Would be really nice to see performance comparisons against a chromium equivalent for the same UX.

Chromium is naturally bloated and heavy, what would be the goal in comparing it to WPF

The goal would be to challenge your belief.

If you were knowledgeable, you would know for example that chromium 2D rendering engine (skia) is the current state of the art. Benchmarking fps, vsync stability, input latency, etc would be enlightening. There are order of magnitude more engineers working at optimizing chromium than WPF.

Re: .NET Core 3.0

#68

Sorry for a basic question, can this be used to make desktop apps across platforms?

The short answer is yes.

How you approach this is very dependent on where you're coming from (i.e. existing solution) but with WPF and Winforms now part of Core 3.0 you can then build a native, single exe by specifying the target architecture (ex: win x64) and then bundling the framework with your app. They do some trimming as well (i.e. tree shaking) to get the exe size down but have admitted it's still in early stages and sometimes drops required framework components. You can fix this by adding an explicit reference to the assembly in your project source though...

There are a million ways to get onto different platforms though, ranging from the above, to xamarin to electron (via blazor), to net-new apps, etc.

Re: .NET Core 3.0

#69

Earlier quoted context omitted.

Would be really nice to see performance comparisons against a chromium equivalent for the same UX.

Memory usage difference should be something like an order of magnitude better with .NET. It's not a direct comparison, because the features aren't quite the same, but the Electron Teams app uses about 10x more memory than the relatively heavy WPF Skype for Business client that it's supposed to replace.

Would be nice to get a source for this interesting claim.

But I'm far more interested by real world user facing performance metrics such as: FPS, vsync consistency, input latency and comparing cpu and gpu usage (thus allowing to infer battery usage).

Re: .NET Core 3.0

#70
.NET Core 3.0 will be available with RHEL 8 in the Red Hat Application Streams, after several years of collaboration with Red Hat.

That's a big deal! Nice.

Post reply on HN