首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于多协议网关的Java C++?

用于多协议网关的Java C++?
EN

Software Recommendation用户
提问于 2016-06-30 11:01:29
回答 1查看 110关注 0票数 2

我们是一家公司,开发一个IoT多协议网关。现在,我们必须决定是使用Java还是C++作为网关的核心语言。网关正在运行OpenWrt,并提供JamVM作为Java虚拟机。

我们已经对这两种编程语言做了一些比较。C++:很好的性能(但不会做复杂的计算),容易出错,有很多好的库可用,不像Java那么熟悉。Java:(可能性能较差?),内存管理没有错误,非常熟悉。

我们倾向于使用Java,因为开发时间是一个问题,当所有开发环境都设置好之后,我们认为我们可以在Java中开发得更快。

我们知道的一些库/组件需要从以下几个方面着手:

  • TCP/IP连接
  • UART通信
  • 蓝牙通信

首先提出的问题是,如果使用Java是明智的,或者您能看到其他可能是大问题的问题吗?

  1. JamVM上一次更新到2.0.0是在2014年7月?你对这个发展有什么看法?这是一个死气沉沉的项目,还是没有必要进行更新,因为它使用的是OpenJDK?
  2. 除了对JamVM的支持,我们还可以吗?这个软件是被广泛使用还是有更好的替代方案?
  3. 有没有人在JamVM的稳定性方面有经验?
  4. 在使用JamVM的过程中,还有其他的职业者和骗子吗?
EN

回答 1

Software Recommendation用户

发布于 2016-07-01 07:52:10

首先提出的问题是,如果使用Java是明智的,或者您能看到其他可能是大问题的问题吗?

  • 性能:与C++相比,Java速度慢,内存需求高,在将来的某个时候可能会出现问题。我假设您正在构建的IoT网关产品需要实时响应。选择C++总是更好地满足响应性,这是IoT网关最重要的特性之一。
  • 支持:在嵌入式系统/物联网世界中,更多的公司和专业人员使用C、C++而不是Java。因此,C/C++将比Java支持更多的东西。此外,对于在开发过程中遇到的任何问题,C/C++的问题得到比Java更好的支持的可能性更高。在某些情况下,您可能是世界上面临某些问题的首批几个人之一,这将花费大量的时间来消除在C++上快速开发Java的好处。
  • 可移植性:将来,如果您需要将项目的全部或部分移植到新平台,那么C/C++代码很容易移植的可能性很大。Java将无法移植到许多小型系统。例如,如果同一网关产品需要移植到较小的设备上,这将节省BoM成本;或者假设您需要构建一些具有部分功能的较小的非网关设备,那么Java可能是错误的选择。
  • 您可以使用混合方法,并同时使用C++和Java,重点是C++

  1. 除了对JamVM的支持,我们还可以吗?这个软件是被广泛使用还是有更好的替代方案?

以下是在小型系统上使用Java的一些替代方法:嵌入式Oracle、ZeroVM、PTC Perc

票数 1
EN
页面原文内容由Software Recommendation提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwarerecs.stackexchange.com/questions/34280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档