Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Blazor Roadmap for .NET 5 #21514

Closed
11 tasks done
mkArtakMSFT opened this issue May 5, 2020 · 38 comments
Closed
11 tasks done

Blazor Roadmap for .NET 5 #21514

mkArtakMSFT opened this issue May 5, 2020 · 38 comments
Assignees
Labels
area-blazor Includes: Blazor, Razor Components Done This issue has been fixed roadmap
Milestone

Comments

@mkArtakMSFT
Copy link
Member

mkArtakMSFT commented May 5, 2020

This issue is going to list the big deliverables the Blazor team is considering for ASP.NET Core 5.0 release. While we hope to deliver all of these issues, there are still many unknown and things will change as we go. Please note, that these are the major investment areas and in parallel work will be happening to bring in many smaller fixes and enhancements including community contributions.

Preview 7

Preview 8

RC1

Potential cuts

@mkArtakMSFT mkArtakMSFT added area-blazor Includes: Blazor, Razor Components roadmap labels May 5, 2020
@mkArtakMSFT mkArtakMSFT added this to the 5.0.0 milestone May 5, 2020
@JvanderStad
Copy link

Link to Required parameters to blazor components is pointing to wrong issue. I guess it should be
#11815 ?

@danroth27
Copy link
Member

@JvanderStad Thanks for pointing that out! Should be fixed now.

@danroth27 danroth27 changed the title [WIP] Blazor Roadmap for .NET 5.0 [WIP] Blazor Roadmap for .NET 5 May 17, 2020
@EntityFX
Copy link

EntityFX commented May 27, 2020

Will Blazor (Server Side) be available in future Mono implementations not only for net core runtime? For example, it would be great to launch Blazor (and other AspNetCore apps) in other cpu architectures where mono is supported.

@yugabe
Copy link

yugabe commented May 28, 2020

Go team! Great job already, hope it's gonna get even better with time!

@danroth27
Copy link
Member

Will Blazor (Server Side) be available in future Mono implementations not only for net core runtime?

@EntityFX We don't have any plans to support Blazor Server except on .NET Core. Blazor Server is based on ASP.NET Core, which is part of .NET Core. If there are architectures where you'd like to see .NET Core supported, please let them know by opening an issue in the https://github.com/dotnet/runtime/issues repo.

@berrat
Copy link

berrat commented May 30, 2020

Will there be backwards compatibility for QBasic? 🤪

Let's go Blazor 5.0 ! 🚀

#RIPjs

@KrazyTako
Copy link

KrazyTako commented May 30, 2020

Will there be any enhancements to the user management? It feels a little cumbersome having to create and redirect users to .cshtml pages in order to handle user logging in/out and user creation. Would be great if all of this could just be managed in Blazor components instead.

@danroth27
Copy link
Member

@KrazyTako We don't have any immediate work planned around user management, but we do our best to prioritize work based on user and community feedback, so please file an issue for any feedback you have in this area and we'll consider it.

@Sherweeen
Copy link

Sherweeen commented May 31, 2020

I am a big fan of Blazor WASM, and recently implemented an enterprise application with Blazor. There was tremendous functionality in component-based features, full C# and .Net code usage, a great experience! However, after loading the app with data, I'm having some issues, mostly in performance; that I'm now hesitating if to continue or to wait till a performance boost in the upcoming versions:

  1. In complex entities, a change in a data-grid current row, will take almost 5 seconds for re-binding the form controls to the new row! (I used INotifyPropertyChanged pattern in my entities) - but the Angular Implementation is doing it instantly.
  2. All of the 3rd party data-grid components (at least those I tested), are somehow immature and slow in some features and very slow in loading data and in in-cell editing, which is a prominent feature in enterprise applications; if you click in a cell, it takes roughly 3-4 second for the textbox to appear and get ready for the user input (Telerik, Syncfusion, ...).
  3. Ultimately, I made a benchmark, comparing speed for Wasm Blazor and Angular for executing a simple function having a series of calculation (mostly increasing value of a form-binded variable in some loops). For Blazor Wasm it took 2000 ms, while for the Angular it was just 25 ms! And that was a tragic result. Over 80x slower! (All test re-done with the recent official Blazor Webassembly version)

