WilsonUIMapper v1.0 Released

The WilsonUIMapper is a simple-to-use UI Mapper (User Interface Mapper) for .NET v1.1 and beyond. What is a UI Mapper? A UI Mapper is a library and set of controls that allows your UI to be dynamically created at run-time, loaded from your business entity objects, as well as to persist the UI changes back. It also allows you to use your own DAL, Framework (like CSLA), or O/R Mapper (like NHibernate, LLBLGen Pro, WilsonORMapper) to transparently load and persist your business entity objects to a relational database. UI Mappers are not new -- they have been around for some time, although until now they were typically application specific uses of meta-data, whereas the WilsonUIMapper makes it possible to use this approach in any application.

Why use a UI Mapper? Most reasons are centered around flexibility and maintainability. A good UI Mapper lets you target both Web and Windows applications, as well as making it easy to support multiple layouts and localization. Multiple layouts make it easy to provide role-specific views and/or user personalization, and the integration with your DAL or O/R Mapper makes it easy to support full paging and sorting, as well as multiple databases. A good UI Mapper also makes your UI very consistent and your code base much smaller, while letting you focus on your business logic, instead of worrying about how to create routine admin-like screens. Note that a good UI Mapper does not generate code that you have to compile and maintain.

What about the downside? Its very true that your most important screens will probably be too sophisticated for a generic UI Mapper, but most applications have 80% of their screens being routine admin-like screens. Its also true that a dynamically created edit screen may be a little slower, but you should find it very minimal and not significant anyhow for admin-like screens. By the way, I've actually found my list screens to perform a little better than most typical solutions, especially for web applications. Finally, its also true that a code-generation approach can be much more customizable for your own needs, but that is often far more work, especially for simple applications and for the typical admin-like screens in any application.

And the WilsonUIMapper? It supports both Web and Windows applications, and your own custom DAL or O/R Mapper, as well as the WilsonORMapper. You can also create and plug-in your own custom Widgets to wrap 3rd party controls, like Infragistics, or to make your own edit controls. You should be able to even use CSLA, NHibernate, or LLBLGen Pro -- all that is required is that you implement the IORMapper interface. You can also use any technique you wish to localize the UIMapper controls, by implementing the IResources interface -- or do nothing at all and it will use the strings in your UI Mappings. Its designed to be as simple to use as possible -- just create a simple Xml UI Mapping file, with the help of a CodeSmith template.

The basic UIMapper framework is totally free, including the source code, and I encourage anyone to create, freely distribute, or sale custom UI controls that support this framework. My Web and Windows controls have free versions that display footer notices when used, and you can use these in any application if you don't mind these footer notices. Or you can purchase my UI controls, both the Web and Windows sets, for $50 to remove the footer notices, including the full source code, as well as the WilsonORMapper if desired. But as much I like to make the occasional $50, I also really do want to encourage the use and growth of the basic UIMapper framework with custom controls by others and integration with other DALs and O/R Mappers.

You can see a working web demo on the UIMapper.net site, and you can download a working Windows demo, along with the free versions and framework source.

    Free UIMapper Framework
  • Basic UI Mapping Framework is Free -- Including Full C# Source Code
  • Simple Xml Mapping Files between UI Elements and Business Entities
  • Both Web and Windows Application from Single Set of Xml Mappings
  • Optional Multiple Xml Files, Embedded Resources, or Programmatic
  • CodeSmith Template Included to Generate Xml Mappings from Entities
  • Use my UI Controls (Free or Paid) or Create/Sale Custom UI Controls
    UIMapper ListView Control
  • Basically a Grid Control -- But Fully Automates Paging and Sorting
  • Columns Defined in Mappings includes Text, Width, Alignment, Format
  • Configurable Permissions for AddNew, Update, Delete, Refresh, Select
  • Supports Filtering and Automatic In-Place Delete with Confirmation
  • Web: CSS Styles and Images -- Windows: Colors, Fonts, and Images
  • Free Version fully Functional -- Paid Version includes C# Source Code
    UIMapper EditView Control
  • Basically an Edit Screen -- With ReadOnly View and Multiple Columns
  • TextBox, IntegerBox, NumberBox, DatePicker, CheckBox, MemoBox, Label
  • Also ComboBox, ListBox, Double-Entry Password, and Custom Widgets
  • Validate Required, Regular Expressions, Range, Password Comparison
  • Web: CSS Styles -- Windows: Colors and Fonts -- Both: Width and Span
  • Free Version fully Functional -- Paid Version includes C# Source Code
    UIMapper Open Architecture
  • Data Retrieval and Persistence from any DAL, Framework, or O/R Mapper
  • Just Implement IORMapper Interface -- Demos show both DAL and ORMapper
  • Optionally Implement IResources Interface to Fully Localize UI Controls
  • Define Multiple Views in Mappings on Same Entity for More Flexibility
  • Use Custom Pluggable Widgets to Wrap 3rd Party or Custom Edit Controls
  • Freely Distribute or Sale Custom UI Controls or Widgets -- List Them Here

6 Comments

Comments have been disabled for this content.