Плагин решение с GWT - PullRequest
       3

Плагин решение с GWT

0 голосов
/ 23 ноября 2011

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

Теперь мы хотим позволить сторонним разработчикам писать плагины для нашего приложения, которые затем могут установить наши партнеры.

Каков наилучший способ сделать это, и возможно ли это даже без распространения нашего кода Java?

Наше приложение, например, имеет интерфейс SpecialMagicPageInterface. Сторонний разработчик может затем разработать страницу, которая реализует этот интерфейс, и наше программное обеспечение должно иметь возможность создавать объект этого типа во время выполнения и вызывать методы для него.

Возможно ли это даже в том случае, если у третьей стороны есть только наш интерфейс, а не все приложение, и если да, то как это можно сделать?

1 Ответ

0 голосов
/ 23 ноября 2011

Создайте структуру своего приложения следующим образом:

  1. Напишите интерфейсы, такие как MagicInterface1, MagicInterface2 и т. Д., И создайте JAR-файл с файлами исходного кода и классов в одном и том же JAR-файле.Вы можете распространять этот JAR, потому что он содержит только интерфейсы.
  2. Напишите ваше приложение в другом проекте / JAR и не распространяйте этот JAR, соберите скомпилированный, свернутый, запутанный javascript из этого JAR.- Очевидно, что этот JAR будет зависеть от предыдущего JAR, который содержит все интерфейсы.
  3. Теперь УПАКОВАЙТЕ сгенерированный javascript вместе с 1-м JAR с интерфейсами в zip и передайте разработчикам плагинов.
  4. Ониможет скомпилировать их проекты GWT - их код плагина будет зависеть от вашего JAR-интерфейса, а их проект плагина также окажется в виде файла javascript.
  5. В конечном приложении убедитесь, что вы сначала ссылаетесь на файл сценария фреймворка, изатем ссылаться на все файлы сценариев плагина один за другим.

Результат:

  • Разработчики плагинов видят только минимизированный JS вашей платформы, но они могут создавать плагины.
  • Каждый проект фреймворка и различные проекты плагинов имеют по одному файлу JS.
  • Все файлы JS указаны в конечном приложении в правильном порядке
  • Код вфреймворк написан таким образом, что он НАХОДИТ И УСТАНОВИЛ все плагины, которые существуют после загрузки документа.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...