I have heard that with the AoT feature we will get just a 5x performance gain and even that with the overhead of increase in size of the app.

So please help and say if we may have good news in upcoming versions of .Net 5 or 6 in these issues?
Thanks

@JvanderStad
Copy link

Offtopic

Will there be backwards compatibility for QBasic? 🤪

Let's go Blazor 5.0 ! 🚀

#RIPjs

You can submit a pull-request for https://github.com/microsoft/GW-BASIC

@danroth27
Copy link
Member

@Sherweeen We are working on various runtime performance improvements for Blazor WebAssembly in .NET 5. Blazor WebAssembly currently runs on an interpreter based runtime, which has known performance limitations that we are working to address. We are also working with various component vendor to help improve the efficiency of their component implementations.

@punjabier
Copy link

punjabier commented Jun 2, 2020

@danroth27
Looking forward 5607 Directive support to be included

@199621616
Copy link

At present, a large part of the users who plan to adopt the blazor webassembly are transferred from the original WinForm, WPF, or react, angular, Vue developers, and many of the products developed are enterprise applications. If a set of multi tenant user management, registration, login and other security management mechanisms can be "out of the box", it will greatly speed up the application of blazor webaeembly.

@stephenstroud
Copy link

@199621616 Do you mean something like Azure B2C?

https://docs.microsoft.com/en-us/azure/active-directory-b2c/overview

@PylotLight
Copy link

@stephenstroud

While I have been able to achieve Azure auth for my wasm app, it's not included in the wasm template like it is for server Blazor, perhaps this is what is being mentioned, in order to make it easier to setup for a new project?

@danroth27
Copy link
Member

@PylotLight The Blazor WebAssembly template does have support for using Azure AD or Azure AD B2C, but the options are only available from the command-line currently, not from VS. VS should enable these options in a future update.

@lzinga
Copy link

lzinga commented Jun 8, 2020

@PylotLight You can see view some info about this in issue #21671. The current process to implement something like Azure AD B2C in Blazor Web Assembly is quite a process so hopefully the updates they mention will improve this process.

@mkArtakMSFT mkArtakMSFT changed the title [WIP] Blazor Roadmap for .NET 5 Blazor Roadmap for .NET 5 Jun 8, 2020
@PylotLight
Copy link

PylotLight commented Jun 8, 2020

@lzinga, @danroth27 Thanks for the info but it doesn't bother me :P
I was only trying to help explain what the dude above was asking. Of course it would be great to see that functionality included in the standard templates though =].

@pjmlp
Copy link

pjmlp commented Jun 10, 2020

@danroth27 While I understand the reasoning behind the roadmap decision, please take into consideration that after Silverlight, XNA, UWP (with its own .NET Flavor), EF6, WCF, .NET Native, C++/CX vs C++/WinRT, and plenty of other missteps, Microsoft has burned lot of developer love, and this influences the decisions we advise our customers on regarding technology adoption.

@lonix1
Copy link
Contributor

lonix1 commented Jun 10, 2020

@ pjmlp Your criticism is not without merit, but come on... Blazor (and WebAssembly in general) is the most surprising, exciting, awesome development in web tech - for AT LEAST 20 years! Roth, Sanderson and friends deserve our praise for making web development fun again.

And for magically improving our employability without learning anything new... think about that for a second!

And consider our .NET colleagues who've never done SPAs (angular/react/vue) - the aspnet gang just waved their magic wand and converted them from "backend devs" to "fullstack devs". Just like that... magic.


BTW: Very happy css isolation is planned. But please(!) add js isolation too. UI components that rely on js libaries (e.g. Bootstrap) should be able to declare/use css AND js within the component - otherwise the project becomes hard to maintain.

@pjmlp
Copy link

pjmlp commented Jun 10, 2020

@lonix1 I mentioned that I understand the reasons behind the change.

