e-works数字化企业网  »  文章频道  »  基础信息化  »  工业互联网

一天掌握物联网全栈开发之道

2017/7/10    来源:极客头条    作者:佚名      
关键字:物联网  物联网开发  
在庞大的物联体系之下,云计算、大数据、人工智能、传感技术、安全问题无一不是亟需克服的难点,且身为一名开发者,我们应该掌握哪些技术栈、怎样选择合适的开发利器、如何将移动、云、终端整合?
    万物互联时代,随着国外的谷歌、微软,国内的阿里、华为、百度等诸多行业巨头纷纷入局,物联网迎来的新的浪潮,将更多的商机及机遇呈现出来,无数创业者及开发者纷至沓来,希望从中可分一杯羹。然而在庞大的物联体系之下,云计算、大数据、人工智能、传感技术、安全问题无一不是亟需克服的难点,且身为一名开发者,我们应该掌握哪些技术栈、怎样选择合适的开发利器、如何将移动、云、终端整合?
 
    现代物联网应用系统构架与技术栈(PPT)
 
    首先是来自 WRTnode 创始人罗未,分享了物联网技术现状、开发者所需关注的技术点,并以 WRTnode 的 node.system 为例,实践代码解析软件定义物联网方法。
 
    罗未表示如今的物联网技术碎片化移动,交付周期长。目前诸如 Android Things、LiteOS、MiCO、TinyOS、Contiki 等物联网操作系统多达 50 种,且一个厂商的一个芯片自带一套开发框架,最终直接导致硬件开发周期慢。因此物联网技术迫切需要在效率、分工、工具、共享等方面做出相应改变,更加快速高质量的进行交付。
 
    而作为开发者所需要做的事是更好的自身提升技能:
 
  • 大前端:JavaScript;
 
  • 新后端:MQTT、OTA;
 
  • 设备端: 
 
    物联网芯片: MT7697、MT8788、ESP32
 
    开发技术:操作系统、开发框架
 
    对于软件如何定义物联网,罗未以 node.system 为例,使用 JavaScript 为所有不同的 SoC 和不同的操作系统提供统一的开发框架。
 
    物联网项目与互联网项目工程技术上最大的不同是供应链,所以开发者要对供应链抱有正确的认知。
 
    IoT 应用开发 —— 选择开发平台的正确姿势(PPT)
 
    物联网开发平台那么多,对于入门级的 IoT 开发者来说该如何抉择?郑晔表示在 IoT 应用开发领域中,熟知的开发平台主要有:
 
 
  • 极客硬件平台:树莓派、Arduino 等;
 
  • JavaScript IoT 应用开发平台:Ruff、Tessel、JerryScript、Johnny-Five 等。
 
    对于嵌入式操作系统,它的入门门槛极高,开发者需要学习大量软硬件相关的知识,同时嵌入式领域在开发方法上已经大幅度落后于整个行业的发展,此外它的编程概念通常属于专用领域,因此知识很难在行业中共享,开发者在行业中流动也相对困难。
 
    极客硬件平台虽然简化了入门难度,但开发真正困难的部分在编程概念。且这些平台只解决了原型开发的问题,开发者即便能够通过它实现了一个产品原型,也很难将它用到真正的产品中。
 
    由此更高级的开发语言应运而生,诸如:
 
  • 在硬件上运行 JavaScript:JerryScript、Espruino 等;
 
  • 面向应用的硬件抽象:Tessel、Johnny-Five、Cylon.js 等;
 
  • 提供生产支持:Ruff。
 
    演讲中郑晔对以上的平台进行了详细的对比,并基于采用 JavaScript 语言、设计硬件抽象、提供生产支持能力三大标准教会开发者衡量了 IoT 开发平台。
 
    基于 JavaScript 语言的快速物联网开发架构(PPT)
 
    随着 JavaScript 语言的流行,及物联网领域的崛起,我们可以二者结合所带来的可能性。黄峰达表示当前的物联网应用,所要做的就是控制和数据处理。对比互联网架构,物联网架构的起点和终点都不一样。
 

一天掌握物联网全栈开发之道

 
    现有的物联网系统主要使用的语言是:
 
  • 后台服务:Java、Go、Python
 
  • 硬件端:汇编、C、C++
 
  • 手机应用:Java、Objective-C/Swift
 
  • Web 界面:JavaScript
 
  • 桌面应用:C#、C++
 
    一个基于 JavaScript 的物联网架构不仅囊括了互联网中的 JavaScript 的 Web 应用,还有应用层、协调层、服务层和硬件层。
 
一天掌握物联网全栈开发之道
 
 

责任编辑:李欢
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
e-works
官方微信
掌上
信息化
编辑推荐
新闻推荐
博客推荐
视频推荐