@lsmn
2018-01-26T09:15:56.000000Z
字数 1314
阅读 1825
微软
移动
UWP
事实证明,Web应用程序和移动App的采用在终端用户和开发人员中间已经非常普遍。但是,仍然需要台式计算机资源的传统Windows业务线应用程序怎么样呢?本文将介绍Windows 10上的UWP应用以及它们是否能应对挑战。
自Windows 10面世,微软就将通用Windows平台(UWP)定位成未来所有Windows应用程序的平台。UWP扩展了Windows 8以触控为中心的设计,提供了一种通用应用程序包,可以部署到所有运行Windows 10的设备上:传统桌面、平板电脑、Xbox One和HoloLens。那些希望用一种现代化的技术替换Windows Presentation Foundation(WPF)和WinForms应用程序的开发人员发现,UWP的触控优先设计在某些方面存在不足。
近日,长期从事企业软件开发的Dean Chalk写了一篇关于现状的信息评论,探讨了他为什么认为微软偏离了目标。文章标题为“微软及其UWP企业幻想”,Chalk的核心观点是,UWP不是为构建传统业务线桌面应用程序而设计的,也就无法成功地扮演这个角色。
首先,Chalk指出,业务应用程序并不适应移动优先的理念。传统宽屏显示器、鼠标和键盘的生产力很难通过iPhone的屏幕键盘来实现。除了易用性之外,与必须支持触控式人机界面的智能手机App相比,桌面应用程序可以提供更高的信息密度。
Chalk解释说,触控式应用程序面临的其中一项挑战是,它们恰恰不是桌面环境下符合人体工程学的人机界面。使用键盘和鼠标输入要准确得多,也快得多,而且不那么耗费体力。根据曾经开发复杂财务应用程序的经验,Chalk指出,屏幕的每个像素都很重要,因此,在他的开发中,为触控友好的控件花费昂贵的不动产是种浪费,经常还是无效的。
通过幻灯片可以看出,Chalk认为,传统WPF应用程序容易调试得多,因为它们使用MSTL和BAML,而且面向的是通用语言运行时(CLR)。与UWP方法相比,查找Bug及调试应用程序流程都要简单得多。那些应用程序被编译成机器代码,并使其成为COM包的一部分,极大地增加了复杂度。在某些情况下,这让调式变得几近不可能。
让Chalk的文章变得有趣的是它引发的评论。Tim Sneath最近刚刚从微软项目经理的位置上离任,现在从事谷歌Flutter的研发。他认同Chalk的观点,并指出,WPF基于Windows XP时代首次出现的DirectX 9构建。Sneath在评论中分析了他在微软任职期间微软使用的桌面应用程序方法。Sneath相信,微软走入了一条死胡同,这最终让他加入了谷歌Flutter App SDK的开发。对于Windows开发人员而言非常遗憾,Flutter面向iOS和Android应用,对于那些继续开发桌面应用程序的开发人员助益甚微。
在Reddit上的讨论中,人们的反应各有不同。在许多情况下,评论者并不同意Chalk的观点。有人的说法和他相反,许多公司用户确实想要移动应用,而其他人则觉得基于Web的技术就足够。