However I also wanted to pass the message that not everyone is happy with the ongoing changes from the last 10 years, which I am fully aware that Roth, Sanderson and friends aren't to blame, but they are in the position to pass the message up the chaing to Microsoft management.

The way .NET Core 1.0 => .NET Core 2.0 transition happened, landed me a project for a customer that decided to migrate some critical services from .NET away into Java and deploy them into Linux.

Maybe if he was happier, he would be willing to invest into .NET Core instead, as it was already quite capable for the desired set of service features.

So kill the messager if you will, but that won't change the perception in some circles.

@sgf
Copy link

sgf commented Jun 22, 2020

rust's yew is very fast
https://jetli.github.io/rust-yew-realworld-example-app/#/

Blazor is too slow ! too slow ! too slow !
Blazor need performance !!!

@chucker
Copy link

chucker commented Jun 22, 2020

@pjmlp I think it would help if you could clarify which decision in particular you're referring to. (Postponing AOT, maybe?)

@pjmlp
Copy link

pjmlp commented Jun 22, 2020

@chucker All the decisions that have burned developers that happen to use .NET based technology since UWP was introduced, followed by the .NET Core reboot.

For polyglot developers .NET isn't the only technology we reach out for, just yet another option among many, so if Microsoft management decides to push roadmap items, like AOT compilation, to uncertain future, then we need to re-evaluate our business decisions accordingly, just in case AOT support WebAssembly never arrives, despite the amazing work done by Daniel and the team.

@Hubert-Rybak
Copy link

Looks like WebAssembly AOT is postponed to 6.0 release (November 2021).
dotnet/runtime#38367 (comment)

@alexvazquez
Copy link

@Sherweeen we are starting a middle size app, and I’m very worried about the performance you said. Is your app a really data intensive one? Or what are the scenarios where this performance is present and maybe how to avoid to get into that spot? Appreciate any advice

@ghost
Copy link

ghost commented Aug 27, 2020

Is Blazor server side part of .Net 5 and is it updated ?

@mkArtakMSFT
Copy link
Member Author

mkArtakMSFT commented Aug 28, 2020

Is Blazor server side part of .Net 5 and is it updated ?

@mg1357, yes, it's part of .NET 5 and it's getting all the component-model updates.

@StevenRasmussen
Copy link

In one of the recent community standups, an intern demoed some virtualization capabilities which were hopefully going to land in the asp.net core 5.0 RC candidate. Is that still the case? Is there an issue that can be tracked for this functionality?

@danroth27
Copy link
Member

@StevenRasmussen #23092

@uabarahona
Copy link
Contributor

Hi, I saw #23560 was closed, does this mean we are getting JS isolation, or it is something that is not going to be covered?

PD: I don't see it in the roadmap that's why I am asking

@StevenRasmussen
Copy link

StevenRasmussen commented Sep 4, 2020

@barahonajm - I think it's a safe bet that it has been completed and is coming in 5.0.0 RC-1 since that issue has both the Done label and 5.0.0-rc1 milestone ;)

@danroth27
Copy link
Member

@barahonajm Yup, JS isolation via ES6 modules will be available in the upcoming .NET 5 RC1 release 🎉.

@david-uk-hash
Copy link

Any update on WASM AOT?

@ivanivanyuk1993
Copy link

ivanivanyuk1993 commented Sep 25, 2020

Is there a roadmap for .NET 6? If there is, please give a link

@danroth27
Copy link
Member

@ivanivanyuk1993 Not yet. We're still finishing up .NET 5 and just starting on .NET 6 planning.

@VictorioBerra
Copy link
Contributor

Where can I see docs today for:

  • CSS Isolation
  • Protected Browser Storage

@danroth27
Copy link
Member

@VictorioBerra Official docs are still a work in progress, but you can read up about these new features here: https://devblogs.microsoft.com/aspnet/asp-net-core-updates-in-net-5-preview-8/

@ghost ghost locked as resolved and limited conversation to collaborators Oct 30, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-blazor Includes: Blazor, Razor Components Done This issue has been fixed roadmap
Projects
None yet
Development

No branches or pull requests