eXpressApp Framework - Early Access Preview (v19.2)

XAF Team Blog
21 August 2019

We are two months away from our next major update (v19.2). The purpose of this post is to share our progress and give XAF users the opportunity to test new functionality before we wrap up our current dev cycle.

XAF is part of the Universal Subscription. Active Universal subscribers are entitled to download and install this Early Access Preview. If you currently own an active DXperience Subscription, you can test the features described herein by logging onto the DevExpress Download Manager and installing this build in trial mode. Once you do, please take a moment to tell us whether these new features address your business needs. This will help us fine-tune our code before official launch. 

If you are using a trial version and are considering XAF for your next project, purchase a Universal subscription license for automatic access to this early access preview. If you are ready to upgrade to Universal from another subscription level, email us at clientservices@devexpress.com for preferential upgrade pricing.

.NET Core 3 Desktop SDK Support in WinForms Apps

To download and test XAF's WinForms Main Demo for .NET Core 3.0 Desktop, please refer to this knowledge base article. We are still working to finalize our unit and functional tests for the final release.

.NET Standard 2.0 Support for Platform-Agnostic Modules

These core libraries only provide non-visual APIs and do not offer a ready-made UI (like XAF modules for WinForms and WebForms): 

  • DevExpress.ExpressApp | DevExpress.ExpressApp.Xpo | DevExpress.ExpressApp.Objects | DevExpress.ExpressApp.Images.
  • DevExpress.Persistent.Base | DevExpress.Persistent.BaseImpl.
  • DevExpress.ExpressApp.Security | DevExpress.ExpressApp.Security.Xpo.
  • DevExpress.ExpressApp.Validation | DevExpress.ExpressApp.ConditionalAppearance
  • DevExpress.ExpressApp.AuditTrail | DevExpress.ExpressApp.CloneObject.
  • DevExpress.ExpressApp.Kpi | DevExpress.ExpressApp.StateMachine | DevExpress.ExpressApp.ViewVariantsModule.
These libraries should be extremely helpful for XAF developers who create cross-platform non-XAF .NET apps and libraries. You can now reuse existing XAF data models and Security System settings (users, roles and permissions) in a custom Xamarin mobile client or an ASP.NET Core service hosted on Linux-based servers.
Using NuGet? Our unified .NET installer automatically configures the Local NuGet feed for you.

Security System in non-XAF .NET Apps (Powered by XPO)

We’re doing our best to explain XAF’s security system and how it can be used in non-XAF .NET apps powered by XPO. 

Please check our new WinForms CRUD demo and tutorial - the most popular configuration based on a hundred of blog comments and survey responses!

In addition, please review our updated Console and ASP.NET Core Web API/OData v4 + DevExtreme apps.

Changes to XAF's SPA UI Strategy: The Future is Blazor 

As you may already know, we officially canceled XAF's React-based SPA UI project. We’ve made the decision to focus our efforts on Blazor.

ASP.NET WebForms Spreadsheet Editor

XAF's Office module now includes the DevExpress WebForms Spreadsheet control. You can use it to display and edit Excel documents stored in byte array properties of your business objects.

To learn more about new capabilities and to help shape future development efforts, please read this knowledge base article.

ASP.NET WebForms Batch Edit Support for Reference & ImmediatePostData Properties in ASPxGridListEditor

We now support reference and ImmediatePostData properties in ASPxGridView's Batch Edit mode - one of the most popular customer requests for our WebForms UI! 

To learn more about this new feature, please read this sample on GitHub.

Note: Our primary focus in 2020 will be on XAF’s Blazor UI but we will do what we can to address the needs of those reliant on our ASP.NET WebForms UI. 

Asynchronous Method Support in IObjectSpace

To learn more about the new IObjectSpaceAsync inteface and custom async operations in WinForms apps, please read this knowledge base article and respond to a few questions from the R&D team.

This will help shape future development plans - asynchronous operations within standard XAF WinForms and Blazor UI modules.

Improved Usability of Layout Groups in WinForms & WebForms

We replaced the IModelLayoutGroupWeb.IsCollapsibleCardGroup and IModelLayoutGroupWeb.IsCardGroupCollapsed properties with new platform-agnostic options: IModelLayoutGroup.IsCollapsibleGroup and IModelLayoutGroup.IsGroupCollapsed. This was necessary to implement a popular user request - collapsible layout groups for WinForms.

For more information, please read this breaking change document.

Performance & Stability Enhancements (Design-Time)

With this update, XAF's Model Editor, Application & Module Designers start faster and require less memory. We have done the impossible - we reimplemented Visual Studio's ITypeDiscoveryService, because its GetTypes method caused problems, especially for complex apps.

For more information, please read this knowledge base article.

Breaking Changes

Before you migrate and test existing projects, we ask that you read XAF's breaking changes document.

Your Feedback Matters!

Your thoughts and perspectives are always appreciated. Please use the comments section below, create a new Support Center ticket or email xafteam@devexpress.com to engage us.
We know you’re busy, but we ask that you take a moment out of your schedule to answer the survey questions below. Thanks in advance for your participation.
NOTE: Early Access and CTP builds are provided solely for early testing purposes and are not ready for production use. This build can be installed side by side with other major versions of DevExpress products. Please backup your project and other important data before installing Early Access and CTP builds.
7 comment(s)
fMerian
fMerian
Clicks on our XAF navigation are time consuming even if we use InstantFeedback Mode where applicable. To be able to cancel a async load operation here was very interesting for us.
21 August, 2019
Joerg Egger
Joerg Egger

.NET Core Support and async OS operations. I look forward to it.


21 August, 2019
Mohamed Al Zayani
Mohamed Al Zayani
Why not through in Gantt module too! 
21 August, 2019
Joche Ojeda
Joche Ojeda

I just want to say  thank you, I share a lot of XAF code with Xamarin forms applications and I always have to do some kind of black magic to port the code from the agnostic modules to net standard 2, now that is out of the box 


21 August, 2019
Dennis (DevExpress)
Dennis (DevExpress)

@fMerian: Thank you for your interest. Even without async loading, we will be happy to suggest many ways to improve performance in your particular scenario if you contact us in the Support Center. Please provide your test project or profiling results in the ticket. In the meantime, you may find this KB article helpful: How to measure and improve the application's performance. For instance, DataAccessMode=DataView may be suitable in many scenarios.

@Joerg Egger, Joche Ojeda: Thank you for your interest too!

@Mohamed Al Zayani: I see that you evaluated many XAF versions in the latest years. Is this the only thing that prevents you from becoming an XAF customer?:-)
Seriously, I want Gantt module just as much as you do. Unfortunately, we’ve prioritized our activities based on available resources, feedback from our 2019 Roadmap survey and suggestions from the DevExpress Support Center. As you know, XAF customers can integrate any custom controls (Using a Custom Control that is not Integrated by Default) and that does the job quite nicely. We will also continue monitoring user demand in this regard.

22 August, 2019
Linton
Linton
Where should we post issues found in this version?
27 August, 2019
Dennis (DevExpress)
Dennis (DevExpress)
@Linton: In the DevExpress Support Center: https://www.devexpress.com/ask - thanks!
27 August, 2019

Please login or register to post comments.