Live data from Hacker News

Lessons Learned while Converting from ASP.NET to .NET Core

stackify.com

71–79 of 79 posts

Re: Lessons Learned while Converting from ASP.NET to .NET Core

#71

Earlier quoted context omitted.

That's great, but it belongs in the framework. I'm incredibly disappointed by that decision.

I disagree, there is too much in the framework which ends up stuck there for ever, bloating the whole system. System.Drawing is a good example, if you read the msdn docs it is clearly not supported on ASP.Net or from a Windows Service. Libraries like imaging should be a nuget package.

The fix to "System.Drawing is not cross-platform" isn't just deleting it. It's to rewrite it so it is cross-platform.

Re: Lessons Learned while Converting from ASP.NET to .NET Core

#72
post #57

It's depressing to me that no talk about .Net Core even bothers to mention desktop apps. Winforms and co aren't even on the radar. I guess I'm stuck in the past.

Microsoft is building their own new desktop apps on Electron. That tells you all you need to know.

Re: Lessons Learned while Converting from ASP.NET to .NET Core

#73

Earlier quoted context omitted.

I do agree. When I spoke to one of the guys there a while back though they said they simply had too much on their plate at the time and were hoping the community would kick in and help.

Look. People are voting me down, probably because they disagree with me. Let me explain where I'm coming from. There's two types of programming ecosystem: 1) The wild west world. where there's no good tooling (IDEs, debuggers, etc), all libraries are provided by hundreds of random individual developers and of varying quality, vital tools (such as build systems) are a constant juggle of whatever's trendy at the moment…

> If you want environment 2), you have exactly one choice: .Net.

A JAVA guy could probably make a good selection of corporate-supported frameworks that work as seamlessly as .NET.

And then, there's the Apple world, with their well designed mobile and desktop libraries, and a hot new C#-like language... Just saying.

Re: Lessons Learned while Converting from ASP.NET to .NET Core

#74

Earlier quoted context omitted.

Look. People are voting me down, probably because they disagree with me. Let me explain where I'm coming from. There's two types of programming ecosystem: 1) The wild west world. where there's no good tooling (IDEs, debuggers, etc), all libraries are provided by hundreds of random individual developers and of varying quality, vital tools (such as build systems) are a constant juggle of whatever's trendy at the moment…

> If you want environment 2), you have exactly one choice: .Net. A JAVA guy could probably make a good selection of corporate-supported frameworks that work as seamlessly as .NET. And then, there's the Apple world, with their well designed mobile and desktop libraries, and a hot new C#-like language... Just saying.

Java might have the framework(s), but where's the tooling? Java doesn't have a single decent IDE.

The thought that Apple's Swift might actually come the closest to what I want after .Net occurred to me, also. Ugh.

Re: Lessons Learned while Converting from ASP.NET to .NET Core

#75

Earlier quoted context omitted.

> If you want environment 2), you have exactly one choice: .Net. A JAVA guy could probably make a good selection of corporate-supported frameworks that work as seamlessly as .NET. And then, there's the Apple world, with their well designed mobile and desktop libraries, and a hot new C#-like language... Just saying.

Java might have the framework(s), but where's the tooling? Java doesn't have a single decent IDE. The thought that Apple's Swift might actually come the closest to what I want after .Net occurred to me, also. Ugh.

https://www.jetbrains.com/idea/

Seriously, at this point, Jetbrains IDE-s are better than Visual Studio.

Re: Lessons Learned while Converting from ASP.NET to .NET Core

#76

I recently built a web app with the new dotnet core . the changes were not so bad, I even found that the docs were nicer than the ones you find for the "old" asp. After having to configure camalCase for json a couple of times I like the new default. But migrating an existing app at this point is out of the question, when I no longer need to have nugget packages with rc in the version name we might do it.

If you're talking about project.json, it's already dead :/ http://xoofx.com/blog/2016/05/11/goodbye-project-json/

