为Windows 10X和Surface Neo开发

微软的下一代Windows已经被使用了一段时间。 该公司成立于几年前,当时谣传可组合外壳和Windows用户空间的重新设计,内部名称为WCOS(Windows核心操作系统)。 宣布了两种基于WCOS的操作系统版本:Surface Hub 2墙显示器的现已大大延迟(可能已取消)的版本以及为第二代HoloLens提供动力的一种。

首席执行官萨蒂亚·纳德拉(Satya Nadella)长期以来一直将注意力集中在普适性和环境计算上,将其作为最终用户设备的下一个模型,因此,微软正在开发一种可根据其设备的不同操作模型来改变个性和用户体验的操作系统,这并不奇怪权力。 因此,当该公司于2019年底与基于Android的Surface Duo一同推出Surface Neo双屏PC时,发现它将运行基于WCOS的OS,并且为双屏幕和基于触摸的硬件:Windows 10X。

[ 也在InfoWorld上:微软开发人员工具和技术将在2020年进行探索 ]

Windows 10X开发工具

自从发布以来,人们一直在猜测如何为新平台构建和交付应用程序 。 我们现在可以停止猜测。 微软不仅详细讨论了其Windows 10X应用程序策略 ,而且还交付了首批开发人员工具 ,新的SDK和用于测试使用Windows 10X API构建的代码的双屏模拟器。

Windows 10X和Surface Neo工具的入门非常简单。 在当前的Windows Insider Fast Ring构建版本19.0.19555或更高版本上运行的Intel开发系统上,您至少需要四个内核,并具有至少8GB的RAM。 对于大多数PC,这可能是21H1,并且与仿真器中使用的Windows 10X版本来自同一组构建分支。 最重要的是,安装最新的Visual Studio 2019预览版和Windows 10 SDK的当前Insider预览版。

下载Microsoft Emulator之后 ,通过从Microsoft Store添加Windows 10X Emulator映像进行后续操作。 使用Store for Emulator和图像应确保它们自动保持最新。 距离物理硬件的发布和Windows 10X最终版本的发布还有几个月的时间,因此我们期望定期发布更新的映像。 模拟器管理器使您可以调整虚拟设备可用的内存量,以及是否使用物理GPU。

为Windows 10X双屏设备编写代码

为Surface Neo和Windows 10X开发将与为Windows 10开发非常相似。它使用相同的工具,甚至是相同的SDK。 在对双屏的新增支持以及与新硬件相关的不同设计模式方面,情况有所不同。 有一些与Windows 10X应用程序隔离模型有关的问题,但大多数应用程序不会受到影响。

开发模型的核心是新的“两窗格视图”控件 ,该控件是新的WinUI控件集的一部分。 这使它可用于Win32和通用Windows平台(UWP)应用程序以及基于Blazor Web程序集框架构建的Web应用程序。 它是一个XAML控件,可自动调整大小并管理双屏设备上主视图和辅助视图的内容布局。

该控件提供三个视图:单个窗格,宽并排窗格和高视图,其中一个窗格在另一个窗格上方。 宽和高均可用于跨越两个设备屏幕的单个窗格。 您不会将新视图用作布局的根元素。 Microsoft建议在NavigationView控件内使用它,以在应用程序导航中为其提供上下文。

窗格本身托管XAML布局面板,其中托管控件和内容。 由于灵活性是Windows 10X应用程序模型的关键方面,因此它们都应该是可按需缩放的响应式布局,因为在窗格中运行的另一个应用程序可以阻止双屏操作。 值得尝试在Windows 10X模拟器中尝试使用此控件,以了解如何在应用程序中使用它,或者将其添加到现有应用程序中,以便您确定如何在双屏硬件上运行。

对于像Surface Neo这样的双屏设备,最好设计您的应用程序,以使内容在两个屏之间均匀分配。 例如,电子邮件应用程序可以使用一个屏幕显示文件夹和消息标题,而另一个屏幕显示所选消息的内容。

