标签:
Build 2015圆满落幕了,不知大家有多少人刷夜看了直播呢?不管怎么说,想必各位都很好奇在这场微软开发者盛宴上,Microsoft又发布了什么令人惊叹的消息吧。笔者略微整理了一些与UWP相关的内容,抛砖引玉,并不全面,希望读者多多指正。
(文章中涉及的图片均来源于Build)
Win10下的应用名称正式确定为了Universal Windows App,也许是为了和以前的UAP划清关系以表示其真正做到了“Universal”。是的,UWP是本次Build大会最重要的主题之一,其跨平台兼容性,多语言支持以及对其他平台应用的支持都有着前所未有的“Universal”。微软变了,变得更开放更广大了,而这应该会让大量开发者拍手叫好吧。
这条消息只是个引子,有关UWP的细节问题将在下面更详细的提出。
WP/WinRT的用户恐怕都有觉得Windows App Store中的应用太少的时候吧?微软似乎也注意到了这一点。在Win10的应用商店中,微软将“不择手段”地增加应用商店里用户的选择,力保UWP有一个欣欣向荣的生态系统。我们来看一看都有些什么吧:
Windows 10并不存在WP10一说——从PC到RT,从Lumia到Surface,从搭载该系统的IoT开发板到运算能力强大的Xbox,均使用相同的Windows 10,所不同之处只有分辨率与外设而已,想必Windows在高分辨率屏幕下为人诟病的表现将会彻底翻盘。
与本主题更相关的,上述所有采用Windows 10作为OS的设备将共享相同AppStore。同时,微软为App设计者提供了一整套工具以方便其将自己的应用适配各种平台,这点下文再详述。想必光是这一点就足够WP用户觉得振奋了。
传统Win32PE,也就是大家都耳熟能详的从MSDOS沿袭至今的桌面环境可执行文件,.exe便是其中最大的一支。将其转换为UWP听上去似乎有点科幻,但微软却真的在将其付诸实践。
说到这一点,则不得不谈此次Build大会中提及的Project Centennial——尽管该项目仍然处于开发阶段,我们还并不能直接享受其成果,但可以预见的是,一旦该项目真正投入实际使用,将会给UWP应用生态圈带来革命性改变:Build中给出的数据显示,成熟的传统PE应用有超过一千七百万,这并不算各个小辅助程序等。将他们转变为UWP带来的影响有多大,不言而喻。说它是微软的必杀技毫不为过。
又是一个科幻的设定,但是它似乎也在一步步成真:Project ASTORIA提供内嵌于Eclipse/Android Studio的插件用于帮助从安卓项目生成能在Windows10上运行的UWP,微软声称其有很高的代码重用率,能在已有安卓逻辑的基础上简单的生成UWP。另外,iOS应用也将能通过类似的手段完成到UWP的迁移,但其具体细节仍在开发中。
上述手段能不能给UWP带来一个欣欣向荣的应用生态系统呢?我们拭目以待吧。
说到应用生态系统,开发者当然是必不可少的一部分,如果不能讨好开发者谁来写UWP呢?(咳咳)… 言归正传,作为微软的当家IDE,Visual Studio 2015也将发生很大的变化,以给UWP开发者带来更好的开发体验。
不知道使用VS开发应用的开发者有多少人用过Team Foundation Server?平心而论,这是一个相当不错的源代码托管工具,但是想必大家更耳熟能详的是开源界各大源码托管工具,如git/svn等吧。微软为了表现其拥抱开源的诚意,表示将在VS2015中增加对github的原生支持。
好顶赞啊~
哈,VS也要跨平台?是的,此次Build中,微软宣布发布Visual Studio for Linux以及Mac OSX。今后即使是unix系程序员也可以使用vs了,只是不知道其他版本的vs是否会携带.net runtime,如果有,想必在非Windows上开发UWP的一幕即将成真。
在新的VS中,将加入一系列辅助工具帮助开发UWP,如更强大全面的Design视图,更好、更详细地用于分析软件运行性能、资源情况的调试工具以及支持在调试时实时查看UI元素排布情况的Live Visual Tree Inspector(类似于浏览器的类似功能)。它们的存在无疑是UWP开发者的又一福音。
作为脚本语言的风向标,Node和python无疑是最被广大开发者谈及的语言,笔者也是Node的忠实粉丝。之前VS将Html+js加入UAP的开发工具中已经十分惊艳,而今微软将在VS2015中全面支持Node.js和python开发并为其提供相关工具。尽管并不明确它们能否用于开发UWP,但从该行为的趋势来看,将来用脚本语言为UWP编写相关组件的日子也不远了。
未完待续,下一片博文将详细介绍对于UWP开发者而言此次Build带来的新特性。
标签:
原文地址:http://www.cnblogs.com/ms-uap/p/4485071.html