.NET Business App Framework (XAF) 2019 Roadmap – Your Vote Counts

We are finalizing our 2019 eXpressApp Framework (XAF) Roadmap. Your feedback will allow us to focus on features/capabilities that matter most.

EDIT: Here is our final roadmap: eXpressApp Framework – 2019 Roadmap.

Housekeeping

There are a number of housekeeping related tasks that need to be completed during each release cycle. The following list outlines major tasks we have planned for 2019.

  • Add support for Visual Studio 2019. We need to update and test our extensions for Item and Project Templates, Application and Module Designers, Model Editor and EasyTest integration. v18.2.4 will already cover a lot of these, but other tasks such as support for AsyncPackage will be completed with the official release of Visual Studio 2019.
  • Support .NET Core 3.0 in WinForms and the new ASP.NET Core and React-based SPA UI. The DevExpress WinForms team has announced plans for .NET Core 3 (refer to the following blog post for more information). We will do everything we can to support .NET Core 3. As you can imagine, much of our output will be shaped by the .NET Core API itself (no ASP.NET WebForms – changes to Middle Tier Security because of pruned WCF support, etc.).
  • Make certain platform-agnostic XAF features like security, validation, and audit are available to non-XAF developers who create custom user interfaces with Xamarin, React, Vue and other client technologies. We hope to produce more tutorials and samples like How to: Use the Integrated Mode of the Security System in Non-XAF Applications (with a focus on Microsoft Azure deployment).
  • Offer the new ASP.NET Core and React-based SPA UI for production in the v19.1 timeframe (at least for simple scenarios). We don’t expect to support all extended modules in our initial release. To discuss our new vision, roadmap and technical requirements more effectively with the XAF community, please visit our private discussion forum - exclusively for Universal customers. Feel free to leave comments to this post, email us at xafteam@devexpress.com or submit tickets using the Support Center if you are unable to join the discussion on our forum.
  • Continue making incremental enhancements to our ASP.NET WebForms UI (see top requests below). Please note that our primary focus will be on XAF’s SPA UI but we will do what we can to address the needs of those reliant on our ASP.NET WebForms UI.
  • Continue to evolve XAF’s WinForms UI. Among other changes, we hope to introduce a modern splash form by default, eliminate extra borders in PivotChart editor, nested frames (for instance, DetailPropertyEditor), hide rarely used standard Actions from form templates (T586203, T539813, T452094), and suppress the save confirmation for new unmodified objects (E2114).
  • Improve the efficiency/usability of developer tools like our Model Editor, Solution Wizard, Template Gallery, Application and Module Designers, Localization Service, DBUpdater and ORM Data Model. We look forward to hearing what you find most important here (just a few examples: T410857, Q104682, T565744).
  • Performance enhancements. We will further parallelize internal XafApplication.Setup/Start operations to reduce startup time. There are also opportunities to improve both XAF and DevExpress control code for all supported platforms (see the following from earlier this year).
  • Non-Persistent object enhancements. Features include support for filtering; propagate FindObject, CommitChanges, Refresh and other methods from NonPersistentObjectSpace to AdditionalObjectSpaces (T509228); support CRUD operations with non-persistent objects in a nested ListView of a persistent object DetailView (T486427, T510338, T695631).

If you do not find any of these items important, please share your perspective with us - we will be more than happy to listen.

Your Vote Counts!

In addition to the housekeeping items listed above, we hope to introduce a number of new features in 2019 – features that were driven by feedback from our loyal user base.

Feature Group #1: Asynchronous Operation Support and Better Progress Indication.
This feature is from the last roadmap, but it is still interesting today. With v18.2, we can leverage XPO’s async/await method support in IObjectSpace and other XAF APIs (T683644) - a new IObjectSpaceAsync interface may be coming. This will introduce the following benefits (primarily for WinForms):

  • Enhance perceived performance with the help of asynchronous Actions (open DetailView from ListView, save DetailView).
  • Visualize long-running background processes (such as time consuming calculations) in custom Actions with a progress bar and allow end-users to work with other parts of your application.
  • Visualize blocking UI operations with overlay forms and other loading indicators - all powered by the WinForms SplashScreenManager.
  • Notify end-users after successful execution (even for simple, but important operations like saving or deleting data).

This feature will also help increase ASP.NET Core Data Service throughput under a high load in our new SPA UI for Web and Mobile. For more information on use-case scenarios, please refer to the following support tickets: T112329, AS6060, CQ59274, Q352118.

Though we believe this feature can really make a difference to end-users, it is difficult to implement and test. It is also quite error prone, as anything related to multi-threading. It will also cause inevitable breaking changes to existing code. For instance, all UI-related logic must consider that current View data records and controls may not be immediately available or initialized. For more information, refer to the IsDelayedDetailViewDataLoadingEnabled and DelayedViewItemsInitialization option prerequisites.

Feature Group #2: Support additional DevExpress component features.

  • Enhanced Tree List Editors module with support for inplace data editing, better filtering options and more (S30514, S30735 S38121).
  • Enable enhanced WinForms Filter and Expression editors in the Model Editor and within built-in List and Property Editors.
  • Support native conditional formatting in our built-in List Editors (T291012).
  • Introduce collapsible layout groups (WinForms) and retain their states – much like our WebForms UI implementation (S135134).
  • Support new XPO server mode components for our grids (XPServerModeDataView and XPInstantFeedbackDataView - see the XPO roadmap).
  • Support reference properties in ASPxGridView's Batch Edit mode without custom code.

