Eclipse基金会从2016年开始每年都针对IoT物联网开发者情况在官网做了在线调研。以下内容基于Eclipse基金会2018年物联网开发者调查报告。
最主要的物联网编程语言
在物联网整体解决方案中Java,C,JavaScript,Python,C++有明显的优势。
Java是总体上最流行的物联网编程语言,适用于从后端到移动应用的各种环境,在网关和云端占主导地位。
C通常被认为是面向嵌入式物联网设备的主要编程语言,
**C++是面向较复杂的Linux实现的最常见选择。
Python非常适合数据密集型应用。
JavaScript在物联网Web前端应用占据重要位置。
在物联网设备端,网关,云端不同编程语言排名如下:
Java
一次编写,随处运行。Java是面向对象的编程语言,开发人员可以在其桌面上创建和调试代码,然后使用Java虚拟机将其移动到任何芯片。
Java不仅可以运行在JVM常见的地方服务器和智能手机,Java ME通过非常有限的类库和其他工具集合节省了空间,已经广泛用于小型嵌入式设备上。
C
在设备级别,计算能力通常非常有限。C在这里效果最好,因为该语言非常适合编写低级代码(即靠近硬件层的代码),它不需要很多处理能力,并且能够直接使用RAM。
C也是微控制器编程的通用语言,使其成为传感器和网关硬件层应用的明智之选。但是,由于C语言是一种低级语言,如果开发人员不熟悉最佳实践,其语法可能会变得混乱和混乱。
Python
Python作为一种高级脚本语言开始了它的旅程。它有大量有用的库,它可以用更少的代码行完成更多的工作。它是物联网系统数据分析部分的理想选择。
薪资方面:物联网开发领域Java和C开发人员比其他语言容易获得更高的薪水,而高级Go程序员在薪资方面的潜力最大。
总体来说,物联网开发是多种语言的,未来也一定是多种语言共存的局面。
重要产业趋势
从物联网产业趋势来看,IoT物联网平台建设,智能家居,智能工业,智慧城市是众多公司争抢的领域。
数据库选型
在物联网领域开源关系型数据库MySQL延续互联网应用的基础,稳居第一。KV型数据库MongoDB和时序数据库TSDB在物联网场景优势凸显。
消息传输协议
在物联网场景中消息传输协议MQTT逐年攀升,稳居第一。传统互联网HTTP协议在面向用户端应用场景使用量占比高。
WebSockets和HTTP/2增长强劲。
IoT物联网云平台
AWS,Azure,google在海外IoT物联网平台占据了前三名。
国内阿里云IoT物联网平台优势明显。