#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 ...
随机推荐
- 在jQuery代码中,实现转跳
隐藏转跳,浏览器不产生历史记录(replace).代码片段: window.location.replace("http://insus.cnblogs.com"); 当然我们还不 ...
- 类UNIX操作系统概念
摘要:对unix os上的一些基本概念做一个统一的梳理,以下内容转自互联网和相关书籍 一 进程组.会话.控制终端 进程组---------------------------------------- ...
- webstorage[html5的本地数据处理]
1.webStorage是什么? webStorage是html5中用于本地化存储的一种方式,而在之前呢我们是用cookie的存储方式处理; 2.那它们之间的区别是什么? Ⅰ.cookie存在的问题: ...
- DataTable 除去列中重复值
DataTable dtPCI = dtblSourceData.DefaultView.ToTable(true, new string[] { "Server Cell PCI" ...
- EC笔记,第一部分:1.视C++为一个语言联邦
C++可看作由以下四种次语言组合而成1.C语言 高效,内置数据类型,数组,区块,语句,指针,预处理器,没有重载.异常.模板2.类 构造,析构,封装,继承,多态,迟绑定3.模板 模板元 ...
- .net下mysql存储过程返回自定义值(原创)
ado.net方法 public static string ExecuteQueryProc(string sConnStr, string sSql, Hashtable args) { MySq ...
- SQL内部拼接执行SQL语句时,实现变量参数化
exec sp_ExecuteSql执行的SQL语句拼接起是比较麻烦,如果关联的表多拼接过程是很容易出错的,下面这方法非常的好用,而且简单直观 if exists(select * from syso ...
- Win7 电脑设置临时网络,无法加入网络;internet禁止网络共享
1.电脑的本地连接中的共享,被管理员禁用.网上试了一些方法,都不可行.最后想到修改注册表.我找到了注册表中的shared选项.将0修改为1.则实现了本地连接的共享. 2.但是即便如此,由本地连接分享出 ...
- HDU 1131 Count the Trees 大数计算
题目是说给出一个数字,然后以1到这个数为序号当做二叉树的结点,问总共有几种组成二叉树的方式.这个题就是用卡特兰数算出个数,然后因为有编号,不同的编号对应不同的方式,所以结果是卡特兰数乘这个数的阶乘种方 ...
- js中的原型、继承的一些想法
最近看到一个别人写的js类库,突然对js中的原型及继承产生了一些想法,之前也看过其中的一些内容,但是总不是很清晰,这几天利用空闲时间,对这块理解了一下,感觉还是有不通之处,思路上没那么条理,仅作为分享 ...