Feature Group #3: New Property Editor types (DevExpress controls that have not been integrated into XAF).

  • Property Editors for reference or lookup properties based on WinForms SearchLookUpEdit and TreeListLookUpEdit. This is a long-overdue item and I expect that it will be implemented as it addresses a number of problems (T232591, T467070, Q577870).
  • Property Editors for date and time properties based on TimeEdit, TimeSpanEdit and ASPxTimeEdit (T460196, T411714).
  • Property Editors for string or collection properties based on TokenEdit and ASPxTokenBox (T122733).
  • Property Editors for string or collection properties based on a checked list or combo boxes (E1807, T208139).
  • Property Editors for string or reference properties based on HyperLinkEdit and ASPxHyperLink (E2096).
  • Property Editors for string or byte array properties that display PDF file content (T213126).
  • Property Editors for string or byte array properties that display Excel spreadsheet content (Q503665).
  • Property Editors for string or byte array properties that display RTF content on the Web (S31438).

Your Feedback Is Needed!

A quick disclaimer...though we want to deliver everything (and deliver it yesterday), I don’t want to make any guarantees. As always we welcome your comments and specific usage-scenarios, the more you share, the better we can understand your business needs now and into the future.

14 comment(s)
Nafis Suhari

Great 2019 for Great XAF !!!!

27 December, 2018
Huseyin Dikmen

Increase more performance for XAF

27 December, 2018
Customer37575

IMHO you need to keep the course on the development of the SPA. The main thing that he was fast.

But that's not all. There are lots of small things that are deprived of attention.

You should also develop a model editor in terms of functionality and convenience.

For example, add FindPanel there, add something like Find Usages from Resharper (text search is not that). With the possibility of mass replacement. The model editor needs development.

It should also improve diagnosis. Displaying XML-like text in memo even without highlighting is ridiculous.

Diagnostics is used constantly, therefore there should be its functional viewer.

28 December, 2018
Hedi Guizani

expression summaries on list view,

a better expression editor (Enums are a pain to write....)

a visual criateria editor with custom functions

treelist with virtual datasource on dashboard

better serverside support for calculated field...

28 December, 2018
Brad Baker - MMC

Multi tenancy?

28 December, 2018
Tim Kelly

T513152 - Built in option to make XPO update only modified properties when trackpropertiesmodifications is true.

28 December, 2018
Paul Kubb

any way to scale xaf web app like thousands of users or more?

2 January, 2019
Dennis (DevExpress Support)

@Brad Baker - MMC, Paul Kubb: No, sorry. For more information, please refer to the "Q: Does the new stateless architecture mean better scalability and thousands of users?" entry in www.devexpress.com/.../faq-new-xaf-html5-javascript-spa-ui-for-web-mobile-beta.

@Tim Kelly: Have you tried to implement the T513152 solution in your XAF/XPO app? We are looking forward to hearing about your results or difficulties.

@Nafis Suhari, Huseyin Dikmen, Customer37575: Thank you for your comments.

@Hedi Guizani: Would you please elaborate more on your last two suggestions (dashboard and calculated fields), because they are not clear? EDIT: Thank you for submitting the https://www.devexpress.com/Support/Center/Question/Details/T704757/server-side-field-calculation ticket!

7 January, 2019
Brahim ZEBDI BAHI

more user control especially wizards

9 January, 2019
Krzysztof Krzysztof (LOB)

Asynchronous Dashboard refreshing, please. Pretty lots of people wait for it pretty long:

www.devexpress.com/.../how-to-reload-dashboard-data-asynchronously-in-a-background-thread

9 January, 2019
Armand Merwe

Wishlist

1. Set Aspxgridlisteditor  column width in model editor.

2. Improved scaleability will always be on my wishlist.

3. Offline capabilities for new SPA framework...this is a tough one....

10 January, 2019
Maximilian Kaya

just my two cents here: put most of your dev resources to .net core based react/xaf/spa development and all windows desktop based ones put on maintenance mode.  Developer who still develops windows desktop clients should better retire, existing devexpress components/tech should be more than enough to maintenance existing desktop apps.

19 January, 2019
INFO CL

Hi,

great work.

I have a suggestion: possibility of creating view with properties from different databases. For exemple: Items of a DetailView from class1 in DB1, class2 in DB2,...

Thank you.

21 January, 2019
Dennis (DevExpress Support)

@INFO CL: Thank you for your suggestion. This is an interesting request and XAF/XPO can already handle it in the current version:

1. www.devexpress.com/.../how-to-prevent-altering-the-legacy-database-schema-when-creating-an-xaf-application

2. www.devexpress.com/.../connecting-xaf-application-to-two-additional-external-databases

Please let me know which option works best for you.

@Brahim ZEBDI BAHI: Would you please elaborate more on your use scenarios? I also hope that you will find the recommended solutions in the following thread helpful:

www.devexpress.com/.../how-to-implement-and-integrate-wizard-pages-in-an-xaf-application

If you experience any difficulties with them, please let us know.

@Krzysztof Krzysztof (LOB):

Thank you - I have informed the Dashboard team of your request.

@Armand Merwe:

Thanks for your suggestions! As for the Web ListView column customization, many our users found the following solutions helpful:

1. www.devexpress.com/.../web-how-to-allow-changing-columns-width-at-runtime-and-save-their-size

2. www.devexpress.com/.../how-to-adjust-column-width-in-listview-on-the-web

Please let me know how they work for you. Knowing your results will help drive the official implementation.

@Maximilian Kaya:

You are being facetious, correct? Surely you are not implying that Windows development is dead. If this was indeed the case, Social Security would collapse with all the desktop developers in line to collect retirement:-)

23 January, 2019

Please login or register to post comments.