web-applications - 为最终用户控制 Web 应用程序版本的一般策略有哪些?

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

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

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

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

所以看起来有几个问题。

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

  • 可能还有一些其他的考虑。

    最佳答案

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

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

    但在实现这样的事情之前,我会三思而后行。
    你真的需要吗?
    (巨大的?)成本是否能满足(微小的?) yield ?
    你在这个阶段需要它吗?

    关于web-applications - 为最终用户控制 Web 应用程序版本的一般策略有哪些?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10788363/

    相关文章:

    silverlight - 为什么重新安装 Silverlight 会破坏我的导入配置?

    php - 在没有提供 API key 的情况下访问 Laravel 中的数据库有多安全?

    java - 托管使用Java和Rails代码的Web应用程序?

    backbone.js - Backbone 中属性和 toJSON 方法的区别

    jquery - Backbone : getting the view element that triggered an event

    REST API 版本控制。新版本中包含什么?

    javascript - 使用 Ember.js,处理请求然后添加新子 div 的逻辑应该放在哪里?

    java - 将 .tld 文件放在哪里,以便正确打包使用 maven2 生成的 JAR 文件?

    svg - 应用于作为 svg 元素的 el 的主干事件

    c++ - 使用宏动态选择版本