2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

UWP 应用在企业中面临的挑战

  • 2018-01-28
  • 本文字数:1109 字

    阅读完需:约 4 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

自 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 的技术就足够。

查看英文原文 The Challenge of UWP Apps in the Enterprise

2018-01-28 18:002548
用户头像

发布了 1008 篇内容, 共 442.9 次阅读, 收获喜欢 346 次。

关注

评论

发布
暂无评论
发现更多内容

使用Flutter完成10个商业项目后的经验教训

android 程序员 移动开发

作为Android开发者,你真的知道Android按下开机键到启动发生什么吗?

android 程序员 移动开发

【Java对象拷贝机制】使用CGlib实现Bean拷贝(BeanCopier)

码界西柚

对象拷贝 11月日更 BeanCopier

你知道Java类什么情况下会被初始化吗?

android 程序员 移动开发

全网独家盘点Android热修复方案(含阿里巴巴、美团、腾讯等

android 程序员 移动开发

关于QPS高并发,你了解多少?

android 程序员 移动开发

关于内存泄漏和内存溢出的那些事!

android 程序员 移动开发

你知道App为什么会Crash吗?

android 程序员 移动开发

你还在为-TCP-重传、滑动窗口、流量控制、拥塞控制发愁吗

android 程序员 移动开发

做了6年的Android,靠着这份900多页的PDF面试整理,薪资Double!

android 程序员 移动开发

六年老Android开发,突遇公司搬离上海无赔偿,我该怎么办?

android 程序员 移动开发

图解Pandas的排名rank机制

Peter

Python 数据分析 pandas

再见!杭州!再见!阿里巴巴

android 程序员 移动开发

你必须要掌握的Android冷启动优化

android 程序员 移动开发

加入 node 后 flannel 报错

ilinux

全面解析Android进阶面试常客之Handler

android 程序员 移动开发

你的产出是别的程序员的10倍,为什么无法获得10倍的工资?

android 程序员 移动开发

六年 Android 开发的涨薪之路,从15K涨到30K的面试解析

android 程序员 移动开发

几年开发两茫茫,且看我给你分析ContentProvider

android 程序员 移动开发

关于提高编程思维与工作效率的总结

android 程序员 移动开发

像奥利奥一样的双重安全措施,尽在 Android Oreo

android 程序员 移动开发

gitlab-runner出现too many connections

ilinux

关于listView(列表)的各种使用方法

android 程序员 移动开发

删除calico换成flannel后,容器没有正常启动

ilinux

再见吧 buildSrc, 拥抱 Composing builds 提升 Android 编译速度

android 程序员 移动开发

你知道 Android 面试官最喜欢问那些技术点嘛?这篇带你复盘往年面试题!

android 程序员 移动开发

删除/var/lib/cni更换网络插件但是kubernetes没有正常启动

ilinux

关于Android内存泄漏的那些事

android 程序员 移动开发

你是不是疯了,为什么字节跳动的Offer都不要了?

android 程序员 移动开发

使用协程优化你的业务

android 程序员 移动开发

全新Android-Material-组件你在用了吗?

android 程序员 移动开发

UWP应用在企业中面临的挑战_.NET_Jeff Martin_InfoQ精选文章