Blazor Components - 2022 Survey

ASP.NET Team Blog
19 January 2022

We hope you had a happy and healthy holiday season.

We’ve nearly completed our 2022 Blazor Roadmap. Here’s a brief overview for our upcoming development plans (a blog post will be published shortly):

  • Release our new Blazor Grid (with essential features)
  • Deliver upgraded Blazor Editors
  • Develop new Blazor Layout components
  • Add more features to existing Blazor controls

In short, we’re focusing on highly requested features. However, there are two recent issues that may consume our resources and delay our product deliverables. To help us finalize and publish our Blazor roadmap, we need your feedback on the following:

1. AoT Compilation & Trimming

As you may already know, Microsoft released Visual Studio 2022 and .NET 6 on November 8th, 2021.

DevExpress Blazor components support these products with our latest minor release (v21.2.4).

Limitations

Currently, our Blazor components do not support the following .NET 6 enhancements for Blazor Web Assembly applications:

We recently discovered that AOT-compiled applications raise runtime exceptions. However, if AOT is disabled, the Web Assembly apps work without issues. If you encounter this issue, I recommend disabling AOT by removing the RunAOTCompilation option or setting it to false in your .csproj file:

<PropertyGroup>
  ...
  <RunAOTCompilation>false</RunAOTCompilation>
</PropertyGroup>

We are actively working on this complex issue both internally and with the Microsoft Blazor team. The main challenge is that the new AOT compiler lacks an effective way to debug the compiled assembly or map it to its source code.

We will continue to look for a solution, however, this unexpected task may delay our Blazor plans. Please fill out the survey below and tell us how important these recent features are for your Blazor projects.

2. Bootstrap Native Render

Our Blazor components render their HTML using Bootstrap which offers several advantages:

  • Out-of-the box integration with Bootstrap themes supplied by Bootsrap contributors and third-party developers
  • Application-level adaptivity
  • Consistent look-and-feel across browsers and devices

The inherent advantage of using Bootstrap for constructing web user interfaces is that it allows for developing responsive layouts and provides your web application production-quality visual design from the start.

Limitations

However, we've found several component-specific issues: Bootstrap UI/UX is missing several key UI elements and features (e.g. hover state, bottom or side tabs, popup footers), the focus on data editor only highlights the text field instead of the entire component, read-only state is not supported, and Bootstrap themes have large/wide paddings that is great for mobile/touch screen devices but waste space on desktop layouts.

Rest assured, we've implemented custom (non-Bootstrap) code in our themes to overcome these annoyances and support the common features you've come to expect from our components. Therefore, our components may differ from classic Bootstrap – as our themes must support more component features.

We need your feedback to determine whether native Bootstrap rendering is important within your Blazor application.

Survey

Please help us prioritize our 2022 objectives by completing out this survey:

Free DevExpress Products – Get Your Copy Today

The following free DevExpress product offers remain available. Should you have any questions about the free offers below, please submit a ticket via the DevExpress Support Center at your convenience. We’ll be happy to follow-up.
CRM-2380fa22-53f3-4c8f-a021-af33273e621f
Customer155921
I need a blazor gantt chart
19 January 2022
Yahya
Yahya
Grid is very important.
19 January 2022
Jonatas Hudler
Jonatas Hudler

I'm not sure if the survey covered this intention, but I would like to see more consistency across components, layout items and theme colors. As a final goal, personally I expect to create Blazor apps that look nice without touching lots of "raw" html/css.

I'll take MudBlazor as an example. One can develop an application with menu bar, sidebar, toast/popovers, and lots of consistent visual items using just their built-in components, avoiding even custom Html markup.

Now, if the Devexpress Blazor Demo page is taken as an example, even there lots of custom CSS (dx-demo.css) are used to make the demo app look nice (specially in the menu bar and drawer).

20 January 2022
CRM-c70a1315-0921-450c-b9a3-dbf59f9cfb8a
Alex
kanban board would be great! +1
20 January 2022
CRM-c73148c8-a383-4d8e-9ed0-e4978402b08c
SpencerDahl
I would hope you could supplement Bootstrap's SASS to extend their framework to cover your additional needs. 
20 January 2022
Milos Glosik
Milos Glosik
The ideal is a complete DevExtreme, but without javascript ;-)
21 January 2022
André Bastiani
André Bastiani
First of all congratulations for all your libraries, you simplify the UX development process a lot.

I think you should focus all your efforts on releasing a good and final DxGrid - among the improvement/fix of the other components.

