2016-12-21 7 views
0

У меня есть мобильный SDK (iOS/Android), встроенный в множество разных родных приложений. Когда-то я заметил, что его очень сложно поддерживать, как только выйдет на рынок. Я ищу хороший дизайн, который позволяет разработчикам быстро обновлять логику/исправлять ошибки.Как обновить логику клиентской библиотеки в режиме реального времени?

Вместо того, чтобы проходить через dev -> test -> release -> период принятия, должен быть лучший способ быстрой синхронизации обновленной логики.

Например, если мой v1.0 имеет эту логику

int adder(int a, int b){ 
    return a+b 
} 

и вдруг я хочу сделать некоторые проверки ввода и обновить логику

int adder(int a, int b){ 
    return a+b+1 
} 

следующие тока освобождающего потока, я бы должны пройти весь процесс выпуска и дождаться, когда все приложения примут мою новую библиотеку v1.1 (если мне повезет).

Я думал несколько идей,

  1. Удаленная конфигурация, например, как Firebase Удаленная настройка. Но это только позволяет мне настраивать параметры, а не менять логику. В лучшем случае закройте эту функцию, указав флаг для включения и выключения.
  2. реагировать на родной. Я не знаю, как отреагировать родной поможет в этом случае, так как я всего лишь библиотека, а не пользовательский интерфейс.

Любые другие идеи?

+0

Это приложение на основе Cordova/ionic/phonegap? – Piou

+0

нет, они все являются родными платформами. –

ответ

1

Я вижу 2 решения, никто не идеален, хотя:

  1. сделать лечение удаленный: Используйте REST API экстернализовать ваши полиморфные операции. то вы можете обновлять API всякий раз, когда захотите, и приложение будет следовать - CONS: не работает, если телефон находится в автономном режиме.
  2. Делай, как кордова. Имея javascripts, которые размещаются и запускаются локально в скрытом веб-просмотре, чтобы получить результаты как-то (распечатать результат, сырой в теле и прочитать его из собственного кода). Ваше приложение, когда он-лайн, может проверить, существует ли более новая версия скрипта, и загрузить обновление, чтобы адаптировать его поведение. Менее легко, чем номер один, но всегда работает.
+0

Я действительно не понимаю первый вариант, что вы подразумеваете при использовании внешнего API для внешнего использования? Как извлечь, полиморфная логика Java и make компилируются во время выполнения? –

+0

Предположим, что у вас будет конечная точка «сумматор», чтобы придерживаться вашего примера. Если ваше приложение вызывает конечную точку для выполнения добавления, если вы хотите изменить это поведение, изменив код конечной точки, приложение, вызвав новый код, будет автоматически следовать новой логике. – Piou

+0

Я думаю, что такого рода ответы на вопрос. однако скрытый веб-просмотр может привести к проблемам конфиденциальности. Учитывая, что javacsript работает на веб-просмотре. Это может быть так страшно. –

 Смежные вопросы

  • Нет связанных вопросов^_^