What makes coding more "fun" is the .NET framework. It had its headaches, but its a really nice and polished framework for getting things up and running. Especially with web building. .NET 4+, C#, and Core are Microsoft's message to the development world that they hear us.
Here's hoping they continue with this trend.
That and C# is an ISO standard which is pretty cool.
1. Facing a code task.
2. Asking myself, should I reinvent the wheel or should I look for a library?
3. Google for libraries solving the task, open at least 5 npm/github tabs.
4. For every tab, I should make sure the library is not too big for my needs/popular/still being maintained/not too many open issues. -Closing the tabs that didn't pass this step.
5. Taking a look at documentation/examples to determine if it can solve my problem. -Closing the tabs that didn't pass this step.
6. Testing the library and see if I can make it work.
7. Implement it in my project.
It's a really different environment, and it has its advantages, it's just that Microsoft has spoiled me a little with their out of the box implementations.
Microsoft publish older versions of C# through ECMA, but that documentation is always behind the implementations (which are all now owned by Microsoft). The latest ECMA document is for version 5.0 of C#.
I'm also fairly exited for Blazor so I can write fullstack C#.
I'm curious, compared to what?
actually when I looked at .net core 1.0 I basically already tought it is abadonware, because of the new build system, because i wasn't a huge fan of c# and lot's of stuff just didn't worked, but since we needed to migrate our old WebForms application I somehow tought that before rewriting everything, it might be a good idea to look into it and it somehow clicked. c# is really moving fast and the recent additions even makes myself as a scala programmer feel more at home.
[0]: https://github.com/aspnet/JavaScriptServices [1]: https://github.com/aspnet/Announcements/issues/289
On the other hand, the standard library that .NET provides is superior.
From my experience, it's possible to deploy a .NET site with just a hand-full of 3rd party dependencies (if any).
https://dotnetthoughts.net/using-node-services-in-aspnet-cor...
That what made my decision to use dotnet core for web app
There's certainly something to be said for an easy way to get running quickly, when you can't be bothered with an SPA.
...but it doesn't scale. :)
(^ the comparison is more apt than you might imagine; razor pages are the 'one file per logical page' model for asp .net core, and very very reminiscent of webforms, and all the legacy that carries).
I'm just saying: Microsoft have done some excellent work with .net core and kestrel but that doesn't mean every idea they have is a good one)
btw. razor pages doesn't mean that you need to write spaghetti code. I've seen tons of MVC code where the view layer got way too much code.
most of the time it will help if people actually only put the bare minimum of code into the view layer. (only if/for/etc where absolute necessary)
If I was under the impression the ASP.NET team was on the ball and agreed with the decision they were making, I'd be more prepared to run with it... but I'm not.
For example, there's an open github issue discussing the concerns people have raised about the ASP.NET team suggesting that razor pages are better than MVC.
Read it yourself and you'll be extremely familiar with the various opinions on the matter:
https://github.com/aspnet/Docs/issues/6146
This, is again, as I said before, an example of not everything that (specifically the ASP.NET team) does, being a good idea.
as said my background was basically 5 years or more working in mvc and even partially working on the framework itself. and I would say that Razor Pages is a good starting point for any application.
currently I think both, Razor Pages AND MVC is important, but it's so easy to use both, so there is no problem. If something grows to much you can easily split it into the old traditional MVC paradigma, but actually most of the time I migrate directly to a web api instead of dotnet core mvc. (at the moment I have 2 mvc controllers, which are basically the same as web api 2 endpoints (no view/no model))
also razor pages is kind of MVVM which is common more (i mean in the javascript world more stuff is mvvm than mvc, not sure why java/c# can't follow that aswell?!) and more for UI related frameworks (which razor pages of course is) but most people didn't realized that on this github issue..