ThingsBoard3.9.1技术栈总结包括前端/后台/APP

        最近在整理thingsboard课程,基于最新thingsboard版本3.9.1/4.0,欢迎大家收藏关注我提问在评论区留言,我争取把最新、最准、最好的课程,呈现在各位亦师亦友的csdn广大读者面前。

目录

1. 技术栈

1.1 前端技术栈

1.2 后台技术栈

1.3 APP技术栈


1. 技术栈

1.1 前端技术栈

TB 3.9.1版本:

类别

技术/依赖项

版本

说明

前端

构建工具

Node.js

v20.11.1

JavaScript 运行时环境,用于构建和运行前端应用。

Yarn

v1.22.17

包管理工具,用于安装和管理前端依赖项。

前端框架

Angular

-

前端框架,用于构建单页应用(SPA)。

构建工具

插件

Frontend Maven

Plugin

-

Maven插件,用于集成Node.js和Yarn,支持前端构建和开发。

构建命令

yarn install

-

安装前端依赖项的命令。

yarn run build:prod

-

生产环境构建命令,用于生成优化后的前端代码。

yarn start

-

开发环境启动命令,用于本地开发和调试。

说明:

前端基于Angular框架构建,使用Node.js和Yarn作为开发和构建工具。

Frontend Maven Plugin 用于将前端构建流程集成到Maven构建过程中,支持安装依赖、构建生产环境和启动开发服务器。

前端构建流程包括:

        安装依赖项(yarn install)。

        生产环境构建(yarn run build:prod)。

        开发环境启动(yarn start)。

类别

技术/依赖项

版本

说明

前端框架

Angular

18.2.13

核心前端框架,用于构建单页应用(SPA)。

Angular Material

18.2.14

Angular 的 Material Design 组件库。

Angular Flex Layout

^15.0.0-beta.42

Angular 的响应式布局库。

状态管理

NgRx (Store, Effects, Store DevTools)

18.1.1

Angular 的状态管理库,基于 Redux 模式。

路由

Angular Router

18.2.13

Angular 的路由管理库。

HTTP 请求

RxJS

~7.8.0

响应式编程库,用于处理异步操作和 HTTP 请求。

国际化

ngx-translate

15.0.0

Angular 的国际化库,支持多语言。

表单处理

Angular Forms

18.2.13

Angular 的表单处理库,支持模板驱动和响应式表单。

动画

Angular Animations

18.2.13

Angular的动画库,支持组件动画。

UI组件库

Angular Material

18.2.14

Material Design组件库,提供丰富UI 组件。

ngx-flowchart

2.0.0

流程图组件库。

ngx-drag-drop

18.0.1

拖放功能库。

ngx-hm-carousel

^3.0.0

轮播图组件库。

ngx-markdown

18.1.0

Markdown渲染库。

ngx-clipboard

18.1.0

剪贴板操作库。

ngx-daterangepicker-material

^6.0.4

日期范围选择器组件库。

iplab/ngx-color-picker

^15.0.2

颜色选择器组件库。

mat-datetimepicker

~11.0.3

日期时间选择器组件库。

angular-gridster2

~15.0.4

网格布局组件库。

ngx-sharebuttons

^12.0.0

社交分享按钮组件库。

图表与

可视化

Echarts

5.5.0-TB

强大的图表库,支持多种图表类型。

Flot

0.9-work

轻量级图表库,支持折线图、柱状图等。

Flot CurvedLines

master

Flot的曲线图插件。

Canvas Gauges

^2.1.7

仪表板图表库。

地图与

地理空间

Leaflet

1.8.0

轻量级地图库。

Leaflet Geoman

2.14.2

Leaflet的地图编辑插件。

Leaflet Polylinedecorator

1.6.0

Leaflet的路径装饰插件。

Leaflet Providers

1.13.0

Leaflet的地图瓦片提供插件。

Leaflet MarkerCluster

