技术栈

前端技术

  1. Flutter:用于构建跨平台的移动、Web、桌面应用。借助 Flutter,你只需一套代码即可适配多个平台,且性能接近原生。
  1. Dart:Flutter 使用的编程语言,具有高效的热重载功能,便于快速调试和开发。
  1. flutter_nfc_kit:用于集成 NFC 功能,帮助实现 NFC 读写操作,用于物品管理系统中的借还记录和物品追踪功能。
  1. Firebase Authentication:提供用户身份验证服务,支持多种登录方式,如电子邮件、第三方平台(Google、Facebook、Twitter)登录等。

后端技术

  1. Firebase Firestore:作为云端 NoSQL 数据库,用于存储和实时同步应用数据。FireStore 支持复杂查询和数据检索,适合用于多用户并发的数据管理场景。
      • 功能:实时数据同步、离线缓存、复杂查询支持。
  1. Firebase Functions:无服务器架构,通过云函数处理业务逻辑(如复杂计算、触发事件、数据处理),减少后端服务器维护成本。
  1. Firebase Cloud Messaging (FCM):用于推送通知,帮助实现系统公告、项目更新、提醒等消息通知功能。

数据处理与搜索

  1. Firebase Firestore:在 Firestore 中进行数据存储,并可以通过其强大的查询功能处理基础的搜索任务。FireStore 提供的索引机制可以应对基本的复杂查询需求。
  1. Firebase ML Kit:集成 AI 功能,用于图像处理、文字识别、语音转文本等。适用于需要机器学习模型进行推理的场景,例如智能推荐、图像分析等。

数据库和缓存

  1. Firebase Firestore:实时数据库服务,不需要复杂的后端数据管理,数据同步简单高效。
  1. Firebase Storage:用于存储用户的文件和媒体内容,支持大规模数据存储,并可以与 Firestore 集成。

部署与云服务

  1. Firebase Hosting:用于 Web 和移动端的托管服务,支持快速部署应用。
  1. Firebase Crashlytics:用于监控应用运行中的崩溃和错误日志,帮助实时跟踪和优化应用的稳定性。
  1. Firebase Performance Monitoring:监控应用的性能指标,包括加载时间、网络请求等,帮助优化应用体验。

NFC 与硬件集成

  1. flutter_nfc_kit:用于集成 NFC 功能,支持读取和写入 NFC 标签,便于实验室物品的借还管理以及物品状态跟踪。

用户权限与管理

  1. Firebase Authentication:通过 Firebase 提供的身份验证服务,进行用户注册、登录及权限管理。可以灵活设置用户角色,控制不同权限级别的用户访问不同的资源。
  1. Firestore Rules:通过 Firestore 提供的安全规则控制数据库访问权限,确保数据的安全性。

AI 与智能推荐系统

  1. Firebase ML Kit:用于集成机器学习功能,包括 OCR 文字识别、对象检测、语言翻译等。
      • 自定义模型:可在 Firebase 上部署自定义的机器学习模型,用于特定任务的推理和分析,如个性化推荐、图片识别等。

开发工具

  1. Dart DevTools:用于调试 Dart 代码,查看应用性能、内存使用情况等。
  1. Flutter Hot Reload:提高开发效率,可以快速刷新 UI 并保留当前应用状态。

对比原来的技术栈更新

原技术栈
新技术栈
更新理由
React + Umi
Flutter
Flutter 更适合跨平台开发,性能优越
Ant Design
Flutter 自带 UI 组件
Flutter 提供丰富的原生组件
MongoDB + Redis
Firebase Firestore
Firebase Firestore 提供实时数据库
Elasticsearch
Firebase Firestore(基础查询)
基于 Firestore 查询功能替代
Node.js + Express
Firebase Functions
无服务器架构,减少后端工作
Redis
Firebase Firestore 本身支持实时数据同步
无需单独缓存
Docker
Firebase 全平台托管服务
直接托管,减少运维成本