The Dew Review - DevExpress Universal 14.2.4





5.00/5 (4投票s)
今年我一直在关注并开始使用 Universal 14.2.4 版本中的一些组件。
引言
在过去的几年里,我曾多次评测过 DevExpress 组件。以下是我最近的四篇评测。
- The Dew Review- DevExpress ASP.NET 2013.2
- The Dew Review – DevExpress WPF Subscription – 2013.1 Release
- The Dew Review – DXTREME: DevExpress 的跨平台应用程序开发工具
- The Dew Review – DevExpress DXv2 WPF 2012.1
今年我一直在关注并开始使用 Universal 14.2.4 版本中的一些组件。DevExpress Universal 订阅包含适用于所有类型 .NET 开发的控件和模块,以及使用 DevExtreme 进行跨平台 Web 和移动开发的工具。从 WinForms 到 WPF,再到客户端的 Windows Universal 应用,以及 Web 端的 WebForms、MVC、HTML5/JS,DevExpress 为 Microsoft 技术栈上的每一位现代开发者都提供了解决方案。
新特性
DevExpress 14.2.4 版本一个显而易见的变化是,它专注于提供能够帮助开发人员在当今设备上创建出色体验的组件。首先也是最重要的,那就是触摸。除非您购买的是服务器,否则很难找到一款不是某种程度上支持触摸的新 Windows 设备,无论是屏幕本身还是通过多点触控板。当今的应用需要支持点击、捏合、滑动和甩动等手势。DevExpress 的 Windows 和 Web 组件有助于实现这些功能。在此了解更多信息:此处。
让我们来重点介绍一下 14.2 版本中的一些具体新增或改进的功能。
- 评分控件
- 时间跨度编辑器
- SQL 数据访问组件
- 工作区管理器
- 富文本编辑器
- 用于创建控件的新设计时向导
- 自适应面板 – 为您的内容实现响应式布局
- 电子表格 – 新增密码保护工作表和元素(演示)
- MVC 拼写检查器
- 电子表格 – 新增密码保护工作表和元素(演示)
- 径向菜单
- 拼写检查器 – 新增即时检查模式
- 图表控件 – 新增系列类型:样条、样条区域、堆积样条区域和全堆积样条区域
- 磁贴栏
- MVVM 支持
- 最终用户报表设计器
- 新的通知模块
- 大量新的 HTML5/JS 小部件
- iOS 8 和 Android 5 支持
关注领域
由于 DevExpress Universal 产品范围广泛,我将重点介绍 WPF 和 DevExtreme 产品中的几个领域。
WPF
示例 - 视频租赁
DevExpress Universal 提供的 WPF 示例应用程序之一是视频租赁应用程序。它是一个功能齐全的应用程序,用于管理视频租赁商店的运营。以下是该应用程序运行中的一些屏幕截图。
该应用程序使用了许多类似 Outlook 中的丰富 Office 风格控件,包括一个类似功能区的工具栏,其内容是上下文感知的,并在应用程序导航时发生变化。
代码量庞大且设计精良。ViewModel 被分解到自己的项目中,其他项目用于 UI、资源和数据/平台服务。这是项目依赖关系的图表。
这是使用 WPF 和 DevExpress 构建的完整、成熟的企业级应用程序的一个好例子。
模板
DevExpress Universal 包含一个模板向导,可根据平台、DX 版本和编程语言选择最适合您项目的起点。选择 WPF 作为平台时,有以下模板可用。
选择“项目向导”选项,将引导开发人员完成一系列选择,以构建项目最佳的起点。我在这个图库中包含了我的选择步骤。
显然,并非所有项目都需要所有这些功能,并且每个步骤都是可选的。完成所有选择的向导后,将生成一个主窗口,外观如下。UI 已完整,可使用DevExpress MVVM 框架或任何其他 MVVM 框架连接到 ViewModel。参考 DevExpress.Mvvm.dll v14.2 会被自动添加到起始项目中。
功能重点 - 支持 MVVM 的 POCO ViewModel
.NET 开发人员可以使用多种流行的 MVVM 框架,包括 MVVM Light 和 Caliburn.Micro。DevExpress MVVM 框架有一个特性使其脱颖而出。
开发人员可以创建一个 POCO(普通 .NET 对象),并通过约定和对 DevExpress.Mvvm.POCO.ViewModelSource
类的调用,将其转换为 ViewModel。以下约定定义了 ViewModelSource 如何从提供的 POCO 创建结果 ViewModel。
- 所有具有公共 getter 和公共/受保护 setter 的公共虚拟和自动属性都将生成可绑定的属性。
- 如果要在属性更改时执行特定逻辑,应创建以下格式之一的方法:On[Property Name]Changed() 或 On[Property Name]Changing()。
- 命令是为所有具有 0 或 1 个参数的公共方法生成的。有一个可选的 Command 属性和一个流畅 API 来控制命令的创建。
- 可以通过添加类级别属性来为 POCO 类添加
IDataErrorInfo
以进行验证。
这是一个简单的 POCO,它将在运行时通过 ViewModelSource 使用 Reflection Emit 转换为功能齐全的 ViewModel。
using System;
using System.ComponentModel.DataAnnotations;
using DevExpress.Mvvm.DataAnnotations;
using DevExpress.Mvvm.POCO;
namespace Alvin.DXWPF.Sample1
{
[POCOViewModel(ImplementIDataErrorInfo = true)]
public class MainViewModel
{
//Bindable SummaryName property will be created with validation
[Required(ErrorMessage = "Please enter the summary name.")]
public virtual string SummaryName { get; set; }
//Bindable Categories property will be created
public virtual IObservable<string> Categories { get; set; }
//SaveSettingsCommand will be created
public void SaveSettings(string fileName) {
// save logic here
}
//Will validate if the SaveSettingsCommand can be executed
public bool CanSaveSettings(string fileName) {
return !String.IsNullOrEmpty(fileName);
}
//Method that will NOT become a Command
[Command(isCommand: false)]
public void DoSomethingThatIsNotACommand()
{
// doing stuff
}
//prevent creating the View Model without the ViewModelSource
protected MainViewModel() { }
//Use the ViewModelSource class to create a MainViewModel instance
public static MainViewModel Create()
{
return ViewModelSource.Create(() => new MainViewModel());
}
}
}
正如您所见,这种创建 ViewModel 的方法可以使类保持简单和整洁。
DevExtreme
示例 – DX Hotels
DX Hotels 示例应用程序是用于预订酒店房间的 Web 应用程序。它构建在 DevExtreme 平台之上,使用 ASP.NET MVC、Razor 视图、OData、Entity Framework、jQuery 和Knockout.js。以下是该项目结构的概览。
这是页面首次加载时的样子。Web 应用程序的用户可以选择要预订的地点和日期。
该项目的代码量比 WPF 示例项目“视频租赁”少,但它也具有相当多的功能。用户可以搜索、选择和预订酒店,并且有一个简单的登录功能,可以接受任何用户名/密码组合并模拟登录状态。
模板
DevExtreme 模板提供了创建 JavaScript 或TypeScript 应用程序的选项,以及 Visual Basic 或 C# 的 OData 服务项目。
选择“DevExtreme 14.2 Basic Application”模板会在新项目中生成以下内容。
此外,css 文件夹内有 13 个 CSS 文件。该项目是一个跨平台的移动 Web 应用程序,在运行解决方案时会在所选浏览器中以基于 Web 的模拟器启动。默认情况下,iOS 是选定的模拟器。这是作为 iOS DX 应用程序运行的简易项目。
由于 DevExtreme 应用程序利用了Apache Cordova,您的应用程序可以跨设备类型访问相机和位置等原生平台功能。最近关于 Cordova 应用开发有很多讨论,Visual Studio 2013 和 2015 都内置了构建这些应用的能力。DevExtreme 已经实现了这一点几年了。
总结
本文仅介绍了 DevExpress Universal 14.2 中可用控件和模块的部分功能。访问DevExpress 网站,了解他们的控件套件在 2015 年如何加速您的应用程序开发,并且不要忘记下载免费试用版。
我的下一篇评测将重点关注DevExpress TestCafé,这是一个强大的工具,可以使功能性 Web 测试变得轻松有趣。请尽快回来阅读相关内容。
编码愉快!