BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

面向桌面开发的Windows Template Studio

| 作者 Jonathan Allen 关注 614 他的粉丝 ,译者 谢丽 关注 12 他的粉丝 发布于 2018年8月9日. 估计阅读时间: 6 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

在过去的二十年里,开发Windows应用程序所需的样板代码的数量急剧增加,这是由于.NET早期是源于RAD或快速应用程序开发框架。微软试图通过面向UWP应用程序的Windows Template Studio来解决这个问题。

Windows Template Studio是一个脚手架工具,你会发现,它跟Node或ASP.NET MVC的命令行工具很像。(虽然是Visual Studio的一个扩展,但Windows Template Studio是完全点选式的。)

它对三种项目风格提供了开箱即用的支持:空白、导航窗格和数据透视表。2018年,他们计划增加更为传统的菜单栏风格。

以前,微软的项目模板会假设你只使用微软的库。Windows Template Studio在这方面有所不同,你可以选择一个包含合适的第三方库的“设计模式”。目前在列表上的有“代码隐藏(code behind)”、MVVM Basic、MVVMLightCaliburn.MicroPrism

其中包括如下多种页面类型:

  • Settings
  • Web View
  • Media Player
  • Master/Detail
  • Telerik Data Grid
  • Chart
  • Tabbed
  • Map
  • Camera
  • Image Gallery
  • Ink Draw
  • Ink Smart Canvas
  • Ink Draw Picture

Windows Template Studio可以分别接入以下“特性”:

  • VS应用中心分析
  • 3D应用启动器,适用于“混合现实”环境
  • URI模式,使用自定义的URL启动应用程序
  • Web到App的链接,可以替网站启动应用程序
  • 设置存储
  • 挂起和恢复
  • 后台任务
  • 共享资源,和其它应用程序共享文本、链接、图片等
  • 分享目标,用于接受来自其他应用程序的分享
  • Toast通知
  • Azure通知
  • 开发中心通知
  • 动态磁贴
  • 首次运行提示
  • 新特性提示
  • 反馈中心链接
  • 拖放,从应用到桌面以及从桌面到应用

人们经常抱怨,微软的模板往往没有“生产就绪”,而且违反平台的最佳实践。作为解决这个问题的一个方法,Windows Template Studio定义了一系列模板和生成代码的原则

  1. 保持生成的模板简单。
  2. 生成模板只是开始,还不是完整的应用程序。
  3. 模板一旦生成,必须能够编译和运行。
  4. 生成的模板应该对所有设备族有效。
  5. 模板应该有注释,以便为开发人员提供帮助。这包括指向密钥注册页、MSDN、博客和how-to页面的连接。提供的所有指南都应该经过框架、SDK或库创建者的确认。
  6. 所有特性在最近两个RTM Windows 10升级包中都支持。那些支持的版本是Windows 10 Creators Update 和Windows 10 Fall Creators Update。
  7. 发布到生产环境的模板遵循Windows 10当前版本使用的设计语言。
  8. 代码应该遵循.NET Core编码风格。

项目结构

项目结构会因为你选择的选项不同而有所差别,但有些东西是通用的。例如,会生成单独的数据模型和视图模型文件夹。

按照MVVM模式,每个视图模型会直接反映与之关联的视图。在我们的第一个测试中,我们选择Caliburn.Micro作为设计模式,这样,每个视图模型就从Caliburn.Micro.Screen继承。视图本身会按照用法划分到“view”文件夹和“controls”文件夹。

Caliburn.Micro设计模式会启用依赖注入,并预配置视图模型。这使用了Caliburn.Micro ViewModelLocator。其他服务根据使用情况接入。

如果你选择了MVVM Basic设计模式,模型视图会由相应的视图自动创建,不需要DI框架。这说明,微软在尊重开发人员的选择方面切实做了些工作,而不是强制采用某种特定的应用程序设计。

就像你在网站中看到的那样,会有一个“styles”文件夹,其中包含决定应用程序样式的资源字典。有人或许不熟悉UWP,资源字典就相当于CSS文件。

国际化支持被纳入模板,平常的.NET字符串资源文件按照语言/文化来组织。

第一印象

使用Windows Template Studio创建第一个项目比较慢。在初始代码生成之后,创建过程就跟挂起了一样,那是在下载和缓存库。这不会影响该工具的后续使用。

添加新页面/特性和预期一样。例如,当使用包含DI框架的设计模式时,你可以预览如何修改DI代码以适应新页面。

不仅如此。如果你向已有的项目添加一个Map页面,那么它会智能更新应用描述文件,加入必要的权限。脚手架工具很少做得这么细。

但最终,它还是一个UWP应用,有着UWP应用的所有限制。在接下来的报道中,我们将介绍微软试图通过什么方式使UWP更适合业务线应用程序。

查看英文原文:An Introduction to the Windows Template Studio for Desktop Development

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT