Windows 10(就像之前的Windows 8一样)不仅仅是Windows的一个新版本。它还附带了一种构建应用程序的新模式,更像是智能手机操作系统的沙箱方法。
这些应用程序目前被称为通用Windows平台(UWP)应用程序(之前的版本是WinRT、Metro、Modern和Store应用程序),它们可以使用新的平台功能,如开始屏幕上的活瓷砖、墨水输入、与Cortana一起工作以及在Action Center中创建通知。但它们在某些方面也有更大的局限性,而且是出于安全、可靠性和电池寿命的考虑。
当你安装和使用UWP应用程序时,它们不会对Windows环境做出永久性的改变。相反,它们使用虚拟注册表和系统文件,这样它们就不会与其他应用程序产生冲突,也更容易清除。他们安装的AppX包可以无缝更新,为应用程序提供新的特性。所有的开发者都希望他们的用户使用最新版本的应用程序,而所有的用户都讨厌弹出窗口告诉他们要升级。UWP应用程序可以解决这个问题,”Windows开发平台副总裁Kevin Gallo告诉CIO.com
这些应用程序需要获得许可才能访问麦克风和网络摄像头等硬件,它们不能访问整个文件系统,因此一个恶意应用程序不会造成这么大的破坏。如果它们在后台运行,UWP应用程序可能会在系统需要更多内存时自动关闭。如果开发者选择的话,同样的应用程序可以在台式电脑、平板电脑、手机、Xbox和HoloLens上运行——因为它们都运行Windows 10。“UWP是关于充分利用桌面的能力,同时仍在为其他设备开发,”Gallo说。
UWP应用程序使用的Windows 10 api是所有新的Windows api添加的地方,尽管其中许多api仍然可以被传统的桌面应用程序使用。UWP应用程序的AppX打包格式也适用于Windows Server应用程序;这是Nano服务器的关键所在,因为你不能运行许多服务器应用所使用的传统GUI安装程序,但它也有助于在Windows Server 2016系统上更干净的安装,因为AppX不支持自定义操作。
构建UWP应用程序的工具越来越多——从微软的Xamarin跨平台开发系统到theUWP社区工具包。事实上,用Xamarin创建UWP应用程序已经有好几个月的时间了;构建Xamarin的团队实际上在UWP中完成了大部分原型和核心工作。
微软最近与Telerik合作,为用户界面的关键元素开放UWP控件的源代码,从熟悉的工具如数据网格、数据表格和图表控件,到触摸和墨水操作控件,以及用于微软Surface Dial的径向控件。盖洛说,这是为了让开发UWP应用程序变得更容易。“我们的企业客户告诉我们,他们需要一个简单的工具包,将最简单的应用程序粘贴在一起,我们可以帮助他们节省时间。”
开放bug数据库为UWP,包括正在开发的功能积压,应该从约缺乏明确过微软的计划,回去的WinRT在Windows 8的第一个通告(如果不是更早)的开发商也处理有关投诉。“人们告诉我们,这是一个黑洞;他们没有看到它从我们直到释放,”加洛说。“这是我们认为它应该是只是不为透明。我们认为自己是更有效的内部,当我们做到这一点,我们要确保我们在我们谈论我们的缺陷和功能要求,我们正在不断发展的系统的方式的方式的透明度。”
连接UWP之间的差距
说服企业开发人员拿起UWP一直是微软一场艰苦的战斗,并不仅仅是因为他们只分析公司CCS Insight的在Windows 10,尼古拉斯McQuire,为企业研究副总裁运行在企业指责在Windows 10采纳步伐(which he says will pick up strongly this year) and “Microsoft’s general lack of traction and focus on mobile over the past few years.” But, he adds, “there’s also a general lack of awareness in enterprise on the advantages of UWP and the specific use cases where UWP drives more value.” Plus, “having to rewrite existing desktop apps from scratch has been a barrier, as there still is a ton of immaturity regarding internal mobile app development in general in the enterprise.”