From a developer's point of view, I can see that a lot has been done, but I'm afraid it's at a slow pace. I say this because at the moment we have a DxDataGrid that has several problems and is no longer recommended for new projects. I know DxGrid is prerelease, I'm trying to keep my interface simple, waiting for new features, ie, to have a good scroll and column resize capabilit, a Visible property in columns, and the other features that are missing from DxDataGrid.

Also, I wish there was an AutoComplete component
https://supportcenter.devexpress.com/ticket/details/t877564/combobox-for-blazor-feature-requests#

My expectation is huge for the next release.
21 January 2022
ROY ZEGARRA 1
ROY ZEGARRA 1
I would really like it if they improve their templates since the ones we have now are very basic in design. They should improve the delay in their combobox. And it would be great if you add user/password authentication to your templates with harcoded code that complies with all security measures.
21 January 2022
ROY ZEGARRA 1
ROY ZEGARRA 1
Something very basic and important is the Spinner component
21 January 2022
Jaime Alvarez [VOLUNDAT]
Jaime Alvarez

Hi,

  • PDF Viewer for Blazor 
  • Master Detail on new Grid
  • Export to Excel
  • Edit online
  • Batch Editing
  • OData v4 Datasource
  • Diagram component
  • File Explorer with Azure blob storage 
  • File upload with native support to Azure blob storage

for the moment ....

Thanks a lot !!!


21 January 2022
Merlin
Merlin
The Blazor controls reaching levels of features similar to desktop components is most important. For example, the new grid is critical with increased features and especially in-line editing. Compilation and themes are important but it is more important that the end result has the features that users have come to expect from other devexpress control ranges.
22 January 2022
Henning Scharsach
Henning Scharsach
AOT would be so important, in our tests we saw an improvement between 500% and 1000% for calculation-intensive parts of the application, so that's quite a huge trade-off for using the DevExpress components right now :-(

