使用通用Windows平台将两个应用程序组合为一体

Box产品经理Duncan Fisher和产品营销副总裁Sanjay Manchada告诉我们,他们如何通过将Box引入Windows 10和通用Windows平台来使用户参与度提高一倍。

我们采访了Box,了解他们如何迁移Windows 8应用程序以创建新的Windows 10 Box应用程序,Universal Windows Platform(UWP)如何简化流程以及哪些功能对项目产生最大影响。 在下面的视频中听到他们的精彩片段,或者继续阅读全文。

Box希望创建一个更加灵活的应用程序,无论用户使用什么设备,它都将使用户感到满意。 当Box团队在Microsoft Build Conference上了解UWP时,他们认为这是更新现有Windows应用程序的最佳方法。

Box的开发人员将Windows 8桌面应用程序与匹配的Silverlight Windows Phone应用程序结合在一起。 要移植到Windows 10 UWP,他们只需要为每种设备设计出色的用户体验,然后将核心逻辑组合到一个应用程序中即可。

绝佳的开发者体验

当UWP成为一种很棒的开发人员体验时,Box感到非常高兴。 “与我们以前在构建Windows应用程序方面的经验相比,Windows 10应用程序的构建更加轻松快捷。 而且,开发中心负责部署。” Lois说。

Windows应用商店提供了一个Beta流程,开发人员可以在该流程中发布其应用程序并邀请选定的客户下载该Beta,同时将其隐藏在实时应用商店中。 使用Windows 10,这些用户将在可用时自动升级到生产版本。 Box的企业用户欣赏Windows应用商店的便利,这是一种将用户应用程序部署到企业最终用户的用户友好方式。 “对我们而言,这使部署变得简单得多。 发布到Windows应用商店减轻了我们创建安装程序的负担。 大多数熟悉业务逻辑的开发人员都不是安装人员的专家。 这是我们可以避免的巨大开销,” Lois说。

当他们仍在寻找更好的解决方案时,他们找到了一种方法,通过在可用时显示高质量图像,而在不可用时显示占位符图像,为收听者带来出色的用户体验。 下面是他们解决方案的一个示例,它显示了故事元数据,以非侵入方式邀请听众了解更多信息。

迁移到Windows 10

在通用Windows平台上进行开发还为Box节省了大量时间。 迁移过程的第一步是弃用不再受支持的任何代码,例如Silverlight代码。 他们的目标之一是提供真正的Windows 10用户体验,因此他们将自定义控件转换为Windows 10控件。 由于Box团队不必从头开始创建控件来加速开发。 Box在其小屏幕UI上使用了分割视图控件,并且他们在主登录页面上使用了列表视图控件来显示Box内容。 通过利用Windows 10提供的许多可用资产和控件,他们缩短了编码过程,并更快地完成了项目。 这是Box应用程序的屏幕截图,显示了用户的最新文件。

最后一步是创建对所有大小的窗口使用应用程序的完全自适应视图所必需的新代码。 Windows用户习惯于多任务处理,因此需要能够调整窗口大小以显示与Box应用程序共享屏幕的其他应用程序。 在Box应用程序的此视图中,它与Microsoft Word共享屏幕。

Windows 10互操作性

Windows 10提供的互操作性启发了Box团队在转换期间。 以前,他们创建并维护自定义代码以与内容创建应用(例如Microsoft Office或Adobe Creative Cloud)顺利交互。 通过使用Windows 10 Contracts和API集,Box简化了他们的应用程序并实现了更好的应用程序间通信。

这是他们最喜欢的三个互操作性功能。

  1. 缓存文件更新程序合同

使用缓存文件更新程序功能消除了大量的自定义代码。 只需几行代码,Box应用程序便可以与另一个应用程序共享内容,当用户完成更新时,他们可以通过缓存文件更新器将更改直接保存回Box。 这意味着用户可以处理该应用程序在其存储库中维护的远程文件,就像该文件是本地文件一样。 在Windows 8桌面和电话应用程序中,Box需要使用变通办法来实现相同的功能。

2.文件选择器合同

通过使用File Open Picker合同和File Save Picker合同,Box开发人员为用户打开和保存其文件创建了一致的方式。 File Picker与Cached File Updater配合使用,可以与云中的存储库进行实时同步。

3.股份合同

Box使用了共享合同,因此他们的用户可以与使用该合同的其他UWP应用共享内容。 应用到应用通信支持共享和接收数据,复制和粘贴以及拖放。