This post outlines features/capabilities we expect to introduce in our next major update (v24.1 - June 2024). With growing adoption of Blazor in the enterprise, we've expanded our Blazor team, and as such, expect to deliver 12 new components (along with many enhancements to existing controls) in 2024. As always, your feedback will help us shape future development objectives and refine our short term dev strategies. If you have questions or suggestions, feel free to submit your thoughts in the survey at the end of this post or submit a ticket via the DevExpress Support Center.
The information contained within this blog post details our current/projected development plans. Please note that this information is being shared for INFORMATIONAL PURPOSES ONLY and does not represent a binding commitment on the part of Developer Express Inc. This blog post and the features/products listed within it are subject to change. You should not rely or use this information to help make a purchase decision about Developer Express Inc products.
TreeList (CTP)
We plan to release the DevExpress Blazor TreeList component as a CTP in June (with a subset of Blazor Grid capabilities). Any features not included in the CTP will be added in future versions based on feedback from our recent survey. Our ultimate goal is to create a component that is just as powerful as the Blazor Grid and TreeList UI components we've released over the last 25 years.
HTML Editor
Our Blazor HTML Editor will allow you to format textual and visual content and store it as HTML or Markdown.
PDF Viewer (CTP)
Our new Blazor PDF Viewer will display PDF file content directly in your Blazor apps. It will ship with the following features/capabilities:
- Page Navigation
- Printing
- Zooming
- Customizable Toolbar
Map
The Blazor Map will allow you to display your geo-data using built-in Google and Bing providers, roadmap, satellite and hybrid views, customizable markers, and routes.
Polar Chart
The Polar Chart will allow you to visualize your data within a polar coordinate system - where each point on a plane is determined by the distance from the center and the angle from a fixed direction.
Date Range Editor
The new Blazor Date Range editor will allow you to select a range of dates within a single calendar dropdown.
DropDown Box
DropDown Box is a highly customizable editor that will allow you to select values from its dropdown. The dropdown itself can feature any UI element - simple lists, trees, grids, or a combination of multiple elements.
The File Input component will allow users to select files like our Blazor Upload control, but will give you direct and secure access to files in Razor code instead of sending them to a remote HTTP service.
Sidebar is a collapsible side panel that can be used to display navigation controls (such as the TreeView or Accordion). It will be released with support for overlay and push modes.
Toast
Toast can be used to enhance app interactivity by pushing notifications to your users. You will be able to display notifications at any corner of the browser window, choose from a set of predefined status colors (error, warning, etc.), and optionally define a template for notification content.
ProgressBar
Our Blazor Progress Bar can be used to display event progress or utilized as a loader element.
Bar Gauge
The Bar Gauge will allow you to visualize key metrics in your application. You will be able to configure the appearance of bars and labels and customize the displayed range.
New Rendering Engine
Back in 2022, we started the transition from Bootstrap to our proprietary rendering engine across DevExpress Blazor components. This change helped us improve render performance, provide a more consistent UI experience, implement our own themes, and support external Bootstrap themes without relying on Bootstrap rules and associated versions. You can read more about reasons for this change in the following blog post: Upcoming Breaking Changes in Rendering and Bootstrap Support (v22.2).
With v24.1, we will apply this rendering engine to the following DevExpress Blazor UI component libraries:
- Charts
- Pivot Grid
- Report Viewer
- Rich Text Editor
- Scheduler
- Upload
This will complete our transition and allow us to introduce new themes and color palettes for DevExpress Blazor controls in the future.
Keyboard Support
To better align with accessibility standards and improve user experiences for those with disabilities, we plan to add keyboard navigation support in the following Blazor UI components:
- Accordion
- DateEdit
- TimeEdit
- TreeView
- Upload
Project Templates
.NET 8 Authentication and Authorization
Our Blazor project templates for .NET 8 will include an option to add ASP.NET Core Identity and Token-based Authentication to your projects. In addition to required infrastructure, our templates will generate an authentication UI powered by DevExpress components.
Grid
Column Bands (Stacked Columns)
The DevExpress Blazor Grid will allow you to arrange columns into logical groups called bands. Each band will have its own header displayed above column headers. The Grid will also support multi-level bands where a band can have other bands inside it (as well as columns without a band that span the band area).
Export Server-Side Data to Excel
We expect to support Excel export functionality for Grids bound to server-side data (with Server Mode, GridDevExtremeDataSource, or CustomDataSource). To export data to Excel, the DevExpress Blazor Grid will display a loading indicator and download all records from a remote source.
New Cell Editor Appearance
We will update the appearance of inline cell editors displayed in Edit Cell and Edit Row modes to ensure UI consistency between active and inactive cells.
Cell Editing Enhancements
Our Blazor Grid's Edit Cell mode will officially ship. We also expect to introduce a number of usability enhancements and support for Virtual Scrolling.
Keyboard Support Enhancements and New Tab Navigation
Our Blazor Grid's keyboard navigation will also officially ship and be enabled by default. It will support Virtual Scrolling and feature a new Tab key behavior. To improve the user experience in Edit Cell and Edit Row modes, the Tab key will navigate between all Grid cells regardless of the cell editor's active state. Users will also be able to quickly leave the table area by pressing Ctrl + Up or Ctrl + Down (Alt + Up or Alt + Down on Mac).
Built-in Value Posting
We will extend the EditModelSaving event with an API designed to automatically assign changes made by the user back to the original data object.
async Task Grid_EditModelSaving(GridEditModelSavingEventArgs e) {
e.CopyChangesToDataItem();
}
Scheduler
Multiple Resources (Resource Sharing)
Our Blazor Scheduler will allow your users to assign multiple resources to an appointment. When grouped by resource, such appointments will be displayed under every resource assigned to them.
Our Blazor Scheduler will feature a built-in scroll bar in Day, Week, Work Week, and Month views. You will be able to fix the Scheduler's height or stretch it across the browser window and scroll to appointments that don't fit into the viewport.
We will implement the API to scroll the Scheduler to a specific appointment or time programmatically.
We will extend the AppointmentFormShowing event and allow you to customize available recurrence options (Repeat, Repeat End, and the list of weekdays).
void OnAppointmentFormShowing(SchedulerAppointmentFormEventArgs args) {
args.FormInfo.RecurrenceFormInfo.WeekDayItems.Remove(SchedulerWeekDays.WeekendDays);
}
Data Editors
Date Edit — DateOnly Type Support
Our Date Edit will support DateOnly and nullable DateOnly types in addition to DateTime and DateTimeOffset.
Charts
Annotations
Chart Annotations will help you display additional information, like images, text blocks, and custom content, directly on your charts.
Strips
Strips are colored sections on a chart's background used to highlight specific value ranges.
Error Bars
Error Bars will help you specify measurement errors or uncertainties, providing a visual indication of precision.
API Enhancements
We plan to extend our Blazor Chart API with more than 40 new members designed to customize Chart appearance and behavior.
Rich Text Editor
New Table API
We plan to introduce an API designed to modify table layout, decoration, and structure at runtime.
var table = await documentAPI.Tables.CreateAsync(0, columnCount, rowCount);
await table.ChangePropertiesAsync((properties => {
properties.AutoFit = false;
properties.Style = "Grid Table 5 Dark Accent 1";
properties.Width = new TableWidth { Type = TableWidthType.Twips, Value = 9000 };
properties.TableStyleOptions = TableStyleOptions.TotalRow | TableStyleOptions.HeaderRow;
}));
HTML Export/Import
The DevExpress Blazor Rich Text Editor will support the import and export of documents in HTML format.
We will introduce an API designed to customize Rich Text Editor context menus. You will be able to add or remove default items (and create custom items as needs dictate).
void OnCustomizeContextMenu(IContextMenu contextMenu) {
contextMenu.Items.Remove(RichEditContextMenuItemNames.CopySelection);
contextMenu.Items.Remove(RichEditContextMenuItemNames.PasteSelection);
var clipboardItem = contextMenu.Items.AddCustomItem(1, "Clipboard");
clipboardItem.BeginGroup = true;
clipboardItem.Items.Add(RichEditContextMenuItemNames.CopySelection);
clipboardItem.Items.Add(RichEditContextMenuItemNames.PasteSelection);
}
Reporting
During this release cycle, we will allocate resources to profile and decrease memory consumption when using the DevExpress Drawing Graphics Library (based on SkiaSharp). Our aim is to improve the overall performance of document generation and reduce the time needed to build and export report documents within non-Windows environments.
SVG Export
DevExpress Reports will include a new export type which will allow users to save reports as a collection of scalable vector graphics (SVG) images. This new export format will produce high-quality, lightweight vector report page images without any loss of text content quality. This will be of value for those who wish to modify/share report images or embed report thumbnails on web pages (since the SVG format is fully compatible with modern browsers).
We are committed to making this new export type available on all supported platforms and deployment environments, including Unix-based systems.
Microsoft Azure and Amazon Web Services App Deployment Tutorials
We hope to simplify the app deployment process for the world's top two* cloud environments (Microsoft Azure and AWS). To achieve this objective, we will create a comprehensive set of help topics and address deployment-related issues/strategies.
(*according to data from Statista)
Accessibility Enhancements
In our v24.1 release cycle, we expect to meet WCAG 2.2 (AA level) accessibility guidelines/requirements for the Blazor Native Report Viewer.
Report Viewer — Send an Email
We'll introduce a new API based on the well-known cross-platform MailKit .NET library. With this new feature, you will be able to send exported reports as email attachments.
Web Report Designer — Hide/Restrict Parameters Editing
We will introduce new APIs to disable the ability to edit/create/delete report parameters for Web Report Designer.
Reporting for Microsoft Azure — Updated References
We will update our references to reflect the most recent packages and refactor our internal service implementation (designed to host multi-instance web apps with DevExpress Reports on Microsoft Azure). Specifically, we will be updating/overhauling our current Azure Service Bus and Azure Storage implementation (allows you to cache report documents in Azure Table and Azure Blob storage).
New Expression Functions
We will add new expression functions to our criteria language syntax. These functions will offer greater flexibility in shaping and displaying data within DevExpress Reports. New functions will include:
- The ability to retrieve the value of the previous column/row
- The ability to retrieve the value of the next column/row
- The ability to retrieve the current group index
- The ability to retrieve the current row index within a group.
SVG Pictures Export
When you add SVG pictures to a report, they will be exported using a vector format (SVG) natively (to maintain image quality). This enhancement affects PDF, Excel, and Word export formats.
Parameter Groups Title Localization
With our built-in DevExpress Reports localization feature, you will be able to localize the titles of parameter groups displayed in the Parameters Panel across all supported platforms.
SqlDataSource Enhancements
First, we'll enhance the user experience in our Data Source Wizard to address the following security-related changes introduced by Microsoft for the MS SQL Server: The certificate chain was issued by an authority that isn't trusted - SQL Server | Microsoft Learn. This will allow you to avoid the "The certificate chain was issued by an authority that is not trusted" error while binding a report to MS SQL Server database if you do not have access to set up the MS SQL Server differently. To achieve this, we will introduce two new options in our Data Source Wizard:
- An option that will allow you to turn on/off the MS SQL Server encryption (to specify the
Encrypt=No
value in the connection string).
- An option that will allow you to trust the MS SQL Server certificate without validation (to specify the
TrustServerCertificate=True
value in the connection string).
Second, we'll add support for the Postgres data driver v.7.0. This will enable you to bind DevExpress Reports to stored procedures introduced starting with v7.0 of the database engine.
JsonDataSource — Transition to System.Text.Json
We have made the decision to revamp the source code of all DevExpress products so that they no longer reference the third-party Newtonsoft.Json
assembly. Instead, we will use functionality from the System.Text.Json
assembly/NuGet package, which is a part of .NET.
During this release cycle, we will be conducting research to identify methods for migration with minimal impact on existing functionality and applications. Our preliminary findings suggest that discrepancies do exist.
Our decision is mainly influenced by the security risks associated with the third-party library, as well as the improved performance offered by Microsoft's own library.
Your Feedback Matters
Please take a moment to share your thoughts on our mid-year Blazor Roadmap using the form below. As always, we appreciate your feedback.
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.