Hacker News new | ask | show | jobs
by untog 3983 days ago
I worked with .NET for years and never made a desktop app. C# is a great language to work in when making backend services for websites, IMO (even though there's a whole load of crap that comes along with the framework).

These days I've moved on, but .NET is far from a desktop-only thing. Particularly when you can make iOS apps with Xamarin, etc.

1 comments

>C# is a great language to work in when making backend services for websites, IMO (even though there's a whole load of crap that comes along with the framework).

Exactly how I feel. I've been working professionally with C# professionally for over a year now doing a lot of backend stuff for websites and it's great. .NET shares a similar philosophy with Python in that it's a "batteries-included" language. Need a REST endpoint? I can have one up and running from scratch in under 5 minutes with WebApi. Inter-process communication? Let me create an MSMQ instance - done! The only downside is what you mentioned - whole loads of crap that come with the framework. I hate IIS for this reason (but love how easy it is to deploy web services). We're currently working on an HTML5 replacement for our current Silverlight stack (lol) and wanted to go with Node.js instead of IIS, but we really want C# on the backend and don't want to hack it. From our point of view, JavaScript is great for the front end but completely idiotic for the amount of work we do on the backend. Type safety and static compilation is essential for us.

Others have mentioned this but they've really migrated away from an IIS-only approach. .NET 2015 has really tried to emphasize that you don't need IIS. Take a look at some of the .NET core documentation. They're officially supporting Linux and OSX when it's released (tentatively Q1 2016...so far away) but it will "just work" out of the box.

http://blogs.msdn.com/b/dotnet/archive/2014/12/04/introducin...

Honestly I've found getting up and running with Mono and Kestrel really simple with the latest beta. I ran from Visual Studio without really doing anything and then switched to OSX and it worked perfectly. You still need to rely on some mono classes as of now for things that haven't been open sourced (Xml streams....) but even the mono implementations worked just fine.

It's not really clear what you're trying to accomplish. Are you running a central server, or local server for a desktop app?

In addition to Owin self-host, you might want to check out Edge.js, which lets you host .NET under Node: http://tjanczuk.github.io/edge/

You don't need to use IIS for hosting anymore, look up Owin self hosting. You'll have to build some of the stuff IIS gives you yourself, but the speed is better
Look into Nancy for some really interesting options. .net http services without IIS. Increasingly, there's something for everyone.