我该为我的Flutter应用程序使用哪个数据库?

3
我正在使用Flutter开发一个应用程序,需要保存用户在应用程序中输入的每日数据。用户有10个每日操作。
应用程序需要:
- 保存用户在这10个操作中输入的每日数据。 - 按每个操作分别制作每日、每周、每月、每季和每年的数据总结。
在应用程序开发初期,我考虑使用Firebase,但我觉得它不是最好的选择。
1个回答

8
如果您的应用程序只需要支持离线数据保存机制,而不需要任何互联网连接,则可以使用以下选项:
- [Isar](link1)(它是一个非关系型本地/离线数据库) - [Object Box](link2)(它是一个非关系型本地/离线数据库) - [Hive](link3)(它是一个非关系型本地/离线数据库) - [Sqflite](link4)(它是一个关系型本地/离线数据库) - [Drift](link5)(它是一个基于SQLite的关系型本地/离线数据库)
否则,您可以使用其他选项。
  • Firebase (它是一种无SQL/非关系型在线后端服务)
  • AWS Amplify (它是一种基于云的后端服务)
  • Parse Server (它是一种SQL/关系型在线后端服务)
  • Realm (它是一种基于mongodb的无SQL/非关系型在线后端服务)
  • AppWrite (它是一种无SQL/非关系型在线后端服务)
  • Supabase (它是一种在线后端服务)

如果您想编写基于Dart的自定义后端:

  • 蓝蛙(这是一个基于SQL的后端框架)
  • Serverpod(这是一个基于SQL的后端框架)

根据您提供的信息,我认为FirebaseAWS Amplify(用于在线后端服务)或Isar(用于本地数据库)将是不错的选择。


1
Hive已被弃用。 - Kunal Kalwar
1
你可以使用 ObjectBox 非关系型存储。它非常适合查询且速度很快。 - Zakaria Hossain
1
是的,现在我正在使用Object Box。 - Kunal Kalwar
2
避免使用Hive!它会意外删除您的数据。在 Github 上有大量未解决的问题。我没有意识到Hive已被弃用,因为它在pub.dev上仍然有100%的流行度。 - GraSim

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接