TypedMVVM 是由 Davide Zordan 开发的一个示例和类库的集合,适合于使用 WinJS、 TypeScript 和 MVVM 编写 Windows 商店应用的开发者。借助于该集合,开发者能够在一个简单的、使用 WinJS 开发的 Windows 商店导航应用中通过应用 MVVM 模式实现关注点的分离,进而在真实的场景中使用 TypeScript。
根据 Davide 所说,所有的.js 源文件都会被转换成使用新文件夹结构的 TypeScript,包括类 / 接口的实现。但是为了允许可混合性 designData 为设计时数据提供了实现,类库包括 TypeScript 定义和 TypedMVVM 核心类,特别是 RelayCommand
为了了解与 TypedMVVM 相关的更多内容,InfoQ 采访了软件架构师、开发者和 Microsoft MVP Davide 。
InfoQ**:你能与我们分享一下开发TypedMVVM的目的是什么吗?**
我喜欢编写具有良好组织结构的代码,喜欢拥抱优秀的实践,例如关注点分离、面向对象、模块化、可测试性和可扩展性。
依我看,TypeScript 正在为开发者提供很多编写专业应用程序所需要的基础功能。特别是支持类型检查、推理和反射功能,同时完整的智能感知支持也是编写复杂的大型应用所必须的。由于这些原因我决定实现一些简单的类,阐述如何在一个使用 TypeScript 的 WinJS 导航应用程序中应用 MVVM 设计模式。
InfoQ**:使用TypedMVVM构建的 **Windows 商店应用和没有使用它构建的应用之间有什么区别?
传统的使用 WinJS 构建的 Windows 商店应用核心语言是 JavaScript。TypedMVVM 使用 TypeScript 作为核心语言,该语言支持静态类型、接口和类(仅列举一部分),但是最终会被编译成简单的 JavaScript。它还包含一些可以帮助开发者开始使用 ViewModel 模式的帮助类,让他们写出架构正确的、可测试的代码。
InfoQ**:使用TypedMVVM能够编写哪些类型的应用?**
当前的目标是使用 WinJS 框架的 Windows 商店应用。
InfoQ**:你听说过哪些使用TypedMVVM实现的应用?**
这个项目刚刚发布,所以现在我并不知道有关于真实项目的信息。
InfoQ**:你能与我们分享一下TypedMVVM将来的路线图么?**
我现在依然在定义路线图的过程中,但是我正在考虑控制反转、松耦合消息和应用特定的服务:这些功能将非常有用。
查看英文原文: TypedMVVM Uses TypeScript to Build Windows 商店 Apps with WinJS
评论