如果需要完全在客户端使用持久化数据存储

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您旅程的每个阶段提供云产品。立即开始使用 200 美元的免费额度!

您有 localStorage。您也有 IndexedDB。它们都位于客户端并且能够存储数据,但仅限于单个浏览器。我无法在笔记本电脑上存储数据,然后稍后在手机上访问并获得相同的数据。网站使用后端数据库来实现这种功能。数据存储在其他地方,因此您可以在任何地方访问。

但是,如果您不想处理后端呢?有一些第三方解决方案可以解决这个问题。

Firebase

Firebase 提供 “实时数据库”功能,因此,您不仅可以从客户端收集、存储和发送数据,而且这些数据还可以在当前连接到同一数据库的任何其他设备之间同步(如果您需要这样做)。

Firebase 实时数据库不使用典型的 HTTP 请求,而是使用数据同步——每次数据更改时,任何连接的设备都会在几毫秒内收到该更新。

这只是 Firebase 的众多功能之一。它还具有身份验证、消息传递和文件存储等功能,所有这些功能加起来形成了一个非常引人注目的基础架构,可以用来构建应用程序。

Airtable

我们之前已经介绍过 如何将 Airtable 用作前端开发人员。它是一个非常不错的类似电子表格的界面,用于存储任何类型的数据。您当然可以自己输入数据,其 UI 非常适合此目的,或者可以通过基于您设置的数据结构自动创建的表单来收集数据。它还可以连接到大量其他应用程序以收集数据。

您还可以通过 API 发送和检索数据,这些 API 可以完全在客户端工作。很酷。

Fieldbook

Fieldbook 也用于数据存储,但从电子表格 UI 开始。我喜欢这个想法,它可以让用户思考其业务背后的数据,并赋予他们组织、连接、收集和使用这些数据的控制权。

Fieldbook 有 API,允许您完全在客户端使用数据。

Ben Orozco 撰写了一篇 关于使用它为 Ember.js 应用程序提供支持的文章。对我来说,正是这种感觉非常酷和强大的东西。这些服务具有 JSON API,并且许多现代框架都具有基于 JSON 的状态管理,它们看起来像是天作之合,并且可以为前端人员提供极大的帮助。

选择一种

我对这些产品的经验不足,无法就使用哪种产品提供建议。在我看来,它们都令人印象深刻,值得查看其定价和功能集以及免费试用等。

一个非常重要的区别是身份验证。

Airtable 使用“简单的基于令牌的身份验证”,这意味着 API 密钥。如果您从网站上使用它,那么任何可以看到该网站的人都可以看到该密钥,并有权对该“表”执行任何操作。

Fieldbook 使用基本身份验证,这意味着您必须在 Ajax 请求中传递身份验证头才能执行操作。这最终与 API 密钥和密钥生成标头相同,任何可以查看使用 API 的网站的人员都将拥有这些信息,并且可以访问该“簿记”。

我相信 Firebase 拥有最强大的身份验证系统。他们将身份验证作为软件包的一部分提供,例如针对您应用程序的用户本身。“使用 Twitter 登录!”(或 Facebook、Google 或任何其他 OAuth 提供商)。然后,您可以使用相同的系统为不同的用户提供不同的访问级别,包括您自己。例如,如果您以自己的身份进行身份验证,则可以构建/查看不同的 UI,允许您以管理员身份在应用程序中执行更多操作,但其他以普通用户身份进行身份验证的人员则可以看到您的常规网站。