-
Notifications
You must be signed in to change notification settings - Fork 519
Create a C# Based SPA #963
Comments
@SteveSandersonMS @MarkPieszak @shanselman Food for thought. My dev team and several other dev teams I've talked to recently are all fed up with the complexity of Angular and React and are experiencing major declines in team performance as a result of Angular 2 (even more so than Angular 1 was) even after major training efforts etc. because of all of the moving pieces that are constantly breaking or do magic without good documentation etc. Extending mvc.net to build a full spa in C# is such an elegant solution that I think it would appeal to ALOT of people and the productivity and simplicity gains for a team would be undeniable. It would put MS right back in the game. |
110% agree @JohnGalt1717 , well said We're a MS shop that writes in house line of business apps, but like most don't have an Amazon sized budget. What we lose in productivity, means less features/capabilities in our business apps. There is no unlimited budget to deliver x,y,z at any cost. https://github.com/dotnet/corefx/issues/5766 https://github.com/xamarin/WebSharp Watch how fast this topic gets closed @coolcsh @terrajobst @migueldeicaza @Mike-EEE |
@FlightLevel I'm glad I'm not the only one that sees the Elegance of this! Yes web assemblies are the holy Grail. Until we can drop ie 11 etc support unfortunately it needs to be compilable to HTML. Bridget.net does what you're describing. You might want to take a look. This is the half way step to that that leverages MVC.net to generate the HTML/JavaScript automatically to run purely client side while supporting server side rendering for first load and SSO. It's a doable enhancement to MVC.net that would make .net developer vastly more productive than the competition and give ms a major market advantage which is exactly what they need right now to get developers back. Good will isn't enough. I hope this doesn't get closed a d it is taken seriously because as it stands we and many other firms I'm involved with are considering cutting bait with Ms and just going full node because the overhead is way less. Javascriptservices does nothing but add unneeded complexity. So just like windows itself, .net is facing an inexerable decline through this slow attrition unless something is done. It's like watching windows mobile all over again. Making MVC.net which as it is right now better and faster is a waste of time for serving web pages. (Great for api but again why bother knowing two languages when you can do it all in nodejs and just Chuck a ton of mini docker containers at the problems with node?) Ms has to do something drastically innovative. Creating an integrated server and browser based version of MVC.net is exactly what the doctor ordered. |
Thank you for the ping, @FlightLevel! To add a little more here, the core problem here is a business problem. One that was solved two-fold when MSFT acquired Xamarin last year. However, there still remains a costly divide between .NET and "web" that simply does not exist in a NodeJS/NativeScript/Plain 'ol JS solution. In the sake of keeping chatter (read: repeating myself over and over) low, I explain more here. |
@FlightLevel , MS already created and promoted a "WPF in the browser": "wpf/e" named "Silverlight" after (RIP). To do what you asking for, MS has to rollout its own client framework (client routing, http calls, validation, and etc.) and deal also with other things like module bundlers and loaders. As you I also would LOVE write web applications using only C# and XAML (I was able to do this with now"dying" Silverlight) but I really don't see MS going in this direction, albeit having two client framework mentors in it's trenchs ( @SteveSandersonMS and @EisenbergEffect) |
@ClaudioNunes we're closer than you might think. We already have a Mono port to WebAssembly underway. Seeing on how WASM is 20x faster than JavaScript (!), it might be worth looking into it just in case it catches on... oh, and it's already deployed in Chrome and FireFox. 😄 |
Great to see interesting discussion on this subject! I agree with most of the thoughts posted here, and overall, would personally love for us to build something along these lines. It's certainly something that various people have considered in the past, with a range of different approaches. I too have experimented with prototyping a C#-based SPA framework, have a lot of opinions on how it could work best, and generally agree it could be really effective. However, I can't personally make Microsoft actually build something like this, and am not aware of specific plans for it to happen.
I'm sorry but I am going to mark it closed, because this is an issue tracker for the JavaScriptServices code, i.e., where we track what work is actually going to happen in this specific repo. Like mentioned above, I do hope this sort of thing could happen, but if it does, it wouldn't be developed here in this repo - it would be a separate product. That said, you're totally welcome to continue the discussion here! I hope that seems reasonable. |
Thanks @SteveSandersonMS ! I appreciate you listening! How could we get this infront of the right people? Integrating this directly into MVC.net seamlessly would be so elegant... |
@JohnGalt1717 Since this is the second-highest-requested item on https://visualstudio.uservoice.com/forums/121579-visual-studio-ide, I suspect that the relevant level of management is already well aware of the demand. Whether they have plans to do something with this or not, I don't know. |
Excellently spoken (and closed), @SteveSandersonMS! 👍 And actually @JohnGalt1717, we can get you with a little more detail there: Nearly seven thousand votes... and counting. 😉 |
Actually, when combining all known/identified issues that are asking for this, the vote total is over forty-five thousand and is on its way to approaching fifty thousand. Here is the last known vote report generated around this issue (the first one labelled "Ubiquitous / Cross-Platform Client .NET"): http://blog.developers.win/2017/04/weekly-vote-report-for-friday-april-21-2017/ |
Wow. One would think that creating a seamless MVC.NET SPA would be #1 priority for @shanselman and crew with those kinds of numbers. IT could be so elegant and so compelling if done right that the market advantage would be enormous. |
You would not be alone in your thinking, @JohnGalt1717. Clearly. 😉 😉 😉 This would reduce the cost of creating a .NET solution that requires a web client. Currently .NET developers are saddled with two, incompatible languages that double the cost in development and maintenance. This is compared to NodeJS applications where JS is used exclusively everywhere for server, client, and native scenarios (hint: one code base is cheaper than two). |
100% And when you can write nodejs for your web and use javascript only and that directly goes to Ionic or other webbased mobile platforms for android, ios and even Windows now, why would you bother using C#? It is VITAL that MVC.NET is extended with full SPA and then native support. And MS has to put macs in the cloud for us to compile and deploy to the store against. Then you can easily know just C# with passing javascript knowledge and HTML. If you want you can add on XAML with Xamarin and you're done. And if they did this right it's seamless with C# to javascript compilation and the MVC.NET pages functionality that was just announced. One code behind file that rules them all. Server side pre-rendering as we get right now, and compiled to javascript for browsers once first page is loaded. Routing is already done so just have it compile to javascript. Break each folder into a separate bundle for size and speed. Volia. So Elegant. Way better than any node + angular approach for sure! |
Happy to have your support, @JohnGalt1717. 😄 Don't fret though... this is a business problem that will solve itself once organizations start using Node/JS exclusively for their solutions and ditch .NET altogether since it is cheaper to do so. I'm just the messenger yelling "ice berg straight ahead!" 😛 |
So am I!!! I can't believe that it's taken them this long to figure this out. They should have had betas out a year ago. |
Great to see this getting some attention https://youtu.be/eiG2nP2vTgY?t=43m13s |
@SteveSandersonMS THERE IS 100% interest in this! Please continue! I'm so ready to dump Angular et. al. and dev in pure C# with some HTML again. |
@SteveSandersonMS I'd love to see code behind methods in the mvc pages implementation and routing based on the mvc routing otherwise this is awesome! Totally sold! Please tell the people at MS to make this into a real deal and get this out the door. You'll absolutely kill it with this. Especially if you make this compile to native for mobile apps too as an alternative to ionic etc. |
100% agree here with @JohnGalt1717. It would suck, but using an HTML5 view system might be the way to go if you can get this to render in a native scenario as well. I've echoed John's sentiments here and give @SteveSandersonMS a big shout out for a MSFT super raise here. Also Mr. Sanderson, please consider opening up issues in your GitHub repo. While you might not be open to new bug reports and the like, it does offer a way for interested users to start discussions with your project. It's amazing that with how tied MSFT is to GitHub, that there haven't been efforts to improve the tooling and limited conversational featureset that GitHub provides. Threaded conversations (or really, conversations in general! think: forum) would go a long way towards improving engagement and community traction with projects, IMO. |
Hi folks, This issue has been closed for a bit, but here's an update in case anyone stumbles across this issue looking for a full stack .NET web development solution. I'm happy to share that today we announced that Blazor is now an official "experimental" ASP.NET project. Blazor is an "experimental web UI framework based on C#, Razor, and HTML that runs in the browser via WebAssembly". There's nothing to download yet, but the code is available and being actively worked on by the ASP.NET team (hopefully we'll have something for you to play around with soon!). We invite you to check out the action on the Blazor repo. Feel free to file issues or join the discussion on Gitter. Thanks! |
The Problem:
The proposed solution:
Why?
This would put MS head to head with everyone and give developers that adopted it a major competitive advantage at the same time, and drive developers back to MS in a big way if done right. You don't need Native support day one but it needs to be on the road map and the rest creates a simple SPA that uses standard things like bootstrap and kendo and allows dev in C# and only C# with HTML as the markup. That's HUGE.
The text was updated successfully, but these errors were encountered: