今天科技类最大的新闻,莫过于微软宣布.NET开发框架开源计划。.NET 开源,集成 Clang 和 LLVM 并且自带 Android 模拟器,这意味着 Visual Studio 这个当下最好没有之一的 IDE 正式支持编写 Android 和 iOS 程序 -- Visual Studio 和 .NET 真正开始走向跨平台化。Nadella 说的“移动为先,云为先”和“找到微软最初的本质”终于连成一线。(详情请参见相关新闻链接:http://www.cnbeta.com/articles/345617.htm)。

同时.NET Micro Framework之父Colin Miller也高调回归,在11月11日发布一篇以ComingHome为标题的新博文,文中声称,微软发布新的计划,将加大对.NET Micro Framework的投入力度,着力在智能设备和物联网领域进行深度开发。正因为如此,所以经过两年的离开后,重新归队领导.NETMicro Framework下一步的开发。(相关博文请参见:http://blogs.msdn.com/b/netmfteam/archive/2014/11/11/coming-home.aspx)。

目前来看,未来物联网的开发平台,无非集中在三个层面:云,移动入口,端。

在云这个平台上,微软的战略眼光和实际执行都比较到位,至少技术和整体布局上并没有落后。但是在移动入口(手机、平板),起个大早,赶一晚集,拉一个偌大 的诺基亚来垫背,也没有摆脱败局。所以现在宣布开源.NET,支持Android和IOS开发,就是想在移动入口有所作为(最近office一些产品也为 这些嵌入式平台免费提供了)。剩下的就是端,这个端不是指传感器等设备,而是指接入端,虽然.NET Micro Framework设计之初,是专为智能设备开发而准备。但是随着物联网时代的来临,接入设备的多样性,及通信的复杂性,让易于开发和易于调试的.NET Micro Framework重新焕发新的生命力。微软重新重视.NETMicro Framework,云+端同时发力,在物联网时代,胜算就会多几分了。

近几年来,ARM通过推出Cortex系列的产品,在硬件层面,尽可能统一了不同厂家的芯片的核心功能,另外 又通过CMSIS中间件,抹平了各厂家的芯片差异,借力mbed和CoAP技术提供物联网开发支持(相关详细内容,可以参见去年的一篇博文:http://blog.csdn.net/yfiot/article/details/17006331)。通过JS,Html5,C/C++等开发语言,借助开源库,通过几年的努力,逐渐形成了相对完整的物联网开发体系。不过C/C++开发,开发门槛比较高,调试和维护都不是太方便,对微软这种以易用起家的公司来说,物联网领域充满机会。

物联网从云到端、到手机、到平板,各种软硬件平台,借助.NET开发,通过统一的开发工具,统一的开发语言,花最小的代价,完成整体开发--至少这是目前我所看到的,最诱人的前景。

(转)微软借力.NET开源跨平台支持,布局物联网平台开发的更多相关文章

  1. 微软借力.NET开源跨平台支持,布局物联网平台开发

    今天科技类最大的新闻,莫过于微软宣布.NET开发框架开源计划..NET 开源,集成 Clang 和 LLVM 并且自带 Android 模拟器,这意味着 Visual Studio 这个当下最好没有之 ...

  2. 开源基于asio的网络通信框架asio2,支持TCP,UDP,HTTP,RPC,SSL,跨平台,支持可靠UDP,支持TCP自动拆包,TCP数据报模式等

    开源基于asio的网络通信框架asio2,支持TCP,UDP,HTTP,RPC,SSL,跨平台,支持可靠UDP,支持TCP自动拆包,TCP数据报模式等 C++开发网络通信程序时用asio是个不错的选择 ...

  3. .NET Core:面向未来的开源跨平台开发技术

    作为一种全新的开源和跨平台的开发平台,.NET Core 历经两年多的开发,终于在于2016年6月27日针对所有主流服务器和桌面操作系统发布 1.0 RTM 版本..NET Core 是一种通用开发平 ...

  4. Google、亚马逊、微软 、阿里巴巴开源软件一览

    Google.亚马逊.微软 .阿里巴巴开源软件一览 大公司为什么要发布开源项目?一是开源能够帮助他人更快地开发软件,促进世界创新,主要是社会价值层面的考虑.二是开源能够倒逼工程师写出更好的代码.三是开 ...

  5. 5款替代微软Visio的开源免费软件(转)

    5款替代微软Visio的开源免费软件 提到流程图和图表设计,自然会想到微软出品的Office Visio,它是一款强大的流程图设计工具.Visio并不在Office标准套装中,需要额外付费购买,这可能 ...

  6. 开源物联网框架ServerSuperIO 3.0正式发布(C#),跨平台:Win&Win10 Iot&Ubuntu&Ubuntu Mate,一套设备驱动跨平台挂载,附:开发套件和教程。

    3.0版本主要更新内容: 1.增加跨平台能力:Win&Win10 Iot&Ubuntu&Ubuntu Mate 2.统一设备驱动接口:可以一套设备驱动,跨平台挂载运行,降低人力 ...

  7. 开源跨平台IOT通讯框架ServerSuperIO,集成到NuGet程序包管理器,以及Demo使用说明

          物联网涉及到各种设备.各种传感器.各种数据源.各种协议,并且很难统一,那么就要有一个结构性的框架解决这些问题.SSIO就是根据时代发展的阶段和现实实际情况的结合产物. 各种数据信息,如下图 ...

  8. 【重大更新】开源跨平台物联网通讯框架ServerSuperIO 2.0(SSIO)下载

    更新具体细节参见:[更新设计]跨平台物联网通讯框架ServerSuperIO 2.0 ,功能.BUG.细节说明,以及升级思考过程! 声明:公司在建设工业大数据平台,SSIO正好能派上用场,所以抓紧时间 ...

  9. Sublime Text 2 - 性感无比的代码编辑器!程序员必备神器!跨平台支持Win/Mac/Linux

    我用过的编辑器不少,真不少- 但却没有哪款让我特别心仪的,直到我遇到了 Sublime Text 2 !如果说“神器”是我能给予一款软件最高的评价,那么我很乐意为它封上这么一个称号.它小巧绿色且速度非 ...

随机推荐

  1. Golang Gin 项目包依赖管理 godep 使用

    Golang Gin 项目包依赖管理 godep 使用 标签(空格分隔): Go 在按照github.com/tools/godep文档go get完包以后,调整项目结构为$GOPATH/src/$P ...

  2. BFC与浮动

    一.BFC的含义 BFC(block formatting contexts) 块级元素格式化上下文,它决定了块级元素如何对它的内容进行布局,以及与其它元素的关系和相互作用. 块级元素:父级(是一个块 ...

  3. R语言学习笔记—组合数

    组合数:从m个不同元素中取出n(n≤m)个元素的所有组合的个数,叫做从m个不同元素中取出n个元素的组合数. 代码: str_comb <- function(vector){ n <- l ...

  4. 20155224聂小益的Linux学习

    20155224聂小益的虚拟机安装 虚拟机安装 一开始,我在下载VirtulBox及Ubuntu遇到了一些困难,老实说点进去看到一大堆英文界面的时候真的是有点吓到.不过几秒钟之后就发现这并没有什么哈哈 ...

  5. 20155315 2016-2017-2 《Java程序设计》第四周学习总结

    教材学习内容总结 1.继承与多态 Java中只有单一继承,也就是只能有一个父类; 多态即指一个父类可由多个子类继承. 继承可以复用代码,更大的用处是实现「多态」. 封装是继承的基础,继承是多态的基础 ...

  6. 【CF813D】Two Melodies

    [CF813D]Two Melodies 题面 洛谷 题解 $dp$: 设$f[i][j]$表示第一个集合以$i$结尾.第二个集合以$j$结尾的合法长度之和最大是多少 明显有$f[i][j]=f[j] ...

  7. MySQL数据库之安装,基本操作

    一.基础部分 1.数据库是什么 之前所学,数据要永久保留,比如用户注册的用户信息,都是保存于文件,而文件只能存在于某一台机器上. 如果我们不考虑从文件中读取数据的效率问题,并且假设我们的程序所有的组件 ...

  8. linux系统CPU内存磁盘监控发送邮件脚本

    #!/bin/bashexport PATHexport LANG=zh_CN.UTF-8###top之后输入数字1,可以查看每颗CPU的情况.###先配置好mailx邮箱账号密码:#cat>/ ...

  9. static和构造函数初始化顺序

    abstract class demo{ public demo() {} protected void a() { System.out.println("I am parents!&qu ...

  10. sql server 批量备份数据库

    很多时候,我们都需要将数据库进行备份,当服务器上数据库较多时,不可能一个数据库创建一个定时任务进行备份,这时,就需要进行批量的数据库备份操作,好了,废话不多说,具体实现语句如下: --开启文件夹权限 ...