I really hope there's news on that topic soon, right now we're pretty torn between all the fantastic progress on blazor webassembly components and the ridiculously faster performance we get without them - if we just had a rough timeline when (and if!) AOT support is coming, this would make the decision a lot easier :(
22 January 2022
Dmitry Katkov (Novimax)
Dmitry Katkov (Novimax)
I think, that very important functionality of any LOB application is visual filter editor, that we have in a webforms (https://demos.devexpress.com/ASPxEditorsDemos/ASPxFilterControl/FilterBuilder.aspx) and at desktop platforms. We hope to see this component intergated with grid and embedded into XAF out of the box.
24 January 2022
Vladimir Frizen (DevExpress)
Vladimir Frizen (DevExpress)
Hi,

I would like to thank you for your comments and questions. We appreciate your patience and continued patronage.

Releasing our new Blazor grid is the primary goal for 2022. We plan to release it in the first half of 2022 with several key features, including Excel-like export, master-detail support, in-line row editing, column chooser, and much more. We're adding several highly-requested features, and also upgrading our data editors to solve known issues so our grid operates smoothly.

We share @Merlin's vision for the need to bring similar features of our desktop components to our Blazor UI. However, we are unlikely to ship Gantt, PDF viewer, or Kanban this year.

I've submitted several of your technical issues as tickets in our Support Center. Please check your account for updates on your open tickets.

We will likely publish our detailed Blazor roadmap once we collect your feedback.


24 January 2022
CRM-c73148c8-a383-4d8e-9ed0-e4978402b08c
SpencerDahl
AoT Compilation & Trimming is a must.
24 January 2022
Andrzej Wloszczynski
Andrzej Włoszczyński
Please make data grid usable in real world LOB applications. For example, I want to use it to display invoices. In real world application:
  • I have 1 million invoices in my database.
  • I have a few related tables and some of them have plenty of records, for example 50 000 customers and 20 000 products.
  • I want to use efficient filtering, examples: date from/to, invoices for selected customer, invoices with selected terms of payments (I want to select more than one). Ideally, I would like to be able to display invoices that contain selected product (it must be possible to construct a filter on related tables: invoice header -> invoice line item -> product).
With these capabilities in please verify that generated Entity Framework (SQL) queries are efficient and not called too often. Examples of unacceptable behavior:
  • Combo boxes used to construct the filter load all records from the database. It is OK for terms of payments but useless for customers or products.
  • Combo boxes used in edit form or inline edit mode load all records from the database every time you start editing.
  • Filter is constructed and query is called after every change in filter row. This is very inefficient. People usually want to fill more than one filter field. We need a button “apply filter”. We also need an event which is called when this button is clicked. In this event we have to have access to values in filter fields and a chance to cancel execution of filtered query when in our opinion filter is not good enough (we don’t want to overload our server).
  • Query used to read invoices selects fields only from main table (invoice header) and fields from all related tables (for example customer name) are loaded one by one in separate queries.
We must be able to define a data grid with filtering options and use it in every place where you usually use combo box. For example, I want to create data grid to display and edit customers. I want to filter customers by their name, VAT ID, address, group, etc. I want to use exactly the same grid in filter row and edit form in the grid used to display and edit invoices, orders, etc. In my opinion this is a “must have” feature. Simple combo boxes are usually useles.

24 January 2022
CRM-0c09a3d5-5491-481e-814b-ea6f4e089000
Christophe MOMMER

Hello DX team,

I'm still using the "old grid" for a single purpose : it supports master-details, which I use a lot. So, if the new grid doesn't have this capability, I'll stick to the old one.

Moreover, when need a in depth detail of what's better in the new grid. Things like performance might convince me to do the switch.

Thanks for all your efforts !

24 January 2022
Sener DEMIRAL
Sener DEMIRAL
I totally agree with Andrzej Wloszczynski.
25 January 2022
CRM-b2d00631-4cfd-40e1-afd8-492af617b62f
NRG Developement
It would be nice if we can use blazor components as web components in existing web-apps. There are plenty asp.net/php/angularjs applications which needs maintaining. It would be nice if we could do that with Blazor Custom Elements. Server/Client web-assembly.
25 January 2022
Mike Jacobs
Mike J
Blazor grid that has data export functionality. This is my most requested feature and was listed on your 2021 roadmap. I really hope that is implemented in the first half of 2022 like you have indicate above.
25 January 2022
Stephen Winstanley_2
Stephen Winstanley_2

Please finish the new grid it is so long now I am waiting for it.

Also map control would be nice.


26 January 2022
Dietmar-Konrad Kurok
Dietmar-Konrad Kurok

- storing and retreiving user's layout customization for datagrids and other components 

- Pivot-Grid with dynamic group-changes by user (as you have it in other technology-stacks)

- DataGrid with full functionality compared to your other supported technologies

26 January 2022
Stephen J White
Stephen J White
As with the others, I have to echo the need for an export feature for the grid. Also I am hoping the new grid has better support for combo boxes and gets the column chooser soon. I was set to migrate our grids to the new version but then I realized the column chooser is not available (yet), so we had to postpone migration for the time being. 
26 January 2022
Tomaz Cebasek
Tomaz Cebasek

DataGrid with virtualization, focused row and keyboard (row) navigation is mandatory for any LOB app.

Functions (like DevExtreme) grid.NavigateToRow(rowKey) is also very important...



26 January 2022
Michael Köster 1
Michael Köster 1
Is there a code example for the blazor scheduler as a custom editor in xaf?
4 February 2022
Daniel Hüttenberger
Daniel Hüttenberger

+1 for every comment here.

One important thing is responsivness.

Try looking at the month view on a mobile device! 


  • Block times in scheduler (and let the user change it easily. Not like winforms version)
  • Year View (+ mobile)
  • complete the new Grid
  • Sticky group headers in the grid
  • did I say responsivness?
11 February 2022
Mehul Harry (DevExpress)
Mehul Harry (DevExpress)

@Michael Koster 1,

You may find sample helpful:
https://github.com/jjcolumb/SchedulerXafBlazorDemo

Thanks to our resident XAF expert, Denis.

11 February 2022
Christopher Calverey
Connor Galligan

Hi,

Some months have pased since this was posted - but I have been unable to find any further news on the subject.

Can you confirm if DevExpress Blazor Web Assembly Components now support AoT and link trimming?

25 May 2022
Alex Chuev (DevExpress)
Alex Chuev (DevExpress)

Christopher,

DevExpress Blazor components currently don't support AoT and link trimming. We are looking into these .NET features and will see if we can support them in future releases.

31 May 2022
CRM-e961e79e-a3b6-402d-b960-7a2bf8db6185
Customer294370

Hey Guys,

We've been building our Blazor server app in MudBlazor with .net6 (which we're quite happy about), however I've been asked to look into whether we can install DevExpress components along side MudBlazor.

Do you know if this is doable? Do you have any experience in this or heard of this being done?

26 October 2022

Please login or register to post comments.