写点什么

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

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

关注

评论

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

SpringBoot-技术专题-Hystrix学习介绍

码界西柚

解读登录双因子认证(MFA)特性背后的TOTP原理

华为云开发者联盟

算法 totp 密钥

Vokenization:一种比GPT-3更有常识的视觉语言模型

脑极体

这份算法攻略,我拿到了5个大厂的offer

yes

面试 算法 笔试

2020双十一,阿里云GRTN拉开直播和RTC技术下半场的序幕

阿里云CloudImagine

架构 云直播 直播 流媒体 直播架构

.net core增强工作流组件,基于稳定平台,多项目整合开发

雯雯写代码

什么是服务器租用?

德胜网络-阳

6个JDK自带JVM调优工具,一次性打包给你说清楚

田维常

jvm调优

2020年底备战—从技术到面试合集

iOSer

ios 编程 面试

有点意思的gif动图生成平台开发实战(二)

徐小夕

Java Vue 大前端 GIF React

甲方日常 52

句子

工作 随笔杂谈 日常

直播卖货已成趋势

anyRTC开发者

音视频 WebRTC RTC

这才是图文并茂:我写了1万多字,就是为了让你了解AQS是怎么运行的

鄙人薛某

Java 并发编程 AQS 并发 ReentrantLock

厉害了!阿里内部都用的Spring+MyBatis源码手册,实战理论两不误

小Q

Java spring 学习 面试 mybatis

Java中的线程与C++中的区别

jiangling500

Java c++ 线程

区块链数字货币商城系统开发模式

薇電13242772558

区块链 数字货币

为什么容器内存占用居高不下,频频 OOM

996小迁

Java 架构 容器 面试 k8s

SQL数据库集合运算

正向成长

SQL表联结 SQL集合运算

支撑2715​亿元海量订单 揭秘京东大促背后的数据库基石

京东科技开发者

数据库 数据仓库 云服务 云数据库

读完某C++神作,我只记住了100句话

MySQL从删库到跑路

c++

【JVM】肝了一周,吐血整理出这份超硬核的JVM笔记(升级版)!!

冰河

性能优化 内存模型 JVM 堆栈 JVM笔记

微服务架构中的“参天大树”:SpringBoot+SpringCloud+Docker

小Q

Java 学习 容器 面试 微服务

go-zero 如何扛住流量冲击(一)

万俊峰Kevin

microservice go-zero goctl Go 语言

程序员如何判断跳槽岗位是否有坑!

Java架构师迁哥

Java中NullPointerException的完美解决方案

Silently9527

java8 Optional

《程序员面试金典》.pdf

田维常

面试

基于Vue实现一个有点意思的拼拼乐小游戏

徐小夕

Java GitHub 开源 H5游戏 H5

接口测试并不只是测试参数和返回值

测试人生路

接口测试

响应式关系数据库处理R2DBC

程序那些事

MySQL R2DBC 程序那些事 响应式系统 响应式数据库

容器和虚拟机到底有啥区别?

网管

容器 虚拟机

影视剪辑类自媒体运营心得:如何抓住观众的痛点

石头IT视角

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