Собственное клиентское приложение и обновления общих библиотек (например, безопасности)?

В традиционной модели, когда программа выполняет динамическое связывание разделяемой библиотеки, как один из побочных эффектов, ей обычно не нужно заботиться об обновлениях, так как когда появляется новая версия (скажем, с исправлением безопасности или производительности), она обновляется ( с помощью какого-либо диспетчера пакетов на каком-либо Uhix или эквиваленте sth в Windows), и приложение может извлечь выгоду при следующем запуске новой версии. В таком процессе сопровождающему приложения не нужно выполнять какие-либо действия, чтобы его/ее пользователи могли воспользоваться новой фиксированной библиотекой.

Как это работает в родном клиенте? Упакованы ли эти библиотеки в пакет, поэтому разработчик должен переупаковывать каждый раз, когда выходит новая версия библиотеки, или есть какой-то механизм, позволяющий каким-то образом извлечь выгоду или поделиться библиотеками, или автоматически переупаковать этот пакет (например, с помощью Интернет-магазина Chrome) ?

Я бросил на глаза:

так и не нашел ответа. (Это не значит, что его там нет, я мог что-то пропустить).


person Grzegorz Wierzowiecki    schedule 15.02.2014    source источник


Ответы (2)


Исходя из моего опыта работы с NaCl, ваше приложение отвечает за обновление любых библиотек, от которых оно зависит, поскольку эти библиотеки обязательно распространяются вместе с вашим приложением NaCl. Исключение составляют любые библиотеки/API, предоставляемые браузером приложению, которые будут обновляться вместе с браузером.

person Multimedia Mike    schedule 15.02.2014

Оказывается, есть способ структурировать приложение, чтобы приложение могло загружать новые общие библиотеки через какой-либо исполняемый файл начальной загрузки, а затем запускать нужную библиотеку со свежезагруженными общими библиотеками:

что это другая страница, чем упомянутая ранее) для примера "libreverse.so".

В любом случае, если у вас есть более структурированный ответ и/или более подробный, сообщите об этом.

person Grzegorz Wierzowiecki    schedule 26.02.2014