14 ms·
Introducing ASP.NET vNext
- li2 13y agoIf you are serious about your career path as software engineer stay away from windows technologies.
- abrudtkuhl 13y agowhy? seems to be a fine choice for tens of thousands of devs
- li2 13y agoyes, it is fine to be a janitor as well for thousands of thousands of people. Would you like to be one of them?
- Swinx43 13y agoYour troll-craft is weak. For your own sake move to another platform where such blatant attempts at trolling might yield a response.
- UK-AL 13y agoYou really didn't answer his question?
- guiomie 13y agoThis is the third comment I read from you on this page, and you really are useless to this community. Go back to your school books.
- Swinx43 13y agoI would most definitely like to also know why? There are many developers that work using Microsoft technology, everyone organisation does not build their services or products on open source.
- li2 13y agoLook at some job descriptions of some cool companies facebook/google... Do you see a simple word being related with windows technologies?
- UK-AL 13y agoBecause they are built on Linux? Fair few good companies built on .net Stackoverflow for one. I agree they tend to be hidden behind the scenes companies. But those companies can be nice companies to work for(Sane work hours, good benefits, not expected to work overtime etc).
- rbanffy 13y ago> Stackoverflow for one. That's no longer completely true. While the core continues to run on Windows, SQL Server and .NET, pretty much everything around it is Linux-based and without that additions, the system would be unable to maintain its current performance.
- UK-AL 13y agoAs far i'm aware that's the caching software. .NET is performant(And probably faster) than the common open source platforms like python, php, ruby. Any platform would have problems without caching.
- wfjackson 13y agoI remember they had to patch the OpenSSL bug so they are not using IIS for the SSL endpoint.
- Guvante 13y ago[Blizzard Entertainment uses .NET](http://us.blizzard.com/en-us/company/careers/posting.html?id=13000CE http://us.blizzard.com/en-us/company/careers/posting.html?id...) Unless you don't consider Blizzard a cool company. Not to mention Microsoft itself.
- 13y ago
- Goosey 13y agoLuckily .NET is no longer a windows technology.
- tomp 13y agoTechnically, Windows is no longer a windows technology, since Wine exists, but still it's mostly windows. Can you even run Visual Studio on another platform?
- Aaronontheweb 13y agoVisual Studio is still pretty dependent on Win32 / x86 under the hood - a lot of the UI was ported to WPF and more of the tooling, including the compiler, is being ported to C#. So no, I think VS for Mac / Linux is still a ways off. They're moving in that direction though - wouldn't be surprised if they bought Xamarin in order to make it happen.
- rbanffy 13y agoMicrosoft is still the one leading .NET, defining what .NET is and what technologies it includes (and which it doesn't). While Mono is a nice subset that runs on non-Microsoft OSs, .NET is pretty much a Microsoft-centric technology. You don't need to go further than the recent announcements and the excitement they generated among .NET users to see how dependent on Microsoft they are. It's Microsoft's show to run.
- daviding 13y agoWhat is a 'cloud-optimized library'? Does it mean 'small' or have I underestimated it?
- ahmelsayed 13y agoI think he is referring to running different versions with different CLRs side-by-side. It means Platform-as-a-Service friendly. Since in PaaS you usually don't own the machine, you just run code somewhere. You don't want to be tied in with is framework X installed on the machines or not. You want to be able to pull in what ever framework you like, as you would do with node.js for example
- daviding 13y agoThat makes sense - thank you. I sort of remember that the core CLR didn't really rev that much, in that it spent the longest time on 2.x, with only the data access technologies built on top changing what seemed like every other week. LINQ was the next nice additive. I don't recall exactly why now, but I know that the term 'strong naming' can still instill terror in me. I guess that all goes away if you can distribute a statically linked lump per app. The cycle continues..
- thwarted 13y agoI think "cloud-optimized" means "vaporware".
- DougWebb 13y agoFor a long time the CLR came in 'regular' and 'client' versions, where the 'client' version was a subset that didn't include server-type namespaces. There was also a Silverlight variant. These were pretty similar to the various JRE distributions, if you're more familiar with the Java ecosystem. A year or two ago Microsoft decided to get rid of the subsets because they didn't make sense anymore; "client-server" gave way to "distributed mesh" and it became perfectly reasonable for desktop application to expose a web service port in order to communicate with other apps. 'cloud-optimized library' sounds like a return of the subset idea, but going in other direction. It surely doesn't contain any of the WPF stuff that's used for creating desktop applications. It probably lacks other namespaces that are unlikely to be used in server applications too. I just hope they didn't cut too much out so that it's only usable for MVC/WCF/WebAPI servers. If I want to write my own low-level socket-based service, I hope I will be able to do that.
- slg 13y agoAs a .Net developer, I find all of the recent announcements from Microsoft really exciting. I just wonder if these type of things are enough to sway people's opinions regarding the platform. There is just so much baggage in the developer community when you say .Net or Microsoft (edit: as one of the three comments at the time of this posting proves). Are these moves just going to stave a potential exodus of .Net developers or will it actually lead to new developers picking up the language?
- ragesh 13y agoAs someone who recently moved from C# to working with Node, Angular and Python full time, the recent announcements definitely make me want to go back to using .Net again. I love where all of the new stuff is headed.
- UK-AL 13y agoI've worked with various languages C#, Python, Ruby, Objective-C(I was an iOS developer) but I prefer strongly typed languages for larger projects, and the refactoring tools that it allows for. Eventually I would like a completely statically typed inferred language, go mainstream(Aka Demand for it) C# is my best option atm.
- ragesh 13y agoI agree. My recent forays in to javascript have left me wanting to rewrite big chunks of my new app in TypeScript instead. :)
- malaporte 13y agoSeems pretty interesting. And official MS support for running the whole thing on Mono, right now, isn't that pretty big?
- edwinnathaniel 13y agoI'd say from capability perspective it's huge. But capability is half of the story. Tooling/ecosystems is the other half (re: MonoDevelop is still not up to the snuff).
- ragesh 13y agoThat's a fair point, but now you can develop in VS on Windows and target pretty much every platform out there. They've also announced official support for Cordova, and they have the whole Xamarin thing going on. VS already has Python support, and Node.js tools are also being added. This is starting to look like a pretty decent environment to work in.
- edwinnathaniel 13y agoI stopped using Windows for development platform for a while already. While Windows ecosystems are gaining momentum, it's just not there yet. Like you said it's just "decent environment", not better than what I use today.
- malaporte 13y agoYes. If only JetBrains could release an IntelliJ-based IDE for C#, that'd be nice.
- pionar 13y agoIt really wouldn't be that hard, Roslyn's out there for compilation, and doing things like Intellisense.
- edwinnathaniel 13y agoIDE probably one big important piece, but I love to have Maven + its ecosystem for .NET (NuGet is not there, far from it).
- Xdes 13y ago"ASP.NET vNext (and Rosyln) runs on Mono, on both Mac and Linux today. While Mono isn't a project from Microsoft, we'll collaborate with the Mono team, plus Mono will be added to our test matrix. It's our aspiration that it 'just work.'" I wonder whether we will be seeing a .NET web server for mac and linux. Hosting a C# MVC app on linux will be sweet.
- DougWebb 13y agoThey're already providing a .NET web server. That's the 'self-hosting' examples Scott shows in the article: when you run the application that way, it becomes a web server for your app. It's just like a Node.js application. For a production deployment on Linux I'd probably run the app using Mono on a localhost port, and run Apache in front of it with a reverse-proxy config pointing to localhost. BTW, if you're not a fan of ASP.Net MVC's style of web framework, take a look at Nancy[1]. It's much more lightweight, and can also run under Mono on Linux. [1] http://nancyfx.org/ http://nancyfx.org/
- alelefant 13y agoI'm really looking forward to the self-hosting features. I have a few client (Windows Forms) applications that would be so much better within the browser. Opening that door for client-side web applications where network connectivity is a major issue would be so helpful. However, there's 150 comments and no mention of the "vNext" name. Someone else must find the name silly!
- snuxoll 13y agovNext has been used for a while with ASP.NET and visual studio development. The next release is canonically called vNext (version next) until a formal name is given prior to release.
- Guvante 13y agoMaybe for Linux, very doubtful for Mac since the number of people running Mac servers is near zero.
- chris_wot 13y agoWhen will they be releasing ASP.NET vNext Compact Enterprise MVC Edition?
- Goosey 13y agoThis is extremely exciting. The lack of a 'No-compile developer experience' has been one of the biggest annoyances for me and my team. It actually has lead to influencing our coding patterns: since we can "refresh and see new code" for anything that is in the view templates (Razor *.cshtml in our case) we have become increasingly in favor of putting code there (or in javascript frontend 'thick client' code) to take advantage of not needing to recompile. It's not like recompiling is slow (maybe 5sec in our case), but it still breaks your flow and more importantly requires stopping the debugger if it is in use. In some ways the code has improved, in some ways it hasn't, but in either case it feels like the tail wagging the dog when you are changing how you structure code based on your tool's inadequacies. I'm equally excited for the intentional mono support and "Side by side - deploy the runtime and framework with your application". ASP.NET MVC and Web API are really pleasant and mature frameworks, but configuring IIS has always been really unpleasant and clunky.
- edandersen 13y agoYou are putting increasing amounts of code in your Razor views?
- nickstinemates 13y agoJust wait until they discover PHP :)
- roller 13y agoFrom my experience, the initial compile is fast, it's the app pool recycle and JIT on first page load that leave you in the hallway playing chair mounted sword fights. I'm hoping that with ahead of time compile option at least will give you some actual feedback as to what's happening. That'd at least be better than watching the browser sit there loading a page for while.
- Guillaume86 13y agoPutting code in razor views is a very bad idea, have you tried .NET Demon for continuous compilation? If you write tests you might want to consider NCrunch?
- TheRealDunkirk 13y agoYet another piece of mature web-development puzzle that Microsoft is trying to emulate. That's great, and good luck to them, but my recent efforts with trying to use Entity Framework suggest that this may not be a viable solution for a long time to come. I'm typing this to delay the effort of ripping EF out of my project, and do ADO.NET Linq-to-SQL. (I guess. Maybe it'll just be raw SQL at this point.) Unless someone here can answer this question? It's worth a shot... http://stackoverflow.com/questions/23528335/how-can-i-implement-a-rails-like-has-many-through-in-entity-framework http://stackoverflow.com/questions/23528335/how-can-i-implem... I miss Rails.
- kr4 13y agoYou should use .SelectMany along with .Where (not .Find). I can see an answer on SO that just does this.
- TheRealDunkirk 13y agoYou're dead on. This was the missing link for me. I'd seen .SelectMany() in examples of self-referential tables, but not as the main tool to traverse sub-child relationships.
- adamdavis 13y agoGood luck with that. For what its worth, in my experience, I've found .NET development to be less painful when not using Entity Framework.
- NicoJuicy 13y agoFor some things, EF can be paintfull, but i'd just use SQL queries instead if it takes to long.
- Swinx43 13y agoI have never been a fan of EF, mainly because my background is more on the database side. That said it has its place but to do everything blanket EF is not always a good idea.
- troygoode 13y agoFinally switching away from the horrible XML-based CSPROJ files to a more sane JSON format (that hopefully doesn't require you to list every. single. file. individually) is the feature I'd be most excited about if I was still using .NET. I recall CSPROJ files being the primary source of pain for me as I started to transition out of the Microsoft world and into the open source world, as it prevents you from using editors like vim & emacs if you're working in a team environment.
- guiomie 13y agoCan you elaborate on why a json format would be better for a csproj ? I have issues with the .csproj also, but I don't think json would fix anything, my issue is usually with visual studio and the confguration manager not applying changes...
- malkia 13y agoFor me - it'll be reading it. I have to deal quite often with "Unload Project file" in MSVC IDE, edit by hand, "Load again" - because no matter how good the IDE is (and Visual Studio is a good IDE overall) there are lots of edge cases where it fails (merging multiple settings per project / per configuration / etc.)
- ghuntley 13y agore: readability project.json (.csproj/packages.config/nuspec file replacement) has been unveiled: https://github.com/aspnet/DependencyInjection/blob/dev/src/Microsoft.Framework.DependencyInjection/project.json https://github.com/aspnet/DependencyInjection/blob/dev/src/M... re: load/unload process VSCommands Pro Extension adds the ability to right click on a project to automate the unload, edit, reload cycle and offers editing inline. http://visualstudiogallery.msdn.microsoft.com/c6d1c265-7007-405c-a68b-5606af238ece http://visualstudiogallery.msdn.microsoft.com/c6d1c265-7007-...
- troygoode 13y agoI personally find the human readability of JSON to be superior to XML in this kind of configuration scenario, but I think what I really meant to say was that switching to JSON hopefully provides them the opportunity to redesign the file format from the ground up to be more sane. My specific hopes: 1) That the new format will be more convention-over-configuration based and not have to be 100+ lines for a default project. 2) As I've mentioned in the parent post, I hope that you don't have to list individual files in the equivalent of <ItemGroup> blocks - you should instead only need to add an exceptions to whatever convention is being applied.
- bananas 13y agoI've been through EVERY ASP.net update on every version of .net and every MVC update from CTP2 onwards, dealt with WWF being canned and rewritten, moved APIs between old SOAP stuff (asmx), WCF and WebAPI and rewritten swathes of ASP VBnand C++ COM code, ported EF stuff to later versions and worked around piles of framework bugs including the MS11-100 fiasco. That and been left royally in the shit with silverlight. Not one of the above has actually improved the product we produce and are all reactionary "we might get left in the shit again" changes. I'm really tired of it now.
- troygoode 13y agoWhy are you still using it?
- bananas 13y agoAs for the company, we've got over one million lines of c#. As new subsystems appear they are being moved to other technologies (Angular + Java + Jersey + maven + guice + Jetty + Redis + postgresql). This takes time. The amount of code is tiny compared to the old implementations and the time to market and reliability is awesome. As for me, because I'm in charge of the migration. When its gone I'm not even going to go to the funeral.
- troygoode 13y agoFair enough. :-)
- _random_ 13y agoUsing Java after C#? I am so sorry for you :(. You could've at least chosen Scala.
- bananas 13y agoWhy? We write less code in Java than we did in C#. To be fair NetBeans writes most of it. I still write C and don't hang myself because it doesn't have generics!
- slipstream- 13y agoDoes anyone else spot the irony of an MS guy using Chrome?
- pistle 13y agoYou should see all the non-MS things that shanselman uses and is aware of. But shhhhhhh, Microsoft would have his hide if they found out. If you think there is irony, you haven't been paying attention. It's the point of what's been happening. This ain't your older sister's Microsoft.
- pionar 13y agoIt's actually very common for MS devs to use Chrome. I was at a talk given by Mads Kristensen recently (PM for ASP.NET Tooling), and he used Chrome.
- lavamantis 13y agoGood catch, but not terribly surprising. Developers don't use IE except when they have to test for non-standard behavior. IE hopefully will soon go the way of the dodo - I no longer see any reason for it to exist.
- ToastyMallows 13y agoI guess you weren't aware that Hanselman also owns an iPhone :P I'll also echo what everyone else said. I feel the only reason IE is staying around is so I have something to download Chrome with on a fresh installation.
- adrianlmm 13y agoI'd really like that the next ASP MVC comes with full Owin support.
- PallarelCoedr 13y agoIt does, but internal abstractions have been rewritten. Webforms view engine won't be ported I reckon.
- adrianlmm 13y agoIn MVC5 the security layer works on OWIN, I'd like to see the rest of the stack like routing also decoupled from modules and handlers, fingers crossed for MVC6.
- kr4 13y ago> ... your choice of operating system, > we'll collaborate with the Mono team, plus Mono will be added to our test matrix. It's our aspiration that it "just work This. is. superb! I love developing on VS with ASP.NET, and I love *nix tooling (ssh is pure fun), I was secretly hoping for this to happen.
- cuong 13y agoHow realistic is it to use a self-hosted OWIN server running ASP.NET vNext on Mono? What can we expect in terms of performance? I was always under the impression it was pretty far away from being a viable option, Microsoft help or not.
- giulianob 13y agoI started a thread on the Mono mailing list a couple months ago about web hosting performance on Mono ( http://mono.1490590.n4.nabble.com/FastCGI-Performance-td4662454.html http://mono.1490590.n4.nabble.com/FastCGI-Performance-td4662... ). It turns out the default implementation for FastCGI is really slow. Some members of the community have created a few different implementations. The fastest one currently is a thin wrapper over evhttp which can handle over 100k requests per second on a simple benchmark. There are other discussions as well about how to improve performance.
- mountaineer 13y agoTomorrow is my last day as a professional .NET developer, nothing here to make me think twice about saying goodbye.
- konstruktor 13y agoI can hardly imagine a more effective developer advocate than Scott Hanselman. He seems to be doing more good for Microsoft's reputation among developers than anybody else. Of course he out-HNed the official msdn article. For those not familiar with his name, here is some of his other stuff: http://www.hanselman.com/blog/MakingABetterSomewhatPrettierButDefinitelyMoreFunctionalWindowsCommandLine.aspx http://www.hanselman.com/blog/MakingABetterSomewhatPrettierB... http://www.hanselman.com/blog/ScottHanselmans2014UltimateDeveloperAndPowerUsersToolListForWindows.aspx http://www.hanselman.com/blog/ScottHanselmans2014UltimateDev...
- deleted 13y ago[deleted]
- robertlf 13y agoSo glad I'm no longer a .NET developer. Every year it's a new razor blade.