Windows和业务线应用程序:没有更好的选择

在Windows平台上创建一个新的业务线应用程序从来就不是什么难题。但是,和以前那样,对于某类确定的问题只有一个明确的解决方案——这样的日子已经一去不复返了。在过去的二十年里,面对大多数问题,我们都有更好的选择。比如,Visual Basic的快速交付或MFC原生的性能和功能。还有WinForms的速度以及WPF的外观。当WinForms时代结束的时候,我们将Silverlight作为第二选择。虽然和WPF相比,它没那么强大,但它更容易部署。

而如今,我们虽然有了比以往更大的选择空间,但是可选择的方案却差强人意。比如,虽然WinRT提供了三种开发模型,但没有一个是适合业务应用程序的。与此同时,WPF加入了Silverlight的阵营,而等待WinForms的只有灭亡。

WinRT:尚未完成准备

是否选择一款依赖于Windows 8的平台——对于这个问题我不打算在这里讨论,因为最终企业都将会采用Windows 8。我也不打算讨论目前WinRT 8所存在的问题,诸如被限制在单一的窗口或没有设备集成等等。因为在Build 2013大会上,微软已经宣布了这些问题将在WinRT 8.1中修复。

我要谈的问题比前面的简单很多,而且要更加初级。坦白地说,部署场景与现实脱节了。WinRT明显存在有人格分裂(Dissociative Identity Disorder),但在这种情况下,微软的消费者和企业双方却处于僵持状态。消费者一方要求WinRT在Windows商店保持锁定状态,这样在每个软件销售之后,他们都可以获得一定比率的提成,这类似于苹果和谷歌成功的战略。而与此同时,微软的企业一方则背负着WinRT的未来,但他们甚至没有认识到对方已产生的问题。

WinRT应用在企业中的部署

用户们如果想要将WinRT部署在企业中,必须要满足三个要求。

第一个要求是,所有的机器都要加入某个域。对于大企业来说,这个要求还算合理的,但对很多小公司甚至一些中等规模的企业来说,根本没有足够的资源来维持一组Active Directory服务器。大多数企业都不是搞技术的,他们只需要少量自定义应用,而非整个IT基础设施——而我们总是忘记这一点。

另一个问题是,一些公司虽然部署了Active Directory,但没有必要让所有机器都加入Active Directory。导致这类问题的原因有很多种,可能不全是合理的,但是依然需要满足这些公司的需求。

据说,对于未加入域的计算机将会有一个替代方案。2012年4月,Antoine Leblond曾作出承诺,后续将在博客中发表文章,描述如何通过获得必要的产品密钥来做到这一点。但是,迄今为止,这篇文章还未撰写。

第二个要求是“允许安装所有受信任的应用”的组策略,这一点对于已加入域的计算机来说十分合理。对于未加入域的计算机,需要用户手动编辑注册表,通常我不赞成这种做法。不过,可以通过添加脚本来实现。

第三个,也是最后一个要求,不太受人欢迎:所有机器必须要信任某个证书,而所有的应用程序都需使用该证书签名。这意味着需要创建一个自签名的证书,并手动安装到每一台机器上,或者花费几百美元从一个可信的证书颁发机构获取代码签名证书。

一旦满足上述所有要求,用户就可以学习如何调用PowerShell命令来安装应用程序,但无法使用ClickOnce安装。用户甚至不能双击批处理文件安装,因为PowerShell默认禁止从Windows资源管理器中运行脚本。

WinRT应用的更新

Antoine写道,

对最终用户而言,没有标准方式去检测并获取这些应用的更新。

在使用了近十年的ClickOnce自动更新之后,我们又回到手动更新工作站的时代。现在,用户必须再次输入PowerShell命令。并且与以前不同的是,他们需要在路径中包含版本号。例如,

add-appxpackage \\fileserver\ContosoApp\v1.1\ExpenseApp.appx

Silverlight:废弃的技术

Silverlight实质上是一种废弃的技术。不像Adobe Flash,目前连Internet Explorer 10都不能完全支持Silverlight。并且,在基于ARM的计算机上,它根本无法运行。

Silverlight完善吗?不。

一些现任的和前任的微软员工争辩道:Silverlight是“完善的”,它不需要任何改进。我觉得这种说法非常可笑。

虽然Silverlight工具包包含了很多关键的用户控件,但是自2011年12月以来,我没有看到任何相关的更新,此外,许多控件没有达到产品发布的要求。 更糟的是,Silverlight中仍然没有一个能用的单元测试框架。虽然在工具包中有一个预览版本,但它存在一些设计缺陷,使用它将导致测试花费O(n^2)的时间。我们自己进行实验后发现,尽管每个单元测试在单独测试时只需要几毫秒,但是几千个一起测试就会导致测试过程长达一个多小时。另外一个急需解决的问题就是修改UI——已经通过的测试还显示出来那就太占地方了。

时间: 2024-10-28 13:06:29

