Как писать модульные (подключаемые) приложения с помощью Go? - PullRequest
3 голосов
/ 07 ноября 2011

Я понимаю, что язык программирования Go на самом деле не поддерживает динамическое связывание.Это заставляет меня задуматься: что бы кто-нибудь сделал, если бы захотел написать приложение, которое поддерживало сторонние (или иным образом внесенные) плагины?

Кажется, что типичным ответом является то, что Go компилируется быстро, поэтому просто перекомпилируйте, но я не считаю это настолько практичным для системных администраторов.Например, веб-сервер Apache имеет огромное количество модулей, которые можно настроить так, чтобы они загружались (или не загружались) очень легко.

Остался ли единственный вариант использования сокетов или другого IPC для плагинов?

1 Ответ

3 голосов
/ 07 ноября 2011

Я бы настроил API через, скажем, канал по каналу. И скажите автору плагина, чтобы он выпустил исполняемый файл, который общается по этой трубе.

Это похоже на работу Chrome сегодня.

Это способ для достижения этого более чем netchan.

Примечание: netchan pacakage устарело, но идея состоит в том, чтобы использовать RPC поверх каналов unix.

...