1.5.3

Leaflet的标记聚类插件。

Leaflet GridLayer

GoogleMutant

0.14.1

Leaflet的Google地图插件。

富文本

编辑器

TinyMCE

~5.10.7

富文本编辑器。

tinymce-angular

^7.0.0

TinyMCE的Angular集成库。

文件上传

Flow.js

^2.14.1

文件上传库,支持分块上传。

ngx-flow

~0.6.0

Flow.js的Angular集成库。

日期与

时间处理

date-fns

2.0.0-alpha.27

日期处理库。

dayjs

1.11.4

轻量级日期处理库。

moment

^2.29.4

日期处理库。

moment-timezone

^0.5.42

时区处理库。

工具库

jQuery

^3.7.1

DOM操作和事件处理库。

lodash

-

实用工具库,提供多种函数式编程工具。

tinycolor2

^1.6.0

颜色处理库。

jszip

^3.10.1

ZIP文件处理库。

html2canvas

^1.4.1

HTML转Canvas库。

qrcode

^1.5.1

二维码生成库。

marked

^4.0.17

Markdown解析库。

json-schema-defaults

^0.4.0

JSON Schema默认值生成库。

schema-inspector

^2.0.2

JSON Schema验证库。

objectpath

^2.0.0

JSON路径解析库。

tv4

^1.3.0

JSON Schema验证库。

图标与字体

Material Design

Icons (MDI)

^7.2.96

Material Design图标库。

Font Awesome

^4.7.0

图标字体库。

typeface-roboto

^1.1.13

Roboto字体库。

开发工具

TypeScript

~4.9.5

JavaScript的超集,支持静态类型检查。

ESLint

^8.37.0

JavaScript/TypeScript代码检查工具。

Prettier

^2.8.3

代码格式化工具。

Webpack

5.77.0

模块打包工具。

Angular CLI

^15.2.10

Angular命令行工具。

Karma

~6.3.9

测试运行器。

Jasmine

~3.10.1

测试框架。

Protractor

~7.0.0

Angular的端到端测试工具。

说明:

前端基于Angular框架构建,使用Angular Material提供Material Design风格的UI组件。

依赖NgRx进行状态管理,支持复杂的应用状态管理需求。

使用ECharts和 Flot 等图表库实现数据可视化,支持多种图表类型。

集成Leaflet及其插件实现地图功能,支持地理空间数据展示。

使用TinyMCE提供富文本编辑功能,支持复杂的文本编辑需求。

依赖RxJS处理异步操作,结合ngx-translate实现国际化支持。

开发工具链包括 TypeScript、ESLint、Prettier 和 Webpack,确保代码质量和构建效率。

1.2 后台技术栈

TB 3.9.1版本:

类别

技术/依赖项

版本

说明

核心框架

Spring Boot

3.2.4

用于构建微服务和Web应用的核心框架。

Spring Data

3.2.5

提供数据访问支持,包括JPA、Redis等。

Spring Security

6.2.4

提供安全认证和授权功能。

Spring WebFlux

6.1.6

支持响应式编程的Web框架。

数据库

PostgreSQL

42.7.3

关系型数据库驱动。

Cassandra

4.17.0

NoSQL数据库,用于存储时序数据。

Redis (Jedis)

5.1.2

内存数据库,用于缓存和消息队列。

消息队列

Kafka

3.7.0

分布式消息队列,用于事件流处理。

RabbitMQ

5.21.0

消息队列,用于异步通信。

Google Cloud

Pub/Sub

1.128.1

云原生消息队列服务。

Azure Service Bus

3.6.7

Azure的消息队列服务。

网络通信

Netty

4.1.109.Final

高性能网络通信框架,支持MQTT、CoAP等协议。

gRPC

1.63.0

高性能RPC框架,用于微服务通信。

MQTT (Paho Client)

1.2.5

MQTT协议客户端库。

CoAP (Californium)

