Usefulness, uniqueness, ultra-specificity, urgency – besides article writing, this magic 4U formula may also apply to application development. As the market is constantly growing, companies require efficient software for different business purposes. This article is dedicated to DevExpress XAF Framework, which meets the above requirements.
DevExpress and XAF Framework overview
DevExpress is already 20 years on the market and won more than 200 industry awards that proves usability and efficiency of its products. One of such products is eXpressApp Framework, which we are going to consider in details bellow.
DevExpress XAF Framework – the top tool for business app development
Whatever the business is, it always requires tools for fast, effective solutions and results. DevExpress XAF Framework aimed to find them.
What is XAF? EXpressApp Framework or simply XAF is a business application framework for developers who generate applications for Windows, Web and Mobile. It also provides easy-to-use business solutions that target both WinForms and ASP.NET.
EXpressApp Framework contains built-in support for MS Entity Framework and DevExpress eXpress Persistent Objects (XPO) ORMs and includes support for the most featured database engines.
Besides, eXpress Application Framework provides opportunity to define the data model manually in code or with the help of visual scheme designer. In the same time, XAF will automatically create the complete and totally customized UI on your data model basis. With every change target user’s needs and context of use, the data model and UI will change accordingly.
With the help of XAF wizards, you can also generate your data model, whether it is complex or simple, from already existing database. Express application Framework allows developers to use more than 20 ready modules including exporting, reporting, mapping, charting, scheduling and others. You can integrate all these packages in your current XAF application.
Key benefits and opportunities of DevExpress XAF
Nowadays companies operate, store and process huge amount of data about staff, clients, sales and more. Thus, there is a strong necessity for the quality software that will lead the working process to success. DevExpress has a solution, and as you probably guessed - this is eXpressApp Framework. Let’s look what benefits and opportunities XAF offers below:
- Application development from scratch - this approach gives developers the following advantages:
|Total control over every application aspect.||Possibility to optimize the software according to the needs of particular application.||There is no requirement to follow the rules of some external system.|
- Possibility to use the same business logic in WinForms, ASP.NET and Mobile;
- Allows to choose the data model – you can choose from ready-to-use models or create a new one manually. Moreover, if modifying data UI will be changed automatically;
- Supports the use any .NET language during application development;
- XAF is easily extensible - customize or replace almost every built-in application UI element or standard behavior.
For even better work of eXpressApp Framework DevExpress offers to meet Xafari. This business platform based on the DevExpress eXpressApp Framework and developed for creating advanced business applications with an n-tier architecture.
How Xafari extends the capabilities of DevExpress XAF
Xafari is an ASP.NET MVC application framework intended to create complex business applications and provide users and developers with the following benefits:
- Uses Microsoft.NET;
- Convenient architecture and interface with a variety of components and settings;
- Supporting different databases as MS-SQL, Oracle, and MySql;
- Application business model;
- Build-in system for reports generation;
- Diverse strategies of a security model;
- Business processes management;
- Fast adaptation for the end user;
- Rapid integration with third-companies applications and possibility to use their solutions;
It includes a variety of the following components:
- General Components: created in order to extend a standard XAF application and to make it more attractive with the help of new functions, advanced UI ergonomics, and high performance.
- Business Components: promote implementation of various business tasks and are aimed at effective operation that significantly reduce the cost of the project.
- ERP Components: allow developing rapidly enterprise solutions on the DevExpress XAF basis. The components help to operate the huge amount of data allowing the hundreds of users to have it in their disposal.
- ASP.NET MVC: provides the opportunity to launch a standard XAF Web application on the ASP.NET MVC 5 platform. The MVC technology is rather right-on in comparison with WebForms. Thus, it improves the application’s performance using economical costs.
Being a set of different components, modules and utilities Xafari complements DevExpress XAF platform and increases its capacity. As DevExpress XAF applications include lots of modules the following problems may occur in the process of their development:
- Application performance is rather low;
- Increasing RAM requirements;
- Too complicated views and ergonomics.
In order to avoid or minimize the above problems it is important to make some extra optimizations. That is why our team offers Xafari as DevExpress XAF alternative for some practical components:
XAF is a complex app so the program requires a variety of Controllers such as ViewController for example. As a result, a set of Controllers created for each Frame even if Controller will not be activated on a particular Frame.
As a solution, Xafari suggests LogicController. Logic Controller is convenient to use as it helps to avoid the huge amount of Controllers and do not serve as container for Actions. Hence, it optimizes memory and UI performance.
ITreeNode is a XAF interface that can be used both with persistent and non-persistent data. Persistent and non-persistent objects are thousands and about 100 accordingly. As a result, the hierarchical data described in rather abstract way and some peculiarities of the hierarchy implementation are not considered.
IHierarchyNode uses the data about objects persistence. Moreover, it supports multiple hierarchies what gives user opportunity to change the current hierarchy and to modify it in the runtime.
Being a complex app XAF works with complex objects that contain huge variety of properties and include several dozen of collections. To view the object from above-mentioned collections it is necessary to create a separate View that will contain all these lists and properties. The View complexity leads to its slower work.
Xafari suggests here to divide complex Views into simpler ones. Thus, the main form shows the most common Views. The DockPanels implemented for the additional Views and attached to the main form. So now we have several simple Views that related to each other but work faster.
For request performance XAF.Web obliged to send to the server the complete View state. Consequently, before sending the response the page structure built from scratch on the server. It leads to serious limits for development of XAF applications that can be used by lots of active users.
To solve this problem, Xafari team developed the XafariMVC. It is similar to XAF.Web and as a basic platform uses ASP.NET MVC5. XafariMVC improves the response time up to 50% and raises the limit of active users of the application thrice.
There were the major solutions and improvements for DevExpress XAF. For more info, refer to What Benefits Xafari Provides.