Windows和业务线应用程序:没有更好的选择的相关文章

Windows 7怎么给程序加锁

Windows 7作为一款万众瞩目的下一代主流操作系统注定将成为划时代的产品.微软除了充分吸取了开发Windows Vista的经验教训,还增加了不少方便实用的新功能,比如:可以直接给移动存储设备加密的BitLocker To GO.将系统安装到VHD映像等.Windows 7的UAC的安全窗口的弹出频率有所减少,不少朋友可能会认为Windows 7的用户账户控制功能有所减弱了,其实,这是Windows 7对于繁琐的用户控制功能的改进.如果需要更加安全灵活地控制用户执行程序.文件以及脚本,那么,

32 64位运行效率-64位,32位windows上的相同程序,运行效率到底区别有多大?

问题描述 64位,32位windows上的相同程序,运行效率到底区别有多大? 64位,32位windows上的相同程序,运行效率到底区别有多大?分别在对应的版本下编译并运行. 解决方案 看什么样的程序.如果是科学计算程序,比如用到很多64位的四则运算,那么显然32位机器要想做同样的工作,需要3.4倍的指令才能完成,那么64位的优势是明显的. 可以举一个例子.你可以运行Windows XP和Windows XP x64版本下的计算器(calc.exe),执行高级运算中的阶乘.计算一个比较大的数,比

Windows Phone 8初学者开发—第3部分:编写第一个Windows Phone 8应用程序

原文 Windows Phone 8初学者开发-第3部分:编写第一个Windows Phone 8应用程序 原文地址: http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-Absolute-Beginners/Part-3-Writing-your-First-Windows-Phone-8-App 系列地址:http://channel9.msdn.com/Series/Windows-Phone-8-Developm

为什么没人比程序员更讨厌软件

几个月前,我们买了一台新的数码相机,为的是更好地记录我们家小宝贝的成长过程.采购的事情由我太太负责.她小心地打开相机的包装盒,给相机装上电 池,然后就开始了首次试拍.像很多电子产品一样,随相机附送的还有一张软件光盘.于是,她不假思索地打开DVD光驱,然后把光盘放了进去. 我眼角的余光碰巧注意到了这一切.说时迟,那时快,我疯了似的从房间的另一头冲过去,同时大叫:"不--要--啊--"--我不顾一切地试图阻止她从那张光盘上安装软件(为了更好地理解当时的情景,你可以以夸张的慢动作来想象一下整

Windows网络命令行程序参数说明_应用技巧

Windows网络命令行程序  C:\>nslookup www.jb51.net Server:  www Address:  192.168.5.8 Non-authoritative answer: Name:    www.jb51.net Address:  202.103.69.64 这部分包括:  shi 使用 ipconfig /all 查看配置  使用 ipconfig /renew 刷新配置  对于启用 DHCP 的 Windows 95 和 Windows 98 客户,请使

在 Windows 应用商店应用程序中导航的基础知识

确保用户能够随时快速而轻松地访问所需内容是任何新型应用程序的一个必不可少的特征 .这意味着,在用户需要进行导航之前,导航方式不得干扰用户操作,并且不得强制用户做 出难以逆转的选择.这是一种称为"内容在版式上方"的 UI 设计技术.强制实施此设计模 式的最佳方法是将大多数导航直接置入到内容中.可以在 Windows 应用商店应用程序中轻松 实现这一点,因为它们遵循此导航设计原则. Windows 应用商店应用程序导航概述 在 Windows 应用商店应用程序中,开发人员将导航置入到内容中

如何在Windows 2003中添加程序和Windows组件

本文介绍了如何将程序和Windows组件添加到基于Windows Server 2003的计算机. "添加或删除程序"工具会帮助您管理计算机上的程序.使用此工具,您可以添加新的程序或更改.删除现有的程序. 您还可以使用"添加或删除程序"工具添加您在最初安装时未安装的Windows Server 2003组件(例如"联网服务"). 如何安装Windows组件 以"Administrator"或"Administrato

Windows Phone 8初级教程(三) 编写第一个Windows Phone 8应用程序

原文地址: http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-Absolute-Beginners/Part-3-Writing-your-First-Windows-Phone-8-App 系列地址:http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-Absolute-Beginners 源代码: http://aka.ms/absbegin

windows 7系统比xp系统更强大的功能

一个东西要替代另一个东西,肯定会有某些方面比旧的东西更好,更人性化.而像win7系统要替代xp系统,那么win7系统到底有什么东西是xp所没有的,或者win7系统有什么东西完爆了xp系统. 1 win7系统的开关机运行速度更快 不管是从休眠模式恢复到正常使用模式的速度,还是电脑开机或者关机.win7系统在同样的配置下都会比xp系统快. 2 win7任务栏的改变 从windows 95到windows xp ,任务栏一直都是那样的,有的人会说看图了.而有的人会比较喜欢这样的任务栏,但是不得不说wi