dotnet / aspnetcore

ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
https://asp.net
MIT License
35.32k stars 9.97k forks source link

Differential response mechanism for Blazor enhanced navigation, utilizing a configurable page store. #50329

Closed am-mehmood closed 1 year ago

am-mehmood commented 1 year ago

Is there an existing issue for this?

Is your feature request related to a problem? Please describe the problem.

Blazor's upgraded navigation feature has been newly introduced in .NET 8 previews, and its performance is truly impressive. Taking into account factors such as bandwidth scalability and cost efficiency, opting for full-fledged page responses could affect both speed and expenses.

Describe the solution you'd like

The .NET team has developed differential algorithms designed for Blazor Server, enabling the transmission of only the necessary changes to the client, along with client-side JavaScript that patches those updates to the browser's DOM. I am proposing a similar concept for Blazor enhanced navigation, enhanced by an adjustable store for preserving page states on the server. This approach ensures a lean memory footprint for the web server when needed. By adopting this strategy, one can attain performance close to that of Blazor Server without relying on an active WebSocket connection. This approach is highly scalable and can accommodate high volumes of traffic. Further, leveraging minor interactivity improvements through JavaScript enables the creation of comprehensive single-page applications (SPAs) for public-facing use cases, including platforms like listing portals, marketplaces, and booking websites.

Additional context

No response

javiercn commented 1 year ago

@am-mehmood thanks for contacting us.

The response size is not something that we are concerned about compared to building a more complex solution like the one you describe, for a few reasons:

ghost commented 1 year ago

This issue has been resolved and has not had any activity for 1 day. It will be closed for housekeeping purposes.

See our Issue Management Policies for more information.