UWP?UWP! - Build 2015有些啥?(1)
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)的更多相关文章
- UWP?UWP! - Build 2015有些啥?(2)
UWP?UWP! - Build 2015有些啥? Build 2015圆满落幕了,不知大家有多少人刷夜看了直播呢?不管怎么说,想必各位都很好奇在这场微软开发者盛宴上,Microsoft又发布了什么令 ...
- Microsoft Build 2015 汇总
简要概括(GitHub 完成约 45%): Visual Studio Code Preview(意料之外) Visual Studio 2015 RC Visual Studio 2013 Upda ...
- Build 2015 Beijing & Windows 10 China Geek Challenge
6月5日,借着Build 2015在北京召开分会的东风,参加了这次由微软中国举办的Windows 10中国开发者极客挑战赛. 白天是Build 2015课程,学习了Windows 10最新的技术,包括 ...
- BUILD 2015: Visual Studio对GitHub的支持
微软BUILD 2015大会上发布了Visual Studio 对GitHub的支持.安装了如下Developer Assistant插件后,你便可以在Visual Studio中找到GitHub上的 ...
- Microsoft Build 2015
Microsoft Build 2015 汇总 简要概括(GitHub 完成约 45%): Visual Studio Code Preview Visual Studio 2015 RC Vis ...
- [UWP]UWP App Data存储和获取
这篇博客介绍如何在UWP开发时,如何存储App Data和获取. App Data是指用户的一些设定,偏好等.例如,App的主题,是否接收推送,离线接收消息等.需要区分下App Data和User D ...
- [UWP]UWP中获取联系人/邮件发送/SMS消息发送操作
这篇博客将介绍如何在UWP程序中获取联系人/邮件发送/SMS发送的基础操作. 1. 获取联系人 UWP中联系人获取需要引入Windows.ApplicationModel.Contacts名称空间. ...
- 挑灯熬夜看《Build 2015 Keynote》图文笔记
又是一年微软Build大会时间,网络上流传各种微软新品发布的消息终于也要揭晓了,一直熬夜到凌晨3点,好久没有这么兴奋了. 微软给力的很嘛! Satya nadella开始讲解 首先回顾微软的传统和技术 ...
- 微软build 2015
1.apple Object-C项目和安卓项目经过移植可以运行在windows上,演示看起来有些卡. 2.平台大统一,Universal Windows App,10亿台设备,这个很重要,以后恐怕离不 ...
随机推荐
- [Notes] Timer Comparision when turn influence computing on/off
Overall algorithm – bunny 关闭influence计算 ...
- [Arduino] Arduino猪头笔记
1. 步进电机驱动 今天才发现....原来在不同的步进电机驱动模块里面,循环时钟是不一样的.... 步进电机驱动模块以及电路配置: 驱动代码的主要部分: int sp_param = 16383; d ...
- 插入排序 - C语言
插入排序的思想: 以现有的已排序元素为基础,下一个元素添加到正确的位置,则最终会完成排序. 第一个元素本身是已经排序好的.从第二个开始排. void insertSort(int arr[], int ...
- Android Studio使用JNI和NDK进行开发
想要学习一下在Android Studio中进行JNI的开发,文章挺多的,但是几乎没有一个完整的说明的,中间总是有一两步漏掉.分享技术就应该完整的让读者学会,藏着掖着不是君子所为.对于那些故意含糊过去 ...
- Cassandra-几个基本测试常识
一 使用ycsb进行装载,每次装载都不会删除以前装载过的. 因此如果想在空数据库中装载,需要先情况数据表. drop命令删除整个表,因此需要重建标头. truncate命令删除表的所有行,只留下表头, ...
- 急!JDBC问题,发生通信错误。错误位置:Reply.fill()。消息:数据不足。 ERRORCODE=-4499, SQLSTATE=08001
代码如下:Class.forName("com.ibm.db2.jcc.DB2Driver");Connection conn = DriverManager.getConnect ...
- 初识C语言
C语言是开发iOS软件的基础. 一.C语言简介 1. 简史 1) C语言于1972年发明,首次使用是用于重写UINX操作系统(UNIX以前主要是用汇编语言写的,它奠定了操作 ...
- ruby on rails爬坑(三):图片上传及显示
一,问题及思路 最近在用rails + react + mysql基本框架写一个cms + client的项目,里面涉及到了图片的上传及显示,下面简单说说思路,至于这个项目的配置部署,应该会在寒假结束 ...
- fastjson自动转化参数报错
开发环境:spring-mvc4.1.7.fastjson1.2.7 问题描述:系统采用的前后端完全分离方式,前端页面使用ajax调用后台服务时,想用fastjson自动转化请求参数对象. // 前端 ...
- [转]SQL Server表锁定原理以及如何解除锁定
2010年10月13日 12:46 来源:部松昌的博客 作者:部松昌 编辑:胡铭娅 一: 下面以AdventureWorks2008为示例数据库做简要的说明,过滤掉一般的数据库的共享锁, 作为示例必须 ...