3.11.0

CoAP协议实现,用于物联网设备通信。

序列化与反序列化

Jackson

2.17.2

JSON处理库,支持数据绑定和序列化。

Protobuf

3.25.3

高效的二进制序列化协议。

缓存

Caffeine

3.1.8

高性能本地缓存库。

日志管理

SLF4J

2.0.13

日志门面,支持多种日志实现。

Logback

1.5.5

日志实现框架,支持灵活的日志配置。

Log4j

2.23.1

日志框架,支持高性能日志记录。

工具库

Guava

33.1.0-jre

Google的工具库,

提供集合、缓存等功能。

Apache Commons (Lang3, IO, Codec, CSV, etc.)

3.14.0, 2.16.1

Apache的工具库,

提供常用工具类。

安全

JJWT

0.12.5

JWT(JSON Web Token)生成和验证库。

Bouncy Castle

1.78

加密库,支持多种加密算法。

测试

JUnit 5

5.10.2

单元测试框架。

TestNG

7.10.1

测试框架,支持并行测试。

MockServer

5.15.0

用于模拟HTTP服务的测试工具。

Testcontainers

1.19.7

提供Docker容器的测试支持。

前端集成

Freemarker

2.3.32

模板引擎,用于生成动态HTML。

Springdoc OpenAPI

2.4.0TB

用于生成OpenAPI文档的工具。

地理空间

Spatial4j

0.8

地理空间计算库。

JTS (Java Topology Suite)

1.19.0

地理空间数据处理库。

其他

Lombok

1.18.32

代码生成工具,简化Java代码。

Micrometer

1.12.5

应用监控指标库,支持Prometheus等。

Oshi

6.6.0

系统信息监控库,支持获取硬件和操作系统信息。

Twilio

10.1.3

短信和电话服务集成库。

Firebase Admin

9.2.0

Firebase服务集成库,支持推送通知等。

JGit

6.9.0.20240305

Git库,支持Git操作。

SnakeYAML

2.2

YAML解析库,用于配置文件解析。

AntLR

3.5.3

语法解析器生成工具,用于规则引擎。

Bucket4j

8.10.1

限流库,支持基于令牌桶的限流算法。

Hibernate Validator

8.0.1.Final

数据验证框架,支持Bean Validation。

OWASP AntiSamy

1.7.5

防止XSS攻击的HTML过滤库。

SNMP4J

3.8.0

SNMP协议库,用于网络设备管理。

1.3 APP技术栈

TB App 1.5.0:

类别

依赖项

版本

用途/功能

核心框架

flutter

SDK 提供

Flutter核心框架,用于构建跨平台移动应用。

状态管理

flutter_bloc

^8.1.5

BLoC模式的状态管理库,用于管理应用状态。

依赖注入

get_it

^7.6.7

服务定位器和依赖注入库,用于解耦和管理依赖项。

UI组件

cupertino_icons

^1.0.6

提供iOS风格的图标。

UI组件

flutter_speed_dial

^7.0.0

提供浮动操作按钮(FAB)的扩展功能。

UI组件

auto_size_text

^3.0.0-nullsafety.0

自动调整文本大小的组件。

UI组件

expandable

^5.0.1

可展开的UI组件。

UI组件

focused_menu

^1.0.5

提供聚焦菜单的UI组件。

路由管理

fluro

^2.0.5

强大的路由管理库,用于处理复杂的导航逻辑。

SVG支持

flutter_svg

^2.0.9

支持SVG图像的渲染。

SVG支持

jovial_svg

^1.1.19

另一个SVG渲染库。

分页加载

infinite_scroll_pagination

^4.0.0

支持无限滚动分页加载数据。

滚动效果

fading_edge_scrollview

^4.0.0

提供边缘渐隐效果的滚动视图。

WebView

flutter_inappwebview

^6.1.5

提供内嵌WebView功能。

URL启动

url_launcher

