UWP?UWP! - Build 2015有些啥?

Build 2015圆满落幕了,不知大家有多少人刷夜看了直播呢?不管怎么说,想必各位都很好奇在这场微软开发者盛宴上,Microsoft又发布了什么令人惊叹的消息吧。笔者略微整理了一些与UWP相关的内容,抛砖引玉,并不全面,希望读者多多指正。

(文章中涉及的图片均来源于Build)

1. UAP改名UWP

Win10下的应用名称正式确定为了Universal Windows App,也许是为了和以前的UAP划清关系以表示其真正做到了“Universal”。是的,UWP是本次Build大会最重要的主题之一,其跨平台兼容性,多语言支持以及对其他平台应用的支持都有着前所未有的“Universal”。微软变了,变得更开放更广大了,而这应该会让大量开发者拍手叫好吧。
这条消息只是个引子,有关UWP的细节问题将在下面更详细的提出。

2. 大不相同的App Store

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程序的加入

传统Win32PE,也就是大家都耳熟能详的从MSDOS沿袭至今的桌面环境可执行文件,.exe便是其中最大的一支。将其转换为UWP听上去似乎有点科幻,但微软却真的在将其付诸实践。
说到这一点,则不得不谈此次Build大会中提及的Project Centennial——尽管该项目仍然处于开发阶段,我们还并不能直接享受其成果,但可以预见的是,一旦该项目真正投入实际使用,将会给UWP应用生态圈带来革命性改变:Build中给出的数据显示,成熟的传统PE应用有超过一千七百万,这并不算各个小辅助程序等。将他们转变为UWP带来的影响有多大,不言而喻。说它是微软的必杀技毫不为过。

海纳百川——安卓、iOS应用也能运行

又是一个科幻的设定,但是它似乎也在一步步成真:Project ASTORIA提供内嵌于Eclipse/Android Studio的插件用于帮助从安卓项目生成能在Windows10上运行的UWP,微软声称其有很高的代码重用率,能在已有安卓逻辑的基础上简单的生成UWP。另外,iOS应用也将能通过类似的手段完成到UWP的迁移,但其具体细节仍在开发中。

上述手段能不能给UWP带来一个欣欣向荣的应用生态系统呢?我们拭目以待吧。

3. 更开发者友好的集成开发环境

说到应用生态系统,开发者当然是必不可少的一部分,如果不能讨好开发者谁来写UWP呢?(咳咳)… 言归正传,作为微软的当家IDE,Visual Studio 2015也将发生很大的变化,以给UWP开发者带来更好的开发体验。

Github的原生支持

不知道使用VS开发应用的开发者有多少人用过Team Foundation Server?平心而论,这是一个相当不错的源代码托管工具,但是想必大家更耳熟能详的是开源界各大源码托管工具,如git/svn等吧。微软为了表现其拥抱开源的诚意,表示将在VS2015中增加对github的原生支持。


好顶赞啊~

跨平台的VS

哈,VS也要跨平台?是的,此次Build中,微软宣布发布Visual Studio for Linux以及Mac OSX。今后即使是unix系程序员也可以使用vs了,只是不知道其他版本的vs是否会携带.net runtime,如果有,想必在非Windows上开发UWP的一幕即将成真。

UWP开发工具的升级

在新的VS中,将加入一系列辅助工具帮助开发UWP,如更强大全面的Design视图,更好、更详细地用于分析软件运行性能、资源情况的调试工具以及支持在调试时实时查看UI元素排布情况的Live Visual Tree Inspector(类似于浏览器的类似功能)。它们的存在无疑是UWP开发者的又一福音。

Node.js和python的加入

作为脚本语言的风向标,Node和python无疑是最被广大开发者谈及的语言,笔者也是Node的忠实粉丝。之前VS将Html+js加入UAP的开发工具中已经十分惊艳,而今微软将在VS2015中全面支持Node.js和python开发并为其提供相关工具。尽管并不明确它们能否用于开发UWP,但从该行为的趋势来看,将来用脚本语言为UWP编写相关组件的日子也不远了。

未完待续,下一片博文将详细介绍对于UWP开发者而言此次Build带来的新特性。

UWP?UWP! - Build 2015有些啥?(1)的更多相关文章

  1. UWP?UWP! - Build 2015有些啥?(2)

    UWP?UWP! - Build 2015有些啥? Build 2015圆满落幕了,不知大家有多少人刷夜看了直播呢?不管怎么说,想必各位都很好奇在这场微软开发者盛宴上,Microsoft又发布了什么令 ...

  2. Microsoft Build 2015 汇总

    简要概括(GitHub 完成约 45%): Visual Studio Code Preview(意料之外) Visual Studio 2015 RC Visual Studio 2013 Upda ...

  3. Build 2015 Beijing & Windows 10 China Geek Challenge

    6月5日,借着Build 2015在北京召开分会的东风,参加了这次由微软中国举办的Windows 10中国开发者极客挑战赛. 白天是Build 2015课程,学习了Windows 10最新的技术,包括 ...

  4. BUILD 2015: Visual Studio对GitHub的支持

    微软BUILD 2015大会上发布了Visual Studio 对GitHub的支持.安装了如下Developer Assistant插件后,你便可以在Visual Studio中找到GitHub上的 ...

  5. Microsoft Build 2015

    Microsoft Build 2015 汇总   简要概括(GitHub 完成约 45%): Visual Studio Code Preview Visual Studio 2015 RC Vis ...

  6. [UWP]UWP App Data存储和获取

    这篇博客介绍如何在UWP开发时,如何存储App Data和获取. App Data是指用户的一些设定,偏好等.例如,App的主题,是否接收推送,离线接收消息等.需要区分下App Data和User D ...

  7. [UWP]UWP中获取联系人/邮件发送/SMS消息发送操作

    这篇博客将介绍如何在UWP程序中获取联系人/邮件发送/SMS发送的基础操作. 1. 获取联系人 UWP中联系人获取需要引入Windows.ApplicationModel.Contacts名称空间. ...

  8. 挑灯熬夜看《Build 2015 Keynote》图文笔记

    又是一年微软Build大会时间,网络上流传各种微软新品发布的消息终于也要揭晓了,一直熬夜到凌晨3点,好久没有这么兴奋了. 微软给力的很嘛! Satya nadella开始讲解 首先回顾微软的传统和技术 ...

  9. 微软build 2015

    1.apple Object-C项目和安卓项目经过移植可以运行在windows上,演示看起来有些卡. 2.平台大统一,Universal Windows App,10亿台设备,这个很重要,以后恐怕离不 ...

随机推荐

  1. hash 表 | | jzoj 1335 | | 脑残+手残 | | 集合的关系

    给定两个集合A.B,集合内的任一元素x满足1 ≤ x ≤ 10^9,并且每个集合的元素个数不大于10^5.我们希望求出A.B之间的关系. 给定两个集合的描述,判断它们满足下列关系的哪一种:A是B的一个 ...

  2. bash fifo管道使用测试例子

    碰到一个场景: 一个脚本内起了多个后台线程,往一个日志文件写日志,结果因为线程之间争抢写锁,导致脚本执行效率很低,为了解决这个问题,希望减少写锁的争抢,尝试使用fifo解决该问题,以下是实验用例子. ...

  3. 操作系统win2003 x64的,安装OFFICE2003后,DCOM服务找不到 WORD应用程序服务

    打开注册表,找到以下健值 HKEY_CLASSES_ROOT\AppID\{00020906-0000-0000-C000-000000000046} HKEY_CLASSES_ROOT\CLSID\ ...

  4. dp、px、dpi、ppi

    概念: dpi(Dots Per Inch):每英寸上的点数,最初用于衡量打印物上每英寸的点数密度,打印机在一英寸内打多少个点.DPI值越小越不精细. ppi(Pixels Per Inch):每英寸 ...

  5. setAutoCommmit保持数据的完整性

    setAutoCommit总的来说就是保持数据的完整性,一个系统的更新操作可能要涉及多张表,需多个SQL语句进行操作 循环里连续的进行插入操作,如果你在开始时设置了:conn.setAutoCommi ...

  6. 如何去掉div滚动条

    1.去掉横向滚动条 style="overflow-x:hidden" 2.去掉纵向滚动条 style="overflow-y:hidden" 3.同时去掉横向 ...

  7. css3之背景新属性

    background属性 属性 描述 background-origin 背景图片的定位区域 background-size 背景图片尺寸 background-image:url(),url();允 ...

  8. c++ 课堂作业(1)

    一.题目 Create a program that asks for the radius of a circle and prints the area of that circle, using ...

  9. 1032: [JSOI2007]祖码Zuma

    链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1032 Description 这是一个流行在Jsoi的游戏,名称为祖玛.精致细腻的背景,外加神 ...

  10. liunx 防火墙开放端口的设置

    今天在liunx 服务器上遇到一个问题,tomcat服务启动后怎么也访问不到项目,找了好久的原因,终于发现原来是liunx服务防火墙限制服务端口的访问,也就不多说了,看下面解决方法. 1.查看防火墙的 ...