Как модульно сохранить приложение на стороне обслуживания для разных версий приложения - PullRequest
0 голосов
/ 19 сентября 2019

Я представляю миру такие приложения, как Uber и Line.Когда я внедряю серверную часть такого рода приложений, я понимаю, что должен поддерживать разные версии своего приложения во время выполнения.Чтобы преодолеть это требование, я вижу три различных варианта:

  1. Сохранять (разные) работающие экземпляры на стороне сервера для каждой поддерживаемой версии приложения.Например, если я поддерживаю 3 версии приложения, на сервере будет запущено 3 экземпляра.
  2. Использование пространств имен для функций, в двух словах, клонирование многих функций / классов.Например, если я поддерживаю 3 версии приложения, потенциально у меня будет 3 версии функции (например, fun_v1, fun_v2, fun_v3).
  3. Сохраните (разные) файлы конфигурации для каждого приложенияверсия.Этот файл устанавливает, какие функции или сервисы приложение может использовать и как его использовать.

    Эти три параметра выглядят не так модульно, и в них много кода "скопировать и вставить".Если у вас есть другое мнение, дайте мне знать.

1 Ответ

1 голос
/ 19 сентября 2019

обычно мобильные приложения общаются с сервером через набор API-маршрутов / функций.

Исходя из моего опыта, я бы выбрал второй вариант.Обычно я разрабатываю эти маршруты API в разные версии (например, v1, v2, v3, ...), так что, скажем, версия 1 приложения вызывает маршрут POST v1 / login, который ссылается на login_v1 и версию 2приложения вызывает POST v2 / login, который ссылается на login_v2.Этот метод обеспечивает гибкость, так как вы можете сопоставить любой маршрут любой функции, которую вы хотите (например, login / v3 - login_v2).

Кроме того, сервер будет отслеживать последнюю версию приложения.Когда приложение открывается, оно получает последний номер версии с сервера, если оно более свежее по сравнению с текущей версией приложения, мы можем попросить пользователей обновить приложение для новых функций.

Надеюсь, что этопомогает.

...