^6.2.1

用于启动外部URL或应用。

图片选择

image_picker

^1.0.4

用于从设备中选择图片。

文件类型支持

mime

^1.0.4

提供MIME类型支持。

日志记录

logger

^2.0.2+1

提供日志记录功能。

二维码扫描

qr_code_scanner

^1.0.1

提供二维码扫描功能。

设备信息

device_info_plus

^10.1.0

获取设备信息(如设备型号、操作系统等)。

地理位置

geolocator

^12.0.0

提供地理位置定位功能。

图标库

material_design_icons_flutter

^7.0.7296

提供Material Design图标。

应用信息

package_info_plus

^8.0.0

获取应用信息(如版本号、包名等)。

JWT支持

dart_jsonwebtoken

^2.12.1

提供JSON Web Token (JWT)的生成和验证功能。

加密支持

crypto

^3.0.3

提供加密算法支持。

表单处理

flutter_form_builder

^9.1.1

提供强大的表单构建和验证功能。

表单验证

form_builder_validators

^10.0.1

提供表单验证功能。

HTML

渲染

flutter_html

3.0.0-beta.2

提供HTML渲染功能。

HTML

解析

html

^0.15.4

提供HTML解析功能。

跨平台

HTML

universal_html

^2.2.4

提供跨平台的HTML解析和渲染功能。

跨平台支持

universal_platform

^1.0.0+1

提供跨平台支持的工具库。

页面预加载

preload_page_view

^0.2.0

提供页面预加载功能。

本地化支持

flutter_localizations

SDK 提供

提供Flutter应用的本地化支持。

Firebase

核心

firebase_core

^3.1.0

Firebase核心库,用于初始化

Firebase服务。

Firebase

消息推送

firebase_messaging

^15.0.1

提供 Firebase 云消息推送功能。

本地通知

flutter_local_notifications

^17.1.2

提供本地通知功能。

应用角标

flutter_new_badger

^1.0.1

提供应用角标管理功能。

时间格式化

timeago

^3.6.1

提供时间格式化功能(如“2 分钟前”)。

滑动操作

flutter_slidable

^3.0.1

提供滑动操作菜单功能。

不可变数据

equatable

^2.0.5

提供不可变数据支持,简化对象比较。

应用链接

app_links

^6.3.2

处理应用深层链接(Deep Links)。

集合工具

collection

^1.18.0

提供集合操作的工具库。

本地存储

hive

^2.2.3

提供轻量级本地数据库存储功能。

本地存储

hive_flutter

^1.1.0

Hive的Flutter集成库。

底部弹窗

modal_bottom_sheet

^3.0.0

提供底部弹窗功能。

事件总线

event_bus

^2.0.0

提供事件总线功能,用于组件间通信。

字体支持

google_fonts

^6.2.1

提供Google字体支持。

测试工具

flutter_test

SDK 提供

Flutter测试框架。

测试工具

mocktail

^1.0.3

提供Mock测试功能。

测试工具

bloc_test

^9.1.7

提供BLoC测试功能。

代码质量

flutter_lints

^2.0.0

提供代码质量检查和lint规则。

Hive代码

生成

hive_generator

^2.0.1

生成Hive数据库的代码。

代码生成

build_runner

^2.4.9

提供代码生成工具。

应用图标生成

flutter_launcher_icons

^0.13.1

生成应用启动图标。

补充总结如下:

核心框架:Flutter作为跨平台开发框架。

状态管理:BLoC模式用于状态管理。

UI组件:丰富的UI组件库支持复杂的界面设计。

本地化:支持多语言和本地化。

网络与数据:支持REST API、WebSocket、JWT认证等。

本地存储:Hive用于轻量级本地数据存储。

推送通知:Firebase云消息推送和本地通知。

测试工具:Mocktail和bloc_test用于单元测试和集成测试。

代码生成:Build Runner和Hive Generator用于自动化代码生成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值