surface敲代码怎么样_为Surface Neo和Surface Duo准备代码

surface敲代码怎么样

在过去的几年中,微软一直雄心勃勃地制造折叠设备。 一系列专利申请揭示了看起来是可以以几种不同方式运行的双屏平板电脑。 然后是代号Andromeda和Centaurus,它们似乎是Windows的计划中的新版本,该版本基于Windows Core OS,该操作系统使用可组合的外壳为HoloLens 2和第二代Surface Hub壁式屏幕提供动力。

时间飞逝。 Andromeda可折叠手机似乎被取消了,尽管Centaurus平板电脑在微软至少有一个内部展示。 但是微软的秘密面纱把这一切隐藏了起来。 然后是2019年的Surface硬件活动 ,拉开了帷幕。 Centaurus双屏折叠式平板电脑是Surface Neo,带有可在其中一个屏幕上方使用的磁性键盘。 更令人惊讶的是,仙女座毕竟并没有被取消,现在是Surface Duo,它不是Windows设备,将运行Android。

[Kubernetes,无服务器框架,Kafka,Redis,.Net Core等:请参阅InfoWorld的2019年度技术奖获奖者 | 通过《 InfoWorld日报》时事通讯了解最新的企业技术中的关键新闻和问题。 ]

公众接触新硬件还需要一段时间。 它们要到2020年才会问世。但这使我们有时间开始考虑如何为这些新的外形尺寸构建应用程序,以及如何构建可在Windows和Android上运行的代码。

使用Windows 10X

微软尚未提供Windows 10X的详细信息 ,这是Surface Neo在Windows Core OS(WCOS)上的实现。 但是,根据我们对HoloLens 2和Surface Hub 2的了解以及在发布会上所说的,我们可以做出一些有根据的猜测。 WCOS删除了Windows的许多传统,而将重点放在通用Windows平台(UWP)和“现代”应用程序上。 这很可能表明Surface Neo如果不做一些工作就不会运行您的旧Win32代码。 最有可能的是,它将允许您使用针对Windows应用商店进行了优化的代码,既可以作为完整的UWP应用程序使用,也可以使用使用XAML岛托管现代控件的Desktop Bridge进行包装。

控件开发人员Progress Telerik希望能够在Microsoft当前刷新Windows UI框架的基础上,将重点放在适用于Surface Neo的WinUI上。 对于微软来说,这当然是一个合乎逻辑的步骤,两款新设备都将在与统一的.Net 5.0相同的时间范围内交付,这将简化将旧的.Net和Win32代码迁移到新的运行时的过程。

回到电话

放弃自己的移动操作系统后,微软将其下一代移动硬件和Surface Duo转换为Android也就不足为奇了。 我们已经看到了基于Android的折叠屏设备,因此OS中已经存在构建支持新外形的应用程序所需的钩子。 这是一个符合Microsoft自己的移动应用程序策略的平台决策,它使用Xamarin来构建基于熟悉的.Net技术的跨平台应用程序。

使用Xamarin,您仍然需要使用Xamarin自己的Forms UI组件将UI与核心业务逻辑分开,以实现跨平台的外观。 Xamarin尚需完成一些工作,以在Android上支持折叠和多屏设备,但是由于还有一年的时间并且Android 10中已有API,因此有足够的时间发布相关的新功能。

在Android 10中使用折叠屏幕

值得一提的是,这些Android 10功能的工作方式以及一组处理Google所谓的App Continuity的新API。 使用这些API,使用单个屏幕在折叠设备上运行的应用程序可以过渡到另一个应用程序而不会丢失上下文。 要做很多事情,要么完全调整应用程序的大小以填充当前可用的屏幕,要么提供对多窗口操作的支持。

使用这些API,您可以设置应用程序的resizeableActivity属性。 设置为false时,Android通过将应用置于兼容模式并以其原始大小和纵横比显示该应用。 设置为true时,它将自动调整大小以适应新的屏幕分辨率,当设备展开时,处理尺寸会增加,折叠时会减小。 当设备配置在外形尺寸更改时发生更改时,您的代码应通过保存其当前UI状态并在更改完成后将其重新应用到新设备状态来处理更改。

折叠式萤幕对应用程式使用者介面有重大改变; 您现在必须在各种不同的显示宽高比范围内测试它们,以用于长而窄的折叠屏幕,以及与在所有Surface设备上使用的Microsoft首选的3:2长宽比匹配的屏幕。 Android为您提供了为代码设置maxAspectRatiominAspectRatio的选项。

Google的可折叠设备Android规范很多,并且要由Xamarin等平台将API添加到.Net 。 在他们得到完全支持之前,您可以继续使用您当前的应用程序用户体验,因为它们至少会以兼容模式运行,或者在Surface Duo的每个单独屏幕上作为多窗口应用程序运行。 一个有用的选项是可以使用Surface Duo的一个屏幕作为键盘,而另一屏幕则可以显示应用程序的横向视图。

折叠屏幕可以视为多个显示器,这是Android 10的另一个功能。 这种方法应与Surface Duo的选项配合使用,使其更像手机一样地折叠显示,该应用可以在设备的正面和背面显示。 Android的多种显示选项允许使用外部显示器,因此Surface Duo甚至还提供Windows 10 Mobile的Continuum之类的选项,其中移动应用程序可以在大屏幕上切换到桌面版本。

不断发展网络以折叠屏幕

Microsoft支持跨平台多屏开发的一种更有趣的方式是使用Web技术,而PWA则利用了新的Surfaces。 Edge开发团队在GitHub上发表的一份立场文件描述了Windows Segments Enumeration API ,该API允许浏览器使用跨多个显示器并支持不同折叠模型的窗口。 使用此模型,浏览器可以跨多个显示或显示区域使用“窗口段”。

使用以CSS像素为单位测量的窗口段,JavaScript API允许Web应用程序构建可用段的地图,并确定当前可见的段。 处理显示遮挡(例如使用弹出键盘)是此方法的重要方面,因为它可以确保您的代码不会更新不可用的屏幕空间。 它确保您的应用程序可以适当缩放屏幕元素,管理文本框和窗体,以使它们不会被活动的键盘隐藏。

使用这种技术,您可以分别处理“窗口段”,例如在一个Duo屏幕上显示地图,在另一个屏幕上显示相关的位置列表。 您可以将其视为在单个浏览器窗口中为您的应用程序提供等效于主视图/详细视图的功能。 围绕此模型构建PWA,可为您提供一种灵活的方式来交付可在单个显示设备上正常工作的内容,同时使双屏硬件可以访问更多功能,并从同一Web应用程序获得不同的用户体验。

有了JavaScript API来处理Window Segments,就可以将其与使用Blazor或Uno的UWP控件实现构建的WebAssembly应用程序一起使用。 将其与其他建议的浏览器API结合使用以与折叠设备一起使用,应该可以使使用基于浏览器的现代应用程序提供跨平台体验变得更加容易。

与Uno Platform团队交谈时,很明显,他们相信Uno和Xamarin的结合以及新的浏览器技术应该相对容易地将使用WinUI的现有.Net应用程序引入两个新的Surface设备。 无论用户是在.Net运行时上运行还是在PWA中作为WebAssembly代码运行,都没有关系,只要用户获得与在Windows PC上运行该应用程序相同的体验即可。

翻译自: https://www.infoworld.com/article/3444577/getting-code-ready-for-surface-neo-and-surface-duo.html

surface敲代码怎么样

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值