What are some common strategies for end-user web versioning?

I am writing a web application and am wondering about future updates and how the webapp update will affect user experience.

In particular, I was wondering how a company like Google approaches this issue. For example, I saw several examples where a particular google application asks the user if they want to switch to "new Google documents" or similar. This is the experience that I would like to provide, but I'm not sure how to do it. If that matters, I am writing an application that uses backbone.js and has a heavy JS client side component. I saw several discussions about the version of the REST component or the WebServices component, but none of them discuss the actual client code or internal components (of course, the backend may not matter much if all this is behind the webservice version)

I am wondering how they achieve this, from the point of view of the application and from the point of view of the database (presumably) the database.

So it seems that there are a few questions.

  • If in the root folder web applications live in real time
  • How do you serve multiple versions for different users.
  • How can you use a backend data warehouse
  • Since I use the backbone, I am particularly interested in developing a router for this type of application. If different versions live in subdir, how do I create the correct router?

Perhaps there are other considerations.

+4
source share
1 answer

This is very difficult, especially when working with Google Docs, for example, you want different versions of the document to be compatible with eachother. Thus, you can either not change your database before each major version, and then transfer everyone to a new version of your application or create โ€œconvertersโ€ that can convert your data from one version to another (and vice versa) and save different databases in synchronization when receiving data from different versions of the application.

The โ€œeasiestโ€ way to manage this is to use the event log or even go into something like CQRS, these are templates that make you think about your data in this way much more manageable.

But I would think twice before implementing something like this. Do you really need this? Is it worth it (huge?) To wear out (tiny?) Benefits? Do you need it at THIS STAGE?

0
source

Source: https://habr.com/ru/post/1414751/


All Articles