дополнения / расширения, как программировать? - PullRequest
0 голосов
/ 08 декабря 2011

Я хочу знать, как дать разработчикам возможность создавать дополнения для моего приложения, такие как chrome, firefox, blender и VS?
Я спрашиваю здесь о концепции, как это сделано?
программно, что мне нужно предоставить в моем заявлении, чтобы сделать это?
какие-либо ссылки, которые я могу помочь мне?

1 Ответ

1 голос
/ 08 декабря 2011

Существует несколько вариантов.

Вы можете встроить язык сценариев (или всю виртуальную машину, например .NET или JVM) в свое приложение, предоставляя достойный API для всех внутренних функций. Если ваше приложение уже построено на базе такой виртуальной машины, скорее всего, вам не нужно делать что-то конкретное для обеспечения расширяемости, просто убедитесь, что ваш API доступен и задокументирован. Популярные варианты встроенных сценариев: Lua, Python, Guile и Tcl.

В качестве альтернативы для чисто нативного кода вы можете предоставить свой API-интерфейс в виде отдельной библиотеки динамической компоновки и разрешить загрузку сторонних модулей (связанных с этой библиотекой).

Вы также можете сделать свое приложение модульным (разделенным на отдельные процессы), когда компоненты будут общаться друг с другом по простому текстовому протоколу через каналы или сокеты. Для такого варианта интеграции, который известен как «путь Unix», доступна очень сложная и мощная инфраструктура. В этом случае пользователи смогут выбрать любой способ интеграции своих расширений с вашими основными функциями.

Выберите любой, в зависимости от характера вашего приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...