大白技术控 | Windows10X 模拟器简单上手体验

点击蓝字“大白技术控”关注我哟

加个“星标”,每日 19:30,好文必达!

前言

Windows10X 和 Windows10 有什么区别?当这个问题摆在我面前的时候,我就脱口而出:区别?双屏了呗!

这个答案有点低能,也有点肤浅。Windows10X 的出现,意味着Windows可能要进行的一些改变,我只是一个小小的开发者,也不想做过度解读,就带着大家来看看 Windows10X 有哪些新的变化,并稍加分析。

开始菜单与圆角化

从 Windows8 时代开始,以磁贴为代表的直角设计便充斥在 Windows 界面的各个角落。但是在 Windows10X 中,界面全面转向了圆角,注意哈,我说的是全面。

这个圆角包括了很多方面:控件、图标、乃至窗口。

你可能会说,不就是变一个圆角吗,有什么稀奇的?

有。


圆角本身只是一种设计,但它却会对UI造成直接的影响,进而影响到系统功能。最直观的后果就是陪伴了我们两个大版本的磁贴被取消了。圆角矩形堆叠时必然会产生一个个无法填充的死角,多了就会形成一个个空洞,这是很难看的。

当然,磁贴取消有视觉原因也有功能原因,只说视觉有些牵强。


原来的磁贴都是放在开始菜单中,理论上它可以显示很多的信息,并有一些有趣的动画效果。但在桌面系统中,我们打开开始就意味着结束,磁贴占据面积大,又没有多少软件适配,理想很美好,现实很骨感,不如砍了吧。

于是就砍了。

这个重新处理过的开始菜单和我们以前见识过的开始菜单截然不同。

虽然中间出过 Windows8 这个异类,但总体来说,Windows 的开始菜单都是一脉相承的,除了样式外,内部的逻辑没有太大的变化。我们可以简单地理解为是一种树状视图,有些时候你还能在开始菜单里看到文件夹并打开它。

而 Windows10X 的开始菜单则是一种更为综合的东西。


上半部分显示应用列表,这里的应用没有完全显示,推测会根据用户的使用频率进行顺序调整,就像现在开始菜单中的最常用标签。这里的显示方式就是平铺图标,这更符合我们在移动端的使用体验。

注意到区别了吗?在过去的树状图中,图标的优先级并不高,我们往往会通过程序名字来识别程序,这样做的好处是,同等高度下,旧开始菜单的信息密度是新开始菜单信息密度的数倍。现在要变了,通过信息密度的下降带来用户体验的上升,你不会在这里看到什么文件夹或者文件,有的只是放大几倍的应用(还有PWA),以后开发应用时需要开发者对应用图标多上上心了。这是一个设计的转变,暗示着微软开始从工程师思维逐步向设计师思维和产品经理思维过渡。


下半部分显示的是最近的文件列表,这个记录应该是跨设备同步的,和OneDrive紧密结合。这个是 Windows 跟 Azure 进行联合之后的必然产物,要说能分析出什么的话,可能以后这种双屏的便携设备会更倾向于云服务吧。经历过现在这样一次疫情的洗礼,国内应该会更加关注远程办公,那么与之紧密相连的云服务也会迎来一次爆发式增长,所以这里没什么好说的。

Dock 栏与 Action Center

底部的这个东西,你可能注意到了。和 iOS 以及部分全面屏安卓手机一样,Windows10X 底部也有一个小横条。鼠标移入或者手指上滑就能唤出这个称之为 Dock 栏的东西。

显然,他就是我们桌面系统的任务栏了。你打开的应用会显示在这里,经过测试,目前在这个模拟器上,竖屏时最多显示5个应用,横屏时是8个,所以下面的 Dock 栏图标个数是会随着屏幕宽度而变化的。


被挤在后面的应用将通过 Task View,也就是任务视图按钮查看,这套操作还是很有点和移动设备取经的味道的,只是目前系统并不完善,只是个模拟器我也不会要求太高,希望以后能有更多的手势操作吧。

接下来我们往右边看。


尽管右边也是个 Dock 栏,但是右下角显示时间的地方可以触发 Action Center

这里我们以往都叫通知中心,但事实上,通知只是其中一个模块。这一点在Windows10X上更为明显。在 Action Center 中,快捷设置显然占据了更大的比重。而且整体的设计都转为了模块化设计,从视觉上进行了分割。


这里的设置模块显然经过了重新设计,在一些模块下提供了二级目录进行设置,这一点还是比较人性化的。

