#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 ...
随机推荐
- JS通过身份证号码获取出生年月日
这里我们讲述一下关于jq根据身份证号码计算出生日期.年龄.性别,有需要的同学可参考一下. 代码如下 复制代码 //获取输入身份证号码 var UUserCard = $("#UUser ...
- iOS 阶段学习第九天笔记(内存管理)
iOS学习(C语言)知识点整理 一.内存管理 1)malloc , 用于申请内存; 结构void *malloc(size_t),需要引用头文件<stdlib.h>:在堆里面申请内存,si ...
- 炉石传说 C# 开发笔记
最近在大连的同事强力推荐我玩 炉石传说,一个卡牌游戏.加上五一放一个很长很长的假期,为了磨练自己,决定尝试开发一个C#的炉石传说. 这件事情有人已经干过了,开发了一个网页版的炉石,但是貌似不能玩... ...
- EventBus简单的实现
EventBus是最近项目用到的,也只是会些简单的功能,不过感觉功能蛮强大的.代码链接:http://download.csdn.net/detail/qq_29774291/9629346 Even ...
- mysql 学习笔记 第二天
插入表格数据: Insert into table_name set columns_1=value1,columns_2=value2,对于没有赋值的列,将会取默认值,并且这个方法只能一次插入一个数 ...
- Java基础复习笔记系列 五 常用类
Java基础复习笔记系列之 常用类 1.String类介绍. 首先看类所属的包:java.lang.String类. 再看它的构造方法: 2. String s1 = “hello”: String ...
- NYOJ:题目490 翻译
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=490 这题的输入输出格式好像描述的不太清楚,1)可能是所有数据都完成输入,然后再输出(解法 ...
- CentOS 6.6 新安装系统的网络IP配置
实例环境 虚拟机:VMware 11.1.0 系统:CentOS 6.6 # ifconfig -a << 查看所有网卡的状态 2. # vi /etc/sysconfig/n ...
- 02Mybatis_原生态jdbc编程中的问题总结——从而引生出为什么要用Mybatis
我们先用jdbc去编写一个例子: 第一步:建表 /* SQLyog v10.2 MySQL - 5.1.72-community : Database - mybatis ************** ...
- 01Mybatis_课程安排
课程安排: mybatis和springmvc通过订单商品 案例驱动 第一天:基础知识(重点,内容量多) 对原生态jdbc程序(单独使用jdbc开发)问题总结 mybatis框架原理 (掌握) m ...