了解 Universal Apps 的方案结构与共用的两个面向
??????? Universal Apps 方案默认有三个项目 (1) Windows Apps (2) Windows Phone Apps (3) Shared, 如下图所示
??????? 这三个项目里面只有 Windows 和 Windows Phone 的项目会输出二进制档, 但 Shared 项目是不会输出二进制档的, 意思就是说 Shared 项目无法独立被编译, 它也不会产生 exe 或 dll 之类的二进制输出档.
?????? 所以 Universal Apps 是如何编译的, 其实他在编译的行为是先将 Windows 和 Shared 项目的所有文件合并在一起然后编译成 Windows Apps 的二进制档 (事实上你会得到一个 exe 档); Windows Phone 也是一样, 在编译时将 Windows Phone 和 Shared 项目所有的文件合并后才进行编译, 所以三个项目会得到两个二进制输出档.
?????? 有了对方案结构的基本了解后, 我们来聊聊‘共用的两个面向’, 在我进行前面一篇文章 [Universal Apps] 共用 Basic Page 的范本 中的范本建立与修改时, 不断地在思索‘Universal Apps 中共用的意义为何?’. 我发现共用这件事是有两个面向的意义, 你没看错, 的确有两个意义, 待我细细说明.
?????? 1. 共用文件
?????? Universal Apps 中共用的意义大家最容易理解的就是共用文件, 也就是我们在 Shared 项目中建立或加入某些文件, 如 xaml, cs, 图档, 文字档 等等, 让 Windows 项目和 Windows Phone 项目在编译时会参考同样的文件来合并. 这个行为很容易理解, 大部分提到共用时, 这也是最直觉的方式. 在我前一篇文章的范本中, MainPage.xaml 就是属于此类.
?????? 2. 共用命名
?????? 这个共用的意义就不是那么的直觉了, 但我认为这也是共用的一种方式, 这种方式的呈现乃在于分别于 Windows 与 Windows Phone 项目建立文件, 但使用相同的命名方式, 如相同的文件名称, 相同的类全名, 相同的模式 (Style)键值, 而使得在 Shared 中的程序或 xaml 能够使用相同的命名定义两个分属在不同项目的实体. 在我前一篇文章的范本中, PageTitleControl.xaml 与 DefaultResources.xaml 就是属于共用命名的类型.
?????? 所以‘共用’这件事并不是狭隘的只有共用文件这样的定义, 当我们深入理解共用的两个面向时, 就能更灵活地在 Universal Apps 方案中应用这两个面向的技巧, 不仅对于开发的速度有帮助, 更可以针对平台特性发挥其专长.
原文:大专栏 [Universal Apps] 方案结构与共用的两个面向
原文地址:https://www.cnblogs.com/chinatrump/p/11505089.html