写点什么

TypedMVVM 使用 TypeScript 构建 Windows 商店应用

  • 2013-12-12
  • 本文字数:980 字

    阅读完需:约 3 分钟

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

根据 Davide 所说,所有的.js 源文件都会被转换成使用新文件夹结构的 TypeScript,包括类 / 接口的实现。但是为了允许可混合性 designData 为设计时数据提供了实现,类库包括 TypeScript 定义和 TypedMVVM 核心类,特别是 RelayCommand和 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

2013-12-12 05:241328
用户头像

发布了 321 篇内容, 共 130.3 次阅读, 收获喜欢 19 次。

关注

评论

发布
暂无评论
发现更多内容

密码学系列之:memory-bound函数

程序那些事

加密解密 密码学 程序那些事

11款开发者必备插件,第1款简直神器!

Jackpop

chrome 开发

模块八:设计消息队列存储消息数据的 MySQL 表格

ifc177

抖音打击刷量控评行为:数据造假是互联网行业的毒瘤

石头IT视角

再谈BOM和DOM(6):dom对象及event对象位值计算—如offsetX/Top,clentX

zhoulujun

DOM event对象

真的有落地的数据中台么?

escray

学习 极客时间 7月日更 数据中台实战课

Linux之chmod命令

入门小站

Linux

实时个性化推荐(三十六)

Databri_AI

算法 推荐系统

Ansible Playbook - 01

耳东@Erdong

ansible 7月日更 ansible Playbook

自建开发工具系列-Webkit内存动量监控UI(五)

Tim

typescript js 转 ts tsx tsconfig

用mysql模拟实现消息队列

白发青年

#架构实战营

在分布式中如何优化大数据存储结构

喵叔

7月日更

设计消息队列存储消息数据的 MySQL 表结构

贯通

架构实战营

再谈BOM和DOM(5):各个大流浪器DOM和BOM里面的那些坑—兼容性

zhoulujun

DOM事件兼容性

GIS坐标系测绘原理:大地水准面/基准面/参考椭球体/EPSG/SRI/WKT

zhoulujun

GIS

架构实战营 模块 8 课后作业

༺NPE༻

模块七:王者荣耀商城异地多活架构设计

ifc177

2021年,有哪些堪称神器的Python工具包?

Jackpop

Python GitHub

深入了解Spring之Spring Batch框架

邱学喆

数据分片 spring-batch Tasklet 流式任务

机器学习

i30M

Rust从0到1-智能指针-内存泄漏

rust 智能指针 内存泄漏 循环引用 smart pointer

再谈BOM和DOM(7):HTML DOM Event 对象属性及DOM事件详细列表

zhoulujun

DOM DOM事件

让区块链为“三张牌”赋能

CECBC

数字人民币发展的动因、机遇与挑战

CECBC

架构实战营 模块八作业

netspecial

架构实战营

【HikariCP技术专题】原理和使用介绍(原生态开发使用)

码界西柚

HikariCP 7月日更 HikarCP使用 数据源连接池

在线IEEE浮点二进制计算器工具

入门小站

工具

金融机构数字化转型进行时:隐私计算技术成香饽饽,多家银行已开展试点应用

CECBC

Python打包有没有更好的软件了啊

IT蜗壳-Tango

7月日更

探秘RocketMQ事务机制,如何保证消息零丢失

慕枫技术笔记

Java RocketMQ 后端

MySQL事务分析

卢卡多多

事务 事务隔离 7月日更

TypedMVVM使用TypeScript构建Windows商店应用_语言 & 开发_Anand Narayanaswamy_InfoQ精选文章