大多数应用程序开发人员并不真正在乎这个论点,但是他们应该。原因是:
用户想要令人愉悦的应用
我们喜欢消除心理开销的产品。我们要做的事情要越少,就越好。使用缓存将始终需要:
- 用户的更多思考 或
- 应用程序开发人员的更多思考围绕需要用户更多思考的限制。
1.缓存是面包屑,用户想要三明治
缓存通过持续下载的数据来起作用。当用户离线时,他们可以沿着步道返回,但他们无法继续探索。
win#1对于本地数据库:他们让用户探索零件未知。
2.缓存是漏水的水桶,用户想要,嗯,常规存储桶
缓存不知道途中有多少数据,因此他们必须继续删除数据以使空间可用。最近还没有访问数据?太糟糕了,你看不到它了。
win#2用于本地数据库:无论它多么尘土飞扬,所有数据都会为您提供。
3.缓存保留陈旧数据,用户需要新的数据
如果缓存数据已在其他地方进行了更新,则需要重新下载。如果离线用户想访问最近尚未重新下载的数据,则无法。Win#3用于本地数据库:背景同步使本地数据库新鲜。
4.缓存可能会导致缓慢ð€,用户想要牢固性â€â€
由于缓存引入了辅助数据源,因此应用程序需要通过逻辑运行才能决定:
- 我在线吗?
- 我可以请求服务器数据吗?
- 请求成功了吗?
- 我需要查找缓存中的数据吗?
这通常很好,但是当连接仍然是时可用但非常差的时候。
win#4对于本地数据库:是唯一的数据来源,应用程序不会浪费时间想知道在哪里获取数据。
简单,我们都将从现在开始使用本地数据库
不是那么快!像Firebase这样的大型Baas提供商没有简单的方法可以做到这一点。为什么?它与他们在应用程序和云之间的数据传输方面的收费有关吗?如果您拥有本地数据库,则您的电话更少?我不能说。但是同步和一致性是解决您是使用Firebase还是其他的问题。
那你在做什么?
我正在研究一种简单的 +(即将成为)开源方式,以求解同步并使用本地数据库轻松进行开发。关注我们的进度on discord或查看powersync.co。