提及.NET Gadgeteer,不得不先说一下.NET Micro Framework,虽然.NET Micro Framework已经有十几年的发展历史了,可是在全球范围内,.NET Micro Framework的知名度,远远低于它的近亲.NET Framework和.NET Compact Framework,其缘由值得探究。php
.NET Micro Framework仅从名字上理解,就是一个框架,和.NET Framework还有.NET Compact Framework应该没有什么大的不一样,可是.NET Micro Framework有本身的特点,就是自启动功能,也就是不须要操做系统也能运行。这个特点将.NET Micro Framework逐渐演化为一个操做系统的角色。恰是这一点,在.NET Micro Framework早期发展过程当中,愈来愈显得没有优点和特点。程序员
早期的.NET Micro Framework并无直接对第三方开放,而是做为微软.NET全战略的一环,以.NET Micro Framework为基础,推出一系列产品。目前比较火热的可穿戴设备,好比智能手表。其实.NET Micro Framework为核心的第一代产品就是智能手表,早在2003年的拉斯维加斯的Comdex贸易展上,比尔盖茨就曾亲自戴着智能手表进行过推广。这项以.NET Micro Framework为核心发展起来的技术叫MSN Direct,除了手表产品外,还有能够预报天气的咖啡壶,GPS导航器等产品。编程
以.NET Micro Framework为核心的第二代产品是SideShow,曾以笔记本的第二屏、智能遥控器和智能键盘的面目出现,华硕、三星的笔记本就包含这样的SideShow显示屏。框架
可是不管是MSN Direct,仍是SideShow,其产品并不成功,这和微软早期强制推广.NET战略相关的,由于基于.NET技术开发此类产品,虽然开发比较快,可是对硬件资源需求比较高,其.NET托管代码相比原生C++代码,速度要慢许多。因此此类产品一旦批量生产,性价比确定比较低。最初微软也打算所有用.NET C#语言开发操做系统(好比Longhorn系统),后来事实证实这种作法是行不通的。ide
2009年起始微软开始调整.NET Micro Framework发展战略,首先以Apache 2.0 license的受权方式彻底开源.NET Micro Framework,并基于.NET Micro Framework推出第三代产品Netduino,微软这个思路实际上是仿照Arduino产品而作的,从产品命名还有实际硬件接口上,都是学习Arduino。我我的认为这个思路是对的,至少充分发挥了.NET Micro Framework优点,小巧,开发迅速,而且采用强大的Visual Studio进行程序开发和在线调试,让全部的.NET程序员很容易进入到嵌入式领域进行相关开发,这不得不说在软硬件开发结合愈来愈紧密的时代,对.NET程序员是一个福音。工具
而其后推出的基于.NET Micro Framework技术的.NET Gadgeteer产品更是充分发挥了.NET Micro Framework优点,在Netduino产品的基础上,更上一层楼,青出于蓝而胜于蓝,彻底演化成具备微软本身特点的产品。特别是微软定义的20种.NET Gadgeteer接口类型,应该是微软为工控领域制订OPC技术标准以来,最重要的一个接口标准。学习
更具特点的是硬件拖拉可视化编程。在DOS时代咱们开发一个界面程序,能够说是摸着石头过河,边写代码,边运行测试,以确认相关界面的位置是否合适。Windows平台下最初的Visual Basic等可视化编程工具,让咱们的界面开发带入一个新时代,每一个功能模块都被封装为一个控件,经过可视化拖拉的方式,设计界面,让咱们的界面开发提高到一个新的水平。同理,咱们以软件界面开发的眼光审视目前的硬件开发,其实发现,开发模式仍处在DOS时代,每外接一个功能模块,都须要咱们的程序员匠心独运,当心翼翼分配相关的Pin脚,并用心开发相关驱动,最终经过应用程序调用底层接口,进行数据交互。测试
而.NET Gadgeteer的开发环境,让咱们抛弃了这些琐碎和繁杂的步骤,视每一个外接模块为一个控件,经过拖拉方式,让核心主板和这些模块相连,自动完成接口初始化、模块初始化等工做。留给咱们所作的,就是一些业务逻辑的实施和完善,这是硬件开发领域的面向对象编程,是一个具备里程碑意义的硬件开发变革。ui
有了这些特点.NET Gadgeteer已经和Netduino、Arduino等相关DIY产品不一样,跳出了仅仅是学习硬件,电子产品小制做的范畴。再结合目前的发展的如火如荼的3D打印技术,.NET Gadgeteer已经成为快速制做最终产品最好的选择(特别是小批量、个性化产品)。在物联网发展迅猛的今天,.NET Gadgeteer更是能够大显身手,能够方便接入各类传感器模块,并把相关数据上传到云端。spa
【说明】以上内容摘自译著《玩转.NET Gadgeteer电子积木》上的译者序,目前该书已经出版,详情能够单击下面的连接:
http://www.yfiot.net/forum.php?mod=viewthread&tid=1977&extra=page%3D1