No I'm talking about the version numbers themselves, things like: 1.0.0-preview2-final I will not take a working(and money-making) code base and migrate it to a platform where that is the version I need to use.

As for project.json. I actually liked using JSON over XML, but it's a personal preference thing, can't really make a case that it's better.

Re: Lessons Learned while Converting from ASP.NET to .NET Core

#77
post #42
post #31

Earlier quoted context omitted.

It isn't replacing IIS, and they're very clear that you almost certainly shouldn't be exposing Kestrel to the internet without going through something like nginx or IIS. Kestrel does the bare basics of a web server, it goes a little bit further than the dev servers built into plenty of other language's web frameworks.

> very clear that you almost certainly shouldn't be exposing Kestrel to the internet without going through something like nginx or IIS. Why is that? Will you still have the performance benefit of Kestrel if you use IIS in front of it? How would that work?

The same reasons that Python, Ruby, and Node are almost always reverse-proxied by a "bigger" web server. The "closer to the metal" server handles things like virtual hosts, load balancing, black lists/white lists, throttling, speaking to the kernel-layer about low level IP port specifics, while the "closer to the language" server deals with the realities of your business logic and application code.

That separation of concerns between two web servers in a reverse-proxy has become a very useful mainstay "Production best practice" in the Linux/Unix world, so it's nice to see Kestrel follow the larger trends there. It makes it easier to use Kestrel in most Linux/Unix deployments, but some of the reasons that it became best practice apply back to Windows. For instance, the principal of least privilege applies in that the application web server can run in a much more isolated process space than the kernel-level web server and the service boundary to secure between them in a reverse-proxy scenario is "just HTTP".

As for performance, IIS is a rather good reverse proxy and efforts to make it better for Kestrel have benefited Node, Python, and Ruby hosting on Windows, as well as vice versa.

Re: Lessons Learned while Converting from ASP.NET to .NET Core

#78
post #57

It's depressing to me that no talk about .Net Core even bothers to mention desktop apps. Winforms and co aren't even on the radar. I guess I'm stuck in the past.

All of the work in .NET Core benefits ".NET Native". .NET Native is what powers the .NET stack side for Universal Windows Platform (UWP) apps.

WinForms has been considered deprecated since WPF and WPF is essentially deprecated for UWP. (In an interesting historical aside, in some ways the UWP is what WPF was promised to be way back when WPF was still codenamed Avalon.)

Certainly WinForms and WPF aren't going anywhere any time soon (both in terms of backward compatibility will be stable for a long time still, but don't expect any new things), but UWP is clearly the way forward for new apps and it is benefiting from the work going into .NET Core.

The Desktop App Converter recently released (nee Project Centennial) can help if you've got a big investment in WinForms and wish to slowly migrate to UWP, so you aren't necessarily "stuck" in the past if you do want to try to move forward.

Re: Lessons Learned while Converting from ASP.NET to .NET Core

#79
post #66
post #63

Earlier quoted context omitted.

That seems valid now. But developing two runtimes in parallel doesn't seem that great of an investment. Plus there are already dotnet core contributions regarding portability, for example from Samsung, it seems reasonable to think that 2-3-5 years from now dotnet core will power Mono as well.

You could be right, the current situation is unsettled, so I'm personally reluctant to predict anything much. The argument for Mono seems to boil down to the MS teams not having enough capacity to get .NET Core production-ready for mobile whilst doing everything else. I'm going to be learning ASP.NET Core, but not even think about possible production use until after the next release. We will probably continue to avoi…

Well, .NET Core is probably still 1-1.5 years away from being fully production "friendly". Common Open Source .NET libraries have to be ported, .NET Core itself needs to reach base class library parity at least as far as its scope is concerned (including things such as System.Drawing based on Skia# or similar), the tooling around it needs to mature.

Anything outside of ASP.NET Core or small command-line tools is probably premature in 2016.

Post reply on HN