Windows 10X具有其他操作模式,可以利用一种类型的视图,将一个屏幕用作控制器,将另一个屏幕用作显示表面。 在一个显示器上使用编辑控件,而在另一显示器上使用您正在处理的图像,您可以提供基于触摸的自定义图像编辑环境,将其中一个显示器视为自定义键盘。 在使用Windows 10X时,利用纵向和横向显示选项可为您提供更多选择。

如果您打算构建可在Surface Neo和Surface Duo上使用的跨平台应用程序,则Microsoft的Xamarin将开发一个双屏SDK,作为其Xamarin.Forms工具的一部分。 使用此方法开发的代码将在两种平台上运行,尽管您需要考虑不同的屏幕分辨率以及它们如何影响响​​应式设计。

通过构建代码并准备进行测试,您可以将Windows 10X仿真器用作调试目标 ,并使用Visual Studio的远程调试工具连接到仿真设备上的Windows设备门户。 在模拟器中,您可以设置Visual Studio集成(它应该在Visual Studio 2019预览版中自动识别,这使得它可以从较早版本访问以测试现有代码)。 完成后,可以从Visual Studio的调试菜单中将其用作目标。 Microsoft建议将Windows 10X的应用程序打包为MSIX,因为它支持常见的Visual Studio语言,并且与Microsoft Store和直接下载兼容。

Windows 10X应用程序模型

Windows 10X 最有趣的方面之一是它如何使用Windows自己的容器将运行中的应用程序彼此隔离,从而保护应用程序的安全。 这确实对您的代码施加了某些限制,而这些限制在Windows的早期版本中是不存在的,这使Windows 10X应用程序的行为更像Windows 8中的WinRT应用程序。除了一组严格的API外,没有对OS级功能的写访问权,因此您不能在工具栏通知区域中包含启动应用程序或应用程序,也不能修改系统注册表。

您仍然可以在Windows 10X,UWP(通用Windows平台)和Web应用程序上运行Win32应用程序。 不需要使用Microsoft Store,任何安装程序都可以设置和运行应用程序容器。 微软将Windows容器视为安全边界以外的东西。 他们管理资源和应用程序的生命周期。 应用程序的所有数据都托管在“应用程序数据”文件夹中,可虚拟化注册表并管理容器的文件系统。 任何应用程序都不会影响他人的数据,也不会覆盖操作系统,从而大大减小了Windows威胁面的大小。

如果您使用的是UWP或MSIX,则可以在标准Windows 10上获得很多。Windows 10X的显着不同之处在于其新的Win32 Container。 设计为在Windows 10X上支持旧代码而设计,现有应用程序全部在单个容器中运行,该容器可容纳32位和64位代码,并且可以与任何安装程序一起使用。 尽管Microsoft打算将兼容性问题降到最低,但仍会存在一些兼容性问题。 它与WSL建立在相同的瘦虚拟机管理程序上,可以访问Windows 10X文件系统的选定部分,并通过容器OS集成支持剪切和粘贴。

Windows 10X在操作系统,驱动程序和应用程序之间进行了严格的区分。 这样可以以最少的重新引导进行快速更新,安装新的OS版本,并将当前运行的环境从旧OS转移到新OS。 确实需要重新启动,但是您可以在不到90秒的时间内完成重新启动后的工作。

新平台的某些方面仍有待揭示:Surface Neo双屏设备及其OEM替代品正在围绕英特尔的Lakefield CPU构建,后者提供与ARM的big.LITTLE体系结构x86等效的x86处理器,并融合了高性能和低功耗内核。 微软已经描述了应用程序如何声明与特定核心类型的相似性,以便不需要太多功能的应用程序可以使用性能较低的核心。 但是,它还没有显示如何在代码中提供对此功能的支持。

距离Windows 10X硬件还有几个月的路程,Microsoft明智地决定让开发人员访问OS的早期版本以及构建应用程序所需的工具。 使用瘦的Hyper-V环境托管模拟器可减少开销,并应提供接近本机的性能。 即便如此,微软还有很多事情要揭晓,尤其是在电源管理方面。 借助Build开发者大会作为进一步公告的逻辑之地,我们现在就可以开始构建代码,并利用Windows 10X新功能和SDK于2020年推出的功能。

From: https://www.infoworld.com/article/3527274/developing-for-windows-10x-and-the-surface-neo.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值