前端技术
- Flutter:用于构建跨平台的移动、Web、桌面应用。借助 Flutter,你只需一套代码即可适配多个平台,且性能接近原生。
- Dart:Flutter 使用的编程语言,具有高效的热重载功能,便于快速调试和开发。
- flutter_nfc_kit:用于集成 NFC 功能,帮助实现 NFC 读写操作,用于物品管理系统中的借还记录和物品追踪功能。
- Firebase Authentication:提供用户身份验证服务,支持多种登录方式,如电子邮件、第三方平台(Google、Facebook、Twitter)登录等。
后端技术
- Firebase Firestore:作为云端 NoSQL 数据库,用于存储和实时同步应用数据。FireStore 支持复杂查询和数据检索,适合用于多用户并发的数据管理场景。
- 功能:实时数据同步、离线缓存、复杂查询支持。
- Firebase Functions:无服务器架构,通过云函数处理业务逻辑(如复杂计算、触发事件、数据处理),减少后端服务器维护成本。
- Firebase Cloud Messaging (FCM):用于推送通知,帮助实现系统公告、项目更新、提醒等消息通知功能。
数据处理与搜索
- Firebase Firestore:在 Firestore 中进行数据存储,并可以通过其强大的查询功能处理基础的搜索任务。FireStore 提供的索引机制可以应对基本的复杂查询需求。
- Firebase ML Kit:集成 AI 功能,用于图像处理、文字识别、语音转文本等。适用于需要机器学习模型进行推理的场景,例如智能推荐、图像分析等。
数据库和缓存
- Firebase Firestore:实时数据库服务,不需要复杂的后端数据管理,数据同步简单高效。
- Firebase Storage:用于存储用户的文件和媒体内容,支持大规模数据存储,并可以与 Firestore 集成。
部署与云服务
- Firebase Hosting:用于 Web 和移动端的托管服务,支持快速部署应用。
- Firebase Crashlytics:用于监控应用运行中的崩溃和错误日志,帮助实时跟踪和优化应用的稳定性。
- Firebase Performance Monitoring:监控应用的性能指标,包括加载时间、网络请求等,帮助优化应用体验。
NFC 与硬件集成
- flutter_nfc_kit:用于集成 NFC 功能,支持读取和写入 NFC 标签,便于实验室物品的借还管理以及物品状态跟踪。
用户权限与管理
- Firebase Authentication:通过 Firebase 提供的身份验证服务,进行用户注册、登录及权限管理。可以灵活设置用户角色,控制不同权限级别的用户访问不同的资源。
- Firestore Rules:通过 Firestore 提供的安全规则控制数据库访问权限,确保数据的安全性。
AI 与智能推荐系统
- Firebase ML Kit:用于集成机器学习功能,包括 OCR 文字识别、对象检测、语言翻译等。
- 自定义模型:可在 Firebase 上部署自定义的机器学习模型,用于特定任务的推理和分析,如个性化推荐、图片识别等。
开发工具
- Dart DevTools:用于调试 Dart 代码,查看应用性能、内存使用情况等。
- 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 全平台托管服务 | 直接托管,减少运维成本 |