10

借助 Firebase 和 Parse 等新服务以及 Angular JS 等工具,现在可以编写一个简单地作为静态文件集合提供服务的 Web 应用程序。您可以用钱包 HTML/CSS/Javascript 编写前端,后端是托管服务。

我的问题是:

  • 这是一个好主意吗?
  • 对于这样的应用程序是否值得使用 Heroku 或 App Engine 之类的东西?用户真的只需要下载一次 HTML/JS 就可以了
  • 如何处理用户?联合登录?在 Firebase/Parse 中存储用户数据?

欢迎任何其他建议!

4

1 回答 1

9

使用当前浏览器功能编写仅客户端应用程序是完全合理的。我亲自构建了一个复杂的应用程序,仅使用后端的 Firebase 和从 CDN 作为客户端提供的 HTML/JavaScript。这特别适用于具有固有简单安全模型的应用程序类型:

  • 单用户应用程序(数据属于并由一个人修改的地方)
  • 聊天和通讯小部件
  • 组织私有的应用程序,其中客户端连接至少在较小程度上经过身份验证和信任(协作编辑器和 CRM)

在某些情况下是可能的,但不太适合计算量大的工具,即使是低级别的用户数据也必须由受信任的第三方仔细控制(例如,玩家可以破解自己的统计数据并计算有效统计数据需要复杂算法的游戏)

您还可以通过用“特权消费者”替换传统的 API 和服务器脚本来大大减少服务器管理和设置。这些也是 Firebase 的侦听器,具有更高的访问权限,它们像客户端一样侦听和处理数据,然后写入安全数据,不应允许普通用户访问或操作。

仅客户端模型的一个缺点是增加了安全性的复杂性。必须信任每个客户端来计算和存储自己的数据,或者必须通过安全规则或某种外部监控(例如特权消费者)仔细保护数据。

通过深入研究有关“胖客户端”或“胖客户端”设计模式的文献,您可能会发现一些有趣的设计理念。您可能还想查看分布式游戏以获取一些见解。

于 2013-05-30T18:50:47.640 回答