小博无线技术团队使用的编程语言

简介: 简单介绍了小博无线(rippletek.com)技术团队使用的主要的几种编程语言及其应用场景。

目前,小博无线(rippletek.com)技术团队主要使用下面四种编程语言:

  • Ruby
  • JavaScript
  • Lua
  • Go

早期曾大量使用Erlang,后来放弃,具体原因在这篇文章中有详细介绍。

Ruby

Ruby on Rails进行业务数据接口开发

优点在于可以快速开发业务,弱点在于资源占用大,并发能力差。

开发策略为优先采用Ruby快速开发新业务,如发现有接口由于高频调用出现性能问题,先将这部分功能隔离出来并增加节点个数,将性能问题转化为资源问题,再用并发性能更好的Go语言实现替换Ruby来解决资源问题。这篇文章是一个具体案例。

运维机器人TidyMaid

我们在运维自动化中也广泛使用Ruby,TidyMaid就是采用Ruby实现的,详细介绍可参考这篇文章

JavaScript

这是前端开发的唯一选择。云端业务系统主要基于React, 设备配置界面基于Vue。

Lua

设备端的业务开发主要采用Lua,好处是开发和调试难度比C低很多,如果需要调用系统底层功能,也能和C模块非常方便的集成。

云端也有一部分基于openresty开发的与设备对接的业务系统,并发性能很好。

Go

  • 由于并发性能优异,用于高并发的数据接口开发
  • 结合alpine和chronos, 可以非常方便的开发和部署定时任务
  • 由于部署简单,在运维系统中也被大量使用

其他

除了上面四种被大量使用的编程语言,还有一些较少使用的编程语言:

  • C用于开发设备上的一些网络内核模块和设备驱动
  • Groovy用于实现jenkins pipeline
  • 运维系统还使用了少量的python
  • Java用于实现ODPS的UDF
目录
相关文章
|
8月前
|
存储 编译器 程序员
汽车电子行业的 C 语言编程标准
汽车电子行业的 C 语言编程标准
174 0
汽车电子行业的 C 语言编程标准
|
5月前
|
物联网 区块链 vr&ar
未来已来:探索区块链、物联网与虚拟现实技术的融合与应用安卓与iOS开发中的跨平台框架选择
【8月更文挑战第30天】在科技的巨轮下,新技术不断涌现,引领着社会进步。本文将聚焦于当前最前沿的技术——区块链、物联网和虚拟现实,探讨它们各自的发展趋势及其在未来可能的应用场景。我们将从这些技术的基本定义出发,逐步深入到它们的相互作用和集成应用,最后展望它们如何共同塑造一个全新的数字生态系统。
|
3月前
|
vr&ar Android开发 UED
移动应用与系统:探索现代科技的核心动力
本文旨在深入探讨移动应用开发和移动操作系统的关键技术,揭示它们如何共同推动现代科技的发展。通过分析移动应用开发的趋势、工具和技术,以及移动操作系统的特点和优势,我们将看到这些技术如何影响我们的生活、工作和娱乐方式。此外,我们还将讨论未来移动技术和其在不同领域的应用前景,为读者提供全面而深入的理解。
53 6
|
5月前
|
Rust 安全 物联网
解锁物联网安全新纪元!Rust如何悄然革新系统级编程,让智能设备“零风险”连接未来?
【8月更文挑战第31天】随着物联网(IoT)技术的发展,设备安全与效率成为关键挑战。Rust语言凭借其内存安全、高性能和并发优势,逐渐成为物联网开发的新宠。本文通过智能门锁案例,展示Rust如何确保生物识别数据的安全传输,并高效处理多用户请求。Rust的应用不仅限于智能家居,还广泛用于工业自动化和智慧城市等领域,为物联网开发带来革命性变化。
125 1
|
监控 物联网 5G
未来已来:探秘嵌入式5G技术的新时代
未来已来:探秘嵌入式5G技术的新时代
|
存储
嵌入式网络设备一次盲点补报的开发经验(二)
嵌入式网络设备一次盲点补报的开发经验(二)
116 0
|
Java 物联网 Python
物联网发展的三大编程语言
虽然Java是物联网开发中使用最多的语言,但是Java和Python在物联网开发的不同子域中紧随其后。物联网发展的未来可能仍然是多语言的。十年前,可能没有人想象未来有一天我们使用的空调、冰箱可以智能可控,路上行驶的汽车可以自动驾驶,现在,这些都将变得现实,而让这些变得现实的就是物联网。
20799 1
嵌入式学习从业之路 嵌入式行业之路
在嵌入式行业越走越远的道路上是不是有过迷茫,或者正在人生的十字路口还没有走向这条路的朋友,有些感觉无从下手,担心其未来发展前景,希望本文对处在迷茫中的嵌入式爱好者和从业者有所启发。      嵌入式学习从业之路 嵌入式行业之路 1.嵌入式学习,理论和实践缺一不可 嵌入式要学的东西很多,该注重理论还是实践? 的确,嵌入式系统的实践性是很强的,但是它需要足够的理论基础做支撑。
1204 0
|
Linux C语言 SoC
嵌入式学习难点 嵌入式软件学习
嵌入式学习不是一蹴而就的,需要不断的积累,如果是希望向嵌入式软件方向发展的话,目前最常见的是嵌入式Linux方向,关注这个方向,我认为大概分3个阶段:     嵌入式学习难点 嵌入式软件学习3个阶段 1、嵌入式linux上层应用,包括QT的GUI开发 2、嵌入式linux系统开发 3、嵌入式linux驱动开发 嵌入式目前主要面向的几个操作系统是,LINUX,WINCE、VxWorks等等。
1787 0