【问题标题】:What are some general strategies for versioning Web Apps for the end user?为最终用户对 Web 应用程序进行版本控制的一般策略是什么?
【发布时间】:2012-05-28 17:25:19
【问题描述】:

我正在编写一个网络应用程序,我想知道未来的升级以及升级网络应用程序将如何影响用户体验。

特别是,我想知道像 Google 这样的公司如何解决这个问题。例如,我见过几个示例,其中特定的谷歌应用程序会询问用户是否要升级到“新的谷歌文档”或类似的。这是我想提供的经验,但我不知道如何去做。如果重要的话,我正在编写一个使用backbone.js 并且有一个沉重的JS 客户端组件的应用程序。我看过一些讨论版本控制 REST 组件或 WebServices 组件,但没有一个讨论实际的客户端代码或后端组件(当然,如果后端都在版本化的 Web 服务之后,它可能无关紧要)

从应用程序的角度和(可能)后端数据库的角度来看,我对他们如何实现这一点很感兴趣。

所以看起来有几个问题。

  • 版本控制的应用程序在 Web 根目录中的哪个位置运行
  • 如何为不同的用户提供多个版本
  • 如何对后端数据存储进行版本控制
  • 由于我使用的是骨干网,因此我对为此类应用程序设计路由器特别感兴趣。如果各种版本都存在于子目录中,我该如何创建合适的路由器?

可能还有其他一些考虑因素。

【问题讨论】:

标签: web-applications backbone.js versioning backbone-routing


【解决方案1】:

这很快就会变得复杂,尤其是在 Google Docs 中进行协作时,您希望文档的不同版本能够相互兼容。 因此,您可以决定在每个主要版本之前不更改数据库,然后将每个人转移到您的应用程序的新版本,或者制作“转换器”,可以将您的数据从一个版本转换为另一个版本(和向后)并保持同步不同的数据库,同时接受来自不同“应用”版本的数据。

“最简单”的管理方法是使用事件日志,甚至进入 CQRS 之类的东西,这些模式使以这种方式思考数据更易于管理。

但在实施这样的事情之前,我会三思而后行。 你真的需要它吗? (巨大的?)成本是否与(微小的?)收益相匹配? 您现阶段需要它吗?

【讨论】:

    猜你喜欢
    • 2011-11-01
    • 2011-10-03
    • 2016-01-13
    • 1970-01-01
    • 2017-09-14
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 2011-08-24
    相关资源
    最近更新 更多