物联网发展的三大编程语言

by admin on 2020年4月14日

物联网的快速发展也意味着该领域总是在变化。Eclipse IoT 工作组、IEEE
IoT、AGILE IoT 和 IoT 委员会在今年第一季度进行了一项“2017
物联网开发者调查”,旨在找出该领域的趋势,了解开发人员如何构建
IoT 解决方案。

图片 1

虽然Java是物联网开发中使用最多的语言,但是Java和Python在物联网开发的不同子域中紧随其后。物联网发展的未来可能仍然是多语言的。

该调查还公布了物联网领域编程语言的相关趋势:

从 2015 年起至今,Eclipse 基金会每年会通过 IoT 开发者调查报告来研究 IoT
开发者社区的发展趋势。近期,Eclipse 正式发布 2017 年 IoT
开发者调查报告,与大家共同探索物联网的解决方案。该调查组由 Eclipse IoT
工作组、IEEE、Agile-IoT EU 和 IoT 委员会共同组成,此次共有 713
位开发者参加了调查。主要趋势1.
物联网产业多样化
今年调查参与者来自更加多样化的行业。其中 IoT
平台和家庭自动化行业继续领先,同时诸如工业自动化、智慧城市、能源管理等行业相比去年,增长速度很快。2.
安全问题仍是重头戏
安全问题仍是众多 IoT 开发者关注的重点,占比高达
46.7%。接而协同性和连接性位居其次。但从下图中,我们也发现相比 2015
年的协同性和 2016
的协同性而言,今年开发者对这方面关注似乎呈下降趋势,同时这表明行业的标准和物联网中间件起到了一定作用。今年主要用于物联网安全解决方案的技术是占比
48.3% 的通信安全和 43.2%
的数据加密。此外,面向硬件的安全解决方案似乎不太受欢迎,如使用可信平台模块、硬件安全模块。3.
IoT 编程语言抉择
Java 和 C 是主流的 IoT 编程语言,此外还有 C ++、Python
和JavaScript。今年根据调查发现,开发者使用什么样的语言取决于物联网具体类型,如受限的设备、IoT
网关和 IoT
云平台。根据这些类别,语言的抉择取决于软件开发的目标:在受限制的设备上,C和
C ++成为主流开发语言。 其次是 Java和 Python,最后是
JavaScript使用最少。开发 IoT 网关,选择的语言更加多样化,其中
Java、C、Python、C ++。JavaScript 和 Node.js 偶尔会使用。基于 IoT
云平台开发,Java排第一,其次是 JavaScript、Node.js和 Python。并不惊讶
C和 C ++使用量显着下降。总体而言,IoT
解决方案开发需要多种语言的编程技能。具体语言对应具体场景应用。4.
主流操作系统为 Linux ,Raspbian 和 Ubuntu 位居一二
Linux 仍然是 IoT
的主要操作系统。受限设备中, Linux 占44.1%,在 IoT 网关上,Linux 占
66.9%。Linux 发行版中 Raspbian和 Ubuntu使用率位居一二。如果 Linux 是
IoT 的主要操作系统,那么是否有替代的 IoT 操作系统?今年,Windows
有了大幅提升,此外 FreeRTOS 和 Contiki 的使用也在增长。5.
亚马逊、微软、谷歌成为热门 IoT 云平台
亚马逊继续成为领先的 IoT
云平台,其次是 Microsoft Azure和 Google
云平台。今年一个重大变化是私人/内部部署云的使用量下降,从 2016 年的
34.9% 下降到 2017 年的 18.4%。这意味着 IoT
云平台现在已经更加成熟。6. 蓝牙、LPWAN 协议和 6LowPAN
使用率增加
对于过去的三年中,TCP/IP 和 Wi-Fi
一直是开发者最受欢迎的连接协议。然而,更多的连接协议及技术出现,基于
2017 年的数据,物联网开发者社区采用了蓝牙/智能蓝牙、LPWAN技术和
6LoWPAN。不过,Thread的使用率仍然较低。总结调查结果显示了 IoT
开发人员的一些常见模式。此外报告也涵盖了常见的物联网硬件架构、IDE
使用情况、采用的 IoT 标准,开源的 IoT 等等。更多内容:IoT Developer
Trends 2017 Edition调查报告 PPT 下载:2017 物联网开发趋势调查报告

十年前,可能没有人想象未来有一天我们使用的空调、冰箱可以智能可控,路上行驶的汽车可以自动驾驶,现在,这些都将变得现实,而让这些变得现实的就是物联网。众所周知,物联网技术的目的是测量,收集和分析数据,以提供更好的用户体验并提高产品质量。简单的来说就是让我们的生活更好的运作。

图片 2

不同约束条件下的发展

调查发现这些主要编程语言之间其实存在很高的共性。 Java 和 Python 通常用于
Constrained Device、IoT 网关和 IoT 云平台。同时,C 和 C ++ 也在
Constrained Device 和网关里占有重要意义和用途,而 IoT
云平台的开发更多地是利用了 Javascript 和 Node.js 。

测量,收集和分析三个阶段中的每一个阶段都需要有不同的工作环境和不同的约束集。

这也表明在物联网领域其实可选的语言相对广泛,根据物联网生态系统的不同部分,语言也会有适当的倾向划分,满足客户需求的方法存在很大的差异。

例如,通过设备上具有有限能力的传感器测量数据。然后使用诸如智能手机或小型控制台上的app之类的网关来聚合和传输该数据,该控制台具有与设备完全不同的计算能力。使用云存储和分析该数据。

图片 3

因此,软件开发领域的每个阶段都可以为物联网提供不同的编程语言。开发人员使用几种不同的物联网编程语言,如C,C
++,Java,JavaScript,Python和PHP等等。

(文/开源中国)    

图片 4

对于具有低计算能力和受限RAM的物联网硬件,C是
首选的编程语言,但对于网关和云平台,Java是首选。那么我们来分析下最受欢迎的物联网开发的三大编程语言的原因。

1 C.

在设备级别,计算能力通常非常有限。C该语言非常适合编写低级代码(即靠近硬件层的代码),它不需要很多处理能力,并且能够直接使用RAM。

C也是微控制器编程的通用语言,使其成为传感器和网关硬件层应用的明智之选。但是,由于C语言是一种低级语言,如果开发人员不熟悉最佳实践,其语法可能会变得混乱和混乱。

2 Java

Java在编程世界中被广泛使用和教授。对于IoT应用程序,通过使用Java虚拟机功能代码可以转移到任何芯片。

代码可用于JVM常见的地方,如智能手机和服务器。此代码也可用于最小的机器,使其成为物联网软件的理想选择。

Java是面向对象的物联网编程语言。

Java具有对IoT应用程序有用的内置功能。

Java非常便携,没有硬件限制。

3 Python

Python作为一种高级脚本语言开始了它的旅程。它有大量有用的库,它可以用更少的代码行完成更多的工作。它是物联网系统数据分析部分的理想选择

源代码紧凑且可读,因为语法很干净。

Python易于学习,使用广泛,并且支持强大。

管理和组织复杂数据流的绝佳选择,无需维护同样复杂的代码库。

对于简单的模块化项目,Python越来越受欢迎,其中计算需求从中到低。

随着物联网使用的增加,将产生越来越多的关于产品性能,挑战和机遇的数据。将能够更好地理解哪种编程语言更适合哪些物联网产品或服务。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图