HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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:001903
用户头像

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

关注

评论

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

直播预告:京东云DevOps与JFrog制品库的融合

京东科技开发者

DevOps 制品库管理 运维开发

LeetCode题解:897. 递增顺序搜索树,栈,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

Promise.race() 原理解析及使用指南

devpoint

异步 Promise 9月日更

太棒了!终于有大佬把“消息队列”核心知识点全都总结出来了

Java 编程 架构 面试 架构师

linux之ssh-keygen命令

入门小站

Linux

Mybatis的工作流程及原理

咿呀呀

mybatis 9月日更

在线JSON转BigQuery工具

入门小站

金融科技成为服贸会热议话题:数字化转型中如何保障金融安全

CECBC

冒死上传!阿里内部最新版“SpringCloud Alibaba手册”细节拉满

Java 编程 架构 面试 架构师

Java从建表语句中提取索引信息, 索引名称,复合索引包含字段,索引类别(普通索引/主键索引/唯一索引/全文索引/空间索引)解决方案

张音乐

数据库 索引 9月日更

2021年最受欢迎的10款开源DevOps工具

Jackpop

【Flutter 专题】54 图解基本生命周期

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

微型博客开发项目,手动创建导航组件的新增页面

梦想橡皮擦

9月日更

渗透测试入门指南之小白该如何学习渗透?

网络安全学海

黑客 网络安全 信息安全 WEB安全 渗透测试·

百度清风算法再次升级:必须严打低质下载站

石头IT视角

【LeetCode】分割平衡字符串Java题解

Albert

算法 LeetCode 9月日更

如何在AI工程实践中选择合适的算法?

博文视点Broadview

架构实战营 模块七 作业

一雄

作业 架构实战营 模块七

模块七作业

秀聪

架构实战营

Vue进阶(九十九):页面锚点至顶部

No Silver Bullet

Vue 9月日更

Vue进阶(壹佰):当前页面刷新并重载页面数据

No Silver Bullet

Vue 9月日更

高并发系统SoEasy!Alibaba全新出品亿级并发设计速成笔记真香

Java 编程 架构 面试 架构师

两种定时任务调度器对比

xyu

定时任务 Go 语言

架构实战营模块七作业-游戏商城异地多活

王晓宇

架构实战营

从分子层面雕刻肌肉,新数学模型预测锻炼肌肉最优方式

脑极体

初恋永远想不到的性能架构(朋友圈)

人工智能~~~

Retrofit源码解读HTTP

Changing Lin

android 9月日更

压箱底宝藏!程序员必不可少的8款办公利器

Jackpop

连续两年的云上服贸会,一部会展行业的数智化启示录

脑极体

架构实战营 - 模块七作业

Julian Chu

架构实战营

Rust从0到1-高级特性-宏

rust 高级特性 Macros

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