如果你打开了音乐软件的话,与系统集成的MTSC,中文叫媒体传输控件,也会出现在 Action Center 中。所以这里可以做一些推断,也许微软会发布一些新的 API,用于创建一些小插件,就像手机上的负一屏一样。这只是猜测,如果以后能实现的话,那还是很棒的,虽然感觉希望不大。

应用体验

应用是系统体验中最为重要的一环。Windows10X 声称支持大多数Win32应用,我这里条件有限,就不去做这个测试了,等系统正式版出来后自会有人去测试。但是我们还是可以简单地看看这个 Win32 在这个系统中是怎么运行的。

微软在发布模拟器的时候提到了 Win32 应用的运行模式,是在一个容器(Container)内运行的。我以为这是一个形象的说法,但我是真的没想到,TN的竟然是字面意思!

当我们打开记事本时,倏忽间全屏,然后就是一个标题栏孤悬,稍等片刻,一个窗口化的笔记本应用出现,背景上了一层遮罩,孤悬的标题栏消失。

WDNMD,真就是开个模拟器跑 Win32 应用呗?

而且这个笔记本应用在进行窗口拖拽的操作时极为卡顿,我承认我电脑配置不高,但这种卡顿是很明显的,在我这样的低配电脑上更是放大了数倍。

然而这只是个模拟器,我倒不会太较真,只希望正式版出来之后能好一些吧。

说回来,作为一款双屏设备,配置肯定不会太高,受机能限制,Windows10X运行的主流软件应该是 UWP 和 PWA 应用,PWA 暂不考虑,这里我们测试一下 UWP 应用的实际表现。

普通应用


以我自己写的应用做反面教材,可以看到,在单屏上表现还行,但是一旦拉到双屏上,隔断感就会非常明显。

这就要求应用必须做出针对性的适配,目前微软提供了两种方式,一种是使用控件 TwoPaneView,另一种是检测 ApplicationView.ViewMode ,目前多出来一种新的状态,叫 Spanning,是一种跨屏状态(使用该状态的SDK版本要求是19559以上)。

var isSpanned = ApplicationView.GetForCurrentView().ViewMode == ApplicationViewMode.Spanning;
if (isSpanned)
{// do something...
}
else
{// do something...
}

适配应用

以发布会上的 Demo 为例(由 Justin Liu 制作,链接在文末),我们看看适配后的应用表现。


可以看到,经过适配后,双屏的优势会得到显现。由于屏幕增多,可以帮助设计师更好地整理信息,也可以更大胆地使用空白。

对于双屏设备来说,没有明显的主屏-副屏的区别。所以当应用进行扩展后,可以有更多的交互操作与信息展示空间


再以 Microsoft Edge 为例,或许可以更为直观地看到双屏设备的好处。

这是一个调试的界面,左侧显示网页,右侧可以显示调试窗口,对于网页开发者来说,这种视觉观感还是很棒的。


使用感受

  • 应用默认是以全屏状态运行(不可更改),所以理论上最多同时运行两个应用。

  • 在点击开始菜单时,图标会有动画(四个方块轮流变色缩放),目前根据一些信息,这是 Windows10X 的新特性,开发者也可以使用。

  • 使用哪个屏幕的开始菜单打开应用,应用就会出现在哪个屏幕上。这样一来,当打开多个应用时,应用窗口就会堆叠。我很好奇当堆叠时,下层的应用是否还会继续运行,经询问之后,给出的答案是否定的。这应该是出于省电的考虑。

很显然,要想发挥出双屏设备的潜力,应用必须要进行适配,并适当改变当前的操作模式,以适应新设备的特性。


这次模拟器还有一个Compose模式,需要在Action Center中打开。不过目前还没有足够的文档支撑我对其进行把玩,所以只能留到以后体验了。

其它想法

经过把玩,目前我对于 Windows10X 的定位有了一个大概的概念。它要挑战的并不是桌面端 Windows10,而是 iPad OS。

老实说,iPad 作为手机与桌面的中间产品,定位是比较模糊的。说生产力吧,有限;作为娱乐设备,又不太便携。不过也得亏 iPad 能坚持下来,在收获了一堆拥趸的同时,也开拓了这个中间市场。

但即便是对应用有着强大掌控力的苹果而言,iPad的应用生态也不能说很好。那么对微软而言,这一情况只会更加艰难。Win32 应用占据了整个微软应用生态的绝大部分,无论如何不能舍弃,但是微软又缺乏对整个应用生态的控制力。双屏设备的最终潜力还是要交由应用来决定,开发商能不能给面子,愿不愿意尝试新平台,迁移的难度有多大,这些都是需要实际考虑的问题。

