TypedMVVM使用TypeScript构建Windows商店应用

TypedMVVM是由Davide Zordan开发的一个示例和类库的集合,适合于使用WinJS、TypeScript和MVVM编写Windows 商店应用的开发者。借助于该集合,开发者能够在一个简单的、使用WinJS开发的Windows 商店导航应用中通过应用MVVM模式实现关注点的分离,进而在真实的场景中使用TypeScript。

根据Davide所说,所有的.js源文件都会被转换成使用新文件夹结构的TypeScript,包括类/接口的实现。但是为了允许可混合性designData为设计时数据提供了实现,类库包括TypeScript定义和TypedMVVM核心类,特别是RelayCommand<T>和ViewModelBase。该包还包含服务(Services)、视图模型(ViewModel)和视图模型工厂(ViewModelFactory)的接口以及具体的视图模型实现和视图定义。

为了了解与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

你可能感兴趣的:(TypedMVVM使用TypeScript构建Windows商店应用)