Elegant Data Representation
The Traditional Approach
A significant investment of time and the need for professional UX skills in order to build elegant and functional user interfaces for different platforms.
Building business applications can be cumbersome and involves a series of mundane and highly repetitive tasks. Based upon requirements, you may be forced to manually create a large number of data entry forms, drag & drop multiple controls onto those forms, position them and configure data bindings. As you know, providing a consistent look and feel across these forms can be a significant time drain, much less the code you'll need to write in order to manage data against the database or ORM. That is just the beginning... You will also need to consider navigation and menu systems, connect list and detail forms, configure the app as an SDI or MDI, etc. And finally, when creating business apps, you'll need to learn and use a myriad of UI controls (grid, pivot, tree view, layout, etc.) and invest the time to target both the desktop and the web.
The XAF Advantage
Automatic UI generation (CRUD detail and list forms, navigation and menu systems - all based on data models).
With XAF, you design your business model and then allow the framework to handle all data management tasks. A CRUD UI for the required platform is automatically generated, following all best practices for the award-winning collection of DevExpress UI Controls used by XAF. The auto-generated UI provides a highly customizable navigation and menu system - you can set one option to switch from tree-based navigation to an Outlook style NavBar. The same goes for switching from a classic menu system to Outlook Ribbon or switching from SDI to a tabbed MDI. If you need a calendar or textbox, you simply define System.DateTime or System.String properties in your business class. Need a lookup editor or a detail grid on the form? Just declare a reference to another business object or a collection of objects, and XAF will create the respective editors in the UI and bind them to data. This is all possible because XAF provides numerous built-in editors for different data types, thus guaranteeing a consistent look and feel across your application. In addition, it is easy to switch data representation by changing the List Editor type (e.g., grid, tree view, scheduler). Of course, you can implement your own editors based on a custom control.
Data Representation - How it Works
When building a business application using XAF, you don't have to create individual forms, arrange UI controls, write code to bind things to data and manage DBMS interactions. When using XAF, you need only design your business model. The framework then handles data server management and automatically generates a UI for the appropriate platform (Windows or Web). This approach makes it easy to maintain projects because when you change the model you do not have to modify multiple forms or web pages - everything is managed automatically by the framework itself.
To represent business object details, a Detail View is auto-generated. Detail Views consist of View Items, including Property Editors - a View Item type that present property data via a specific control. A vast range of Property Editors for different data types is included within XAF. Some of these are used to present data by default. Other Property Editors can be assigned when required. In addition, you can implement custom Property Editors for specific data types or to use a specific control.
Property Editors are also included for the ASP.NET platform.
To show object collections, the eXpressApp Framework generates List Views for each registered business class. In a UI, List Views are represented via List Editors. As with Property Editors, List Editors represent mediators between data (object collections) and a particular control. There are several List Editors supplied with XAF for Windows Forms and ASP.NET applications: GridListEditor and ASPxGridListEditor, SchedulerListEditor and ASPxSchedulerListEditor, TreeListEditor and ASPxTreeListEditor, ChartListEditor and ASPxChartListEditor, PivotGridListEditor and ASPxPivotGridListEditor. You are always free to implement your own List Editors as needs dicate.
You can customize the editor's layout in a Detail View, column set in a List View and set different options for the entirety of a View. To do this, simply customize the Application Model using the Model Editor. For absolute flexibility, your end-users can customize both the Detail View editor layout and List View column layout.
As your solution evolves, you may want to provide multiple customized variants of the same View and allow an end-user to select the desired View at run time. For instance, end-users may need to use different List View column sets and different Detail View layouts in different scenarios. They may also need to use two List View modes: a single List View and a List View together with the Detail View. XAF offers you a built-in implementation of this feature in the View Variants Module.