以微软的一贯做法,双屏设备的推出必然与生产力直接挂钩(这样一个中间有着大黑条的设备好像也不能拿来玩游戏),一旦非要往工作这个方向上凑,就意味着要放弃 iPad 打下来的卧室生态位(躺在床上回邮件写文档?放过我吧)。

同时,如果 Winows10X 真的对标 iPad OS,意味着微软要同时维护桌面端和平板端两套操作系统,上一次这么干还是 WP 时代。对于是否会因为内部资源问题最终放弃开发,我持相对乐观态度。因为东西毕竟是发布出来了,微软内部也进行了组织调整,加之两套操作系统还是有一些相似之处的,可以相互借鉴。虽然最终会因为操作方式和使用习惯而各自发展,不过以UWP作为沟通桥梁,还是能够保证有相对一致的体验的。

我是个小白,就不多指手画脚了,一些粗陋浅见,说出来博诸位一笑。

身处疫区,就给自己和家乡加油吧。

祝大家身体健康~

双屏 Demo 下载地址:

Github链接:

https://github.com/microsoft/DevDay2020KeynoteDemoUWP

(请将链接复制在浏览器中预览)

关于作者

云之幻,一个UWP开发者,喜欢UI设计,开发过Warframe Alerting Prime,干净阅读等应用。

End

欢迎各位读者加入 .NET技术交流群,在公众号后台回复“加群”或者“学习”即可。

发至朋友圈,是对我最大的支持。

朕已阅 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/311798.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

word List 21

word List 21 如果存在什么问题,欢迎批评指正!谢谢!

Asp.Net Core Identity 骚断腿的究极魔改实体类

前言默认的 Identity 实体类型在大多数时候已经基本够用,很多时候也只是稍微在 IdentityUser 类中增加一些自定义数据字段,比如头像。这次,我要向园友隆重介绍我魔改之后的 Identity 实体类,能支持一些特别风骚的操作。当然也完全…

[蓝桥杯2015决赛]四阶幻方

题目描述 把1~16的数字填入4x4的方格中,使得行、列以及两个对角线的和都相等,满足这样的特征时称为:四阶幻方。 四阶幻方可能有很多方案。如果固定左上角为1,请计算一共有多少种方案。 比如: 1 2 15 16 12 14 3 5 13 7…

数据结构---模式匹配

数据结构—模式匹配 原理&#xff1a;参考趣学数据结构 代码&#xff1a; #include<stdio.h> #include<stdlib.h> #define N 100 int next[N]; void getNext(char *T,int *next,int m) {//求解当前字符前面的最大公共前缀和后缀int j 1,k0;next[j] 0;//从1开始…

CKEditor 4编辑器已与Vue.js集成

虽然 CKEditor 4 不是目前主要维护的分支&#xff0c;不过官方并没有让它落后于潮流。近日&#xff0c;CKEditor 团队发布了与 Vue.js 框架原生集成的 CKEditor 4。这就意味着&#xff0c;开发者可以通过<ckeditor />标签以 Vue.js 组件的形式使用 CKEditor 4 &#xff0…

[蓝桥杯2016初赛]卡片换位-bfs

题目描述 你玩过华容道的游戏吗&#xff1f;这是个类似的&#xff0c;但更简单的游戏。看下面 3 x 2 的格子 在其中放5张牌&#xff0c;其中A代表关羽&#xff0c;B代表张飞&#xff0c;* 代表士兵。还有一个格子是空着的。 你可以把一张牌移动到相邻的空格中去(对角不算相邻…

数据结构---KMP模式匹配病毒感染人的DNA检测

数据结构—KMP模式匹配病毒感染人的DNA检测 原理&#xff1a;参考趣学数据结构 代码&#xff1a; #include<stdio.h> #include<stdlib.h> #define N 100 int next[N]; void getNext(char *T, int *next, int m) {//求解当前字符前面的最大公共前缀和后缀int j …

推荐一个很棒的开源工作流elsa-core

开源项目orchard主要开发人员Sipke Schoorstra 开源了一个netcore 工作流项目&#xff0c;地址&#xff1a;https://github.com/elsa-workflows/elsa-core&#xff0c;最新版本1.2&#xff0c;正在开发2.0版本 。Spike 是参照Orchard Core的工作流引擎的原理&#xff0c;将其转…

WTM系列视频教程:MVVM

WTM系列视频教程第三章&#xff1a;MVVM文字摘要&#xff1a;“要讲MVVM模式&#xff0c;我们先来讲一下传统的MVC模式&#xff0c;要讲MVC模式&#xff0c;我们先来讲一下没有模式。。。”“为了演示没有模式&#xff0c;咱们整个项目就保留一个Program.cs文件&#xff0c;不使…

word List 22

word List 22 如果存在什么问题&#xff0c;欢迎批评指正&#xff01;谢谢&#xff01;

[蓝桥杯]波动数列

题目描述 观察这个数列&#xff1a;1 3 0 2 -1 1 -2 …这个数列中后一项总是比前一项增加2或者减少3。 栋栋对这种数列很好奇&#xff0c;他想知道长度为 n 和为 s 而且后一项总是比前一项增加a或者减少b的整数数列可能有多少种呢&#xff1f; 输入 输入的第一行包含四个整数 n…

ASP.NET 开源导入导出库Magicodes.IE Docker中使用

更新历史2019.02.13【Nuget】版本更新到2.0.2【导入】修复单列导入的Bug&#xff0c;单元测试“OneColumnImporter_Test”。问题见&#xff08;https://github.com/dotnetcore/Magicodes.IE/issues/35&#xff09;。【导出】修复导出HTML、Pdf、Word时&#xff0c;模板在某些情…

python爬取评论_python 爬取马蜂窝景点翻页文字评论的实现

使用Chrome、python3.7、requests库和VSCode进行爬取马蜂窝黄鹤楼的文字评论(http://www.mafengwo.cn/poi/5426285.html)。 首先&#xff0c;我们复制一段评论&#xff0c;查看网页源代码&#xff0c;按CtrlF查找&#xff0c;发现没有找到评论&#xff0c;说明评论内容不在http…

一个支持 CodeFirst/DbFirst/ModelFirst 的数据库小工具

一个支持 CodeFirst/DbFirst/ModelFirst 的数据库小工具IntroDbTool 是一个支持 CodeFirst/DbFirst/ModelFirst 的数据库小工具&#xff0c;原本是基于 dotnet framework WinForm 实现的&#xff0c;在 1.1.0 版本更新中使用 dotnet core 3.1 基于 WPF 重写了&#xff0c;并实现…

高级数据结构---并查集

高级数据结构—并查集 原理&#xff1a;参考趣学数据结构 代码&#xff1a; #include<stdio.h> #include<stdlib.h> #define N 100 int father[N]; int find(int x) {//寻找共同祖先if (x ! father[x]) {father[x] find(father[x]);}return father[x];//找到了…

k8s - 如何变更CNI网络插件IP池?

作者&#xff1a;justmine头条号&#xff1a;大数据与云原生微信公众号&#xff1a;大数据与云原生创作不易&#xff0c;在满足创作共用版权协议的基础上可以转载&#xff0c;但请以超链接形式注明出处。为了方便阅读&#xff0c;微信公众号已按分类排版&#xff0c;后续的文章…

word List23

word List23 如果存在什么问题&#xff0c;欢迎批评指正&#xff01;谢谢&#xff01;

一个新实验:使用gRPC-Web从浏览器调用.NET gRPC服务

今天给大家翻译一篇由ASP.NET首席开发工程师James Newton-King前几天发表的一篇博客&#xff0c;文中带来了一个实验性的产品gRPC-Web。大家可以点击文末的讨论帖进行相关反馈。我会在文章末尾给出原文链接。全部译文如下&#xff1a;我很高兴宣布通过.NET对gRPC-Web进行实验性…

python文件图标变成小电脑_手把手教你给Python程序写图形界面,并且打包成exe文件-exe文件...

环境配置 官网下载Python3&#xff0c;LZ的配置环境是Python3.6&#xff0c;PyCharm 2017.2.1pip3 install PyQt5 #下载PyQt5 pip install PyQt5-tools -i http://pypi.douban.com/simple --trusted-hostpypi.douban.com #下载工具designer.exe&#xff0c;来开发图形界面 在Py…

数据结构(哈夫曼树+KMP)之 数据加密+解密

数据结构&#xff08;哈夫曼树KMP&#xff09;之 数据加密解密 原理&#xff1a;参考趣学数据结构 代码&#xff1a; #include<stdio.h> #include<stdlib.h> #define N 100 #define INF 2^31-1 int next[N]; int Sum 0;//权重总和 typedef struct fNode {//哈夫…