物联网定制开发应该选择什么语言

访问次数: 1308 次   
发布时间: 2022-05-24

首先要看你的需求,如果是跨硬件平台,那么Python、Golang相对不错。如果是边缘设备也是这两个。

大厦不能建立在沙地上,房子也不能盖好了之后总是拆了修理地基。因此选择什么类型的技术栈和基础产品很重要。这个是为了规避未来的风险。


开发语言上有很多选择:Java,Python,Go语言

指标

Java

Golang

备注

人好招吗

容易

较少

Java太多了,转Golang的人比较多。

学习门槛

高

低

Java的体系比较庞大,学习周期长

内存占用

高

很低

EdgeX从Java改Golang之后内存占用少了80%

启动时间

很慢

很快

EdgeX改Golang后微服务启动时间从30秒变成0.5秒

边缘设备支持

折腾多

折腾少

物联网边缘设备需求越来越强。

性能

高

更高

最新的测试是高一丢丢。

并发

高

高

Golang天生高并发

省钱?

需要更多的硬件

省钱

Golang硬件利用率高,更节省设备费

易部署?

慢

快

Golang编译一个可执行文件就可以跑起来

框架体系

发达

一般

Java人多势众,框架多

发展趋势

逐步衰落

逐步上升

TIOBE编程语言排行榜。

易维护

代码难度大

代码易读

面向过程性的代码比面向对象抽象代码易读。

常见物联网开发所使用的语言(代表过去的选择)

产品名

开发语言

ThingsBoard

java11,angular9/vue

NodeRed

JS

netdata

C

grafana

Typescript

mainflux

go

kaa

java,go

EClipse IoT(Kura)

java

home-assistant.io/

python

SiteWhere

java,MongoDB

ThingWorx

java

DeviceHive(no update)

PostgreSQL,java

Zetta(no update)

nodejs

openremote

java

亚马逊云

-

Blynk

C++

particle-iot

JS,C,Java

thinger

java

jetlinks

java,Reactor(VUE)

Cayenne

java

airiot

go、react

EMQX

erlang

EdgeX Froundry

golang

zettajs.org

Node.js

Jetlinks

Java

ThingsPanel

Golang vue


Java最成熟,人也好找,不过长江后浪推前浪,Java的未来不是那么看好。


       1670979581924859.png


       image-4.png

从根本上来说,你能驾驭的住,能实现目的就是好语言。


从我们的角度来说,我们推荐go语言(golang),最早我们的系统是PHP做的,发现了很多性能各方面的问题,后来重做改成了golang,切换技术栈的原因是,整体投入产出比目前看Golang是最高的。



返回

Top