#winhec# 开发人员刷屏看点 (视频)
今天大家已经被winhec刷屏了,本来不想写这篇了,但看了所有的文章,大家关注的都是windows 10的那些新功能,小米win10刷机,联想千元手机,小娜啥的。对于keynote上第二部分 Don Box 的演讲部分大家只字未提,这实在对不起广大的开发人员。那些都是都是给媒体嚼舌根,造舆论的;所以我还是给大家念叨一下真正有价值的东西。
说实话,博主一直搞软件开发的,和硬件的关系仅限于高中和大学假期在中关村攒机的经历(当然还有给女神修电脑,这个谁没干过呢?)。为啥我一个搞软件的要来参加硬件大会?其实呢?我不是搞软件的,是搞软件工程的。软件和软件工程有啥不同呢?你可以这样理解,搞软件是淘金,搞软件工程是卖牛仔裤,我做的是如何开发软件,专注的是工具,方法,效率,自动化等等。所以,我来winhec的目的是想看看怎样能够简化,优化硬件开发的过程。
和北京的雾霾天比起来,清晨深圳空气中传来的是阵阵大海味道和春天的丝丝温暖。
碧绿的棕榈树后面就是本次winhec会议的会场,深圳罗湖君悦酒店;够逼格,据说参加winhec不是报名,不是买票,而必须是微软邀请的。
IoT 开发板
Windows 10给大家带来的不仅仅是PC,平板和手机;更重要的IoT开发平台。而需要开发IoT就需要开发板。今天的winhec上微软公布了三块重要可以用于windows 10 IoT开发的主板。

更细节的配置看下图,这里还多了一块。

大家可以到 http://www.msdn.microsoft.com/hardwaredevboard 了解更多信息。
这几块开发板的主要区别
- Shark Cove
○ 只支持x86 32位应用,
○ 基于Intel Atom处理器的Windows或Android平板。
○ 售价:299美金
○ 官网:http://www.sharkscove.org/
- MinowBoard Max,
○ 支持x64位应用
○ 基于Intel Atom处理器,适合进行驱动开发和创客应用
○ 售价:单核板 99美金, 双核板 199美金
○ 官网:http://www.minnowboard.org/meet-minnowboard-max/
- Raspberry Pi2
○ 4核 ARM处理器,主要用于创客应用
○ 可以跑Linux和Windows
○ 售价:35美金
○ 官网:http://www.raspberrypi.org/raspberry-pi-2-on-sale/
- Qualcomm DragonBoard 410C
○ 高通snapdragon 400处理器
○ 自带Wi-Fi,蓝牙和GPS
○ 适合驱动开发,创客应用,可以跑Windows, Android和Linux
○ 支持1080p HD视频输出,和H.264视频处理能力
○ 售价:不详
○ 官网:https://developer.qualcomm.com/mobile-development/development-devices/dragonboard/410c
不用我多说了,高通的这个410C非常之强大。但稍微思考一下,你会发现这几块板子的定位不同,各有所长。树莓派有最好的社区支持,高通的硬件强大,应该是里面最抢眼的两个了。

开发板的应用场景主要有两个:1) 给硬件厂商开发自己的硬件和驱动程序提供开发平台;2)给创客们(makers)提供创新和尝试的平台。微软给出的这几块开发板基本上覆盖了市面上能看到的重要处理器和平台,配合windows 10的通用性,应该可以在这两个应用场景上满足开发人员的所有需求了。
开发工具链
有了统一的操作系统和开发板,我们还需要开发工具可以支持完整的应用开发周期,这就是本次winhec keynote上带给大家的另外一个重要信息。
这次轮到Don Box这位大神出场了,今天winhec的刷屏信息都集中在Terry Myerson上了,对此博主很不满意。也许你还不知道他是谁,但是你一定知道COM,知道SOAP。那么你应该知道Don Box,具体信息大家可以看看以下这篇文章:http://www.techcn.com.cn/index.php?doc-view-146094.html

Don Box的演讲才是今天winhec上最精彩的部分
使用免费的Visual Studio社区版进行Win10通用驱动程序开发

什么是通用驱动?如果你进行过Windows App或Windows Phone的开发,那么你一定知道通用应用(Universal App)。是的,通用驱动就是可以在所有运行Windows 10的PC,平板,手机和IoT设备上运行的基于同一套代码的通用驱动程序(Universal Driver)。这意味这只要是目标平台支持的硬件,你都不必为这个硬件平台单独开发驱动程序,同一套代码,支持连接到你的不同设备。(当然,这是个子集,并不是所有的驱动都可以做成通用的。)
Windows Driver Framework (WDF) 通过GitHub开源

微软的开源之路才刚刚开始,今天的GitHub上已经可以clone到这个驱动程序框架了
框架代码
https://github.com/Microsoft/Windows-driver-frameworks
样例代码
https://github.com/Microsoft/Windows-driver-samples
通用驱动程序入门
https://msdn.microsoft.com/library/windows/hardware/dn941241(v=vs.85).aspx
下面是现场演示,同一套代码在以上提到的几块开发板上运行。
从图片看的不是太清楚,下面这段视频可以说明,当感应到光照时,不同的开发板使用同样的驱动程序作出了同样的响应。
使用FFU进行部署

使用FFU可以把操作系统,驱动程序,应用程序全部打包,并创建可以直接部署到目标硬件的 image。在这个image中包含了分区信息。可以通过USB同时刷入8台设备,或者写入存储设备(如SD卡);所谓的线刷和卡刷。

现在,你应该可以理解为啥在大家已经被winhec刷屏的情况下还要连夜写下这篇博文。作为开发人员,你是不是已经等不及在你的小米上刷上windows 10了?是不是等不及装上Visual Studio 社区版,clone一份WDF,搞一块开发板,开始你的IoT之旅?
好吧福利来了,明天,每一位参加winhec的参会者都会获得一块MinowBoard Max。

晚上还有幸和Don Box,Terry Myerson和来自华为,Bosch,Intel的众多专家一起闭门交流。而作为硬件MVP,微软送出的开发板不仅仅是一块。
谢谢微软MVP项目组的Celine,来自windows开发团队Asobo,和另外两位MVP守斌和施炯。今天学到了很多。
欢迎关注本博客微信订阅号 anb-io。每周推送内容,有技术也有生活,和你一起做一个有情怀的程序猿。

#winhec# 开发人员刷屏看点 (视频)的更多相关文章
- 【经典】Linux开发人员必看资料+工具
Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核.Linux可安装在各种计算机硬件设备中,比如手机.平板电脑.路由器.视频游戏控制台.台 ...
- .NET开发人员必看:提高ASP.NET Web应用性能的24种方法和技巧
那性能问题到底该如何解决?以下是应用系统发布前,作为 .NET 开发人员需要检查的点. 1.debug=「false」 当创建 ASP.NET Web应用程序,默认设置为「true」.开发过程中,设置 ...
- 【热门收藏】iOS开发人员必看的精品资料(100个)——下载目录
iPhone.iPad产品风靡全球,巨大的用户群刺激着iOS软件开发需求,然而国内人才缺口很大,正处于供不应求的状态,ios开发前景大好.我们整理了51CTO下载中心100份热门的ios开发资料,做了 ...
- Windows Phone开发人员必看资料
win phone开发必看资料,下载地址收藏啦!收藏后可有选择性的下载,希望大家喜欢! 完整附件下载:http://down.51cto.com/data/414417 附件预览: Windows E ...
- iOS开发人员必看的精品资料(100个)
目录下载地址:http://down.51cto.com/data/416672 附件预览如下: iOS游戏开发之Unity3D引擎系列 http://down.51cto.com/zt/399 iP ...
- solr教程,值得刚接触搜索开发人员一看
http://blog.csdn.net/awj3584/article/details/16963525 Solr调研总结 开发类型 全文检索相关开发 Solr版本 4.2 文件内容 本文介绍sol ...
- 【转载】solr教程,值得刚接触搜索开发人员一看
转载:http://blog.csdn.net/awj3584/article/details/16963525 Solr调研总结 开发类型 全文检索相关开发 Solr版本 4.2 文件内容 本文介绍 ...
- 开发人员不可不看的 OBD通讯协议知识
OBD-II Network Standards» J1850 VPW– Adopted by GM; also known as Class 2.– Adopted by Chrysler (kno ...
- Windows Phone 8.1上的开发人员请看
1)SDK选择:如果你是在Windows Phone 8.1上做一个新App, 或者想把7.x/8.0的App移植到8.1上,请使用WinRT SDK,而不是Silverlight.当然Silverl ...
随机推荐
- C#各种文件操作的代码与注释
C#各种文件操作的代码与注释,具体看下面代码: using System; using System.Collections.Generic; using System.Linq; using Sys ...
- EF CodeFirs 代码迁移、数据迁移
最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精 标题叫EF CodeFirs 代码迁移.数据迁移. ...
- Guava并发:ListenableFuture与RateLimiter示例
ListenableFuture顾名思义就是可以监听的Future,它是对java原生Future的扩展增强 RateLimiter类似于JDK的信号量Semphore,他用来限制对资源并发访问的线程 ...
- Sql Server中常见的数据类型
转至http://www.cnblogs.com/andy_tigger/archive/2011/08/21/2147745.html bit 整型 bit数据类型是整型,其值只能是0.1或空 ...
- 启用数据库的 Service Broker
--is_broker_enabled为0未启用,为1启用SELECT name,is_broker_enabled FROM sys.databases WHERE name = 'DBNAME' ...
- jdk1.6与Myeclipse的冲突造成的
出现这样的错误时:ERROR:JDWP Unable to get JNI 1.2 environment ,jvm-> GetEvn() return =- ...
- 关于mybatis 的mapper namespace 作用及解析
因为语言惯性,大部分的namespace 在语言级别*来说是作为一种限定性标识来用,起到唯一或一类的标识.来看看语言(以PHP语言为例)上的namespace的作用实例 一.namespace 在PH ...
- Struts 2.3.24源码解析+Struts2拦截参数,处理请求,返回到前台过程详析
Struts2官网:http://struts.apache.org/ 目前最新版本:Struts 2.3.24 Struts1已经完全被淘汰了,而Struts2是借鉴了webwork的设计理念而设计 ...
- [javaSE] 反射-Class类的使用
JAVA-Reflect 专题 ①Class类的使用 ②方法的反射 ③成员变量的反射 ④构造函数的反射 ⑤java类的加载机制 Ⅰ在面向对象的世界里,万事万物皆为对象 类是对象,类是java.lang ...
- InfluxDB学习之InfluxDB连续查询(Continuous Queries)
在上一篇:InfluxDB学习之InfluxDB数据保留策略(Retention Policies) 中,我们介绍了 InfluxDB的数据保留策略,数据超过保存策略里指定的时间之后,就会被删除. 但 ...