Проблемы модульной конструкции GWT

У меня есть пара вопросов относительно модульной среды приложений на основе GWT. У меня есть некоторые идеи о них, но, будучи новичком в области веб-разработки, я чувствую, что они далеки от идеала. Буду признателен за несколько комментариев и предложений по этому поводу. Вот мои вопросы:

  1. Я разрабатываю структуру, которая позволит третьим сторонам встраивать приложения GWT в наш веб-сайт и взаимодействовать с ними с помощью простого сообщения iFrame postMessage. Все эти сторонние модули будут использовать наш SDK, который также основан на GWT. Проблема заключается в том, что даже несмотря на то, что все модули будут использовать одну и ту же кодовую базу, на клиентскую машину будет загружаться большое количество повторяющегося кода Javascript (т. е. наша общая кодовая база SDK, которая довольно велика). Это очень избыточно и проблематично не только из-за огромного размера дублирующегося кода, но и из-за того, что последующие обновления SDK потребуют перекомпиляции модулей, что создаст сценарий типа ада DLL в длинный пробег. Каков наилучший способ сделать это? Есть ли способ, при котором у меня может быть какой-то статический код GWT (т. е. SDK), и динамический модуль GWT ссылается на него (даже если он находится в другом домене), и все это работает счастливо?

  2. Другая часть проблемы заключается в обеспечении надежного интерфейса сценариев для SDK. Сначала это кажется тривиальным, поскольку сам Javascript является языком сценариев. Однако я не знаю, как загрузить и вызвать кусок чистого кода Javascript во время выполнения? Я готов наложить ограничения на целевой Javascript (т.е. иметь основное и уникальное пространство имен функций или что-то в этом роде). Кроме того, Javascript будет представлен в виде строки из базы данных, а не в виде полного URL-адреса. Если это выполнимо в Javascript, как получить это право в GWT, то есть заставить компилятор выдать определенную функцию в сгенерированном Javascript? Я считаю, что это может быть меньшей проблемой, если иметь Javascript-заглушку со всеми правильными требованиями, который просто загружает сгенерированный GWT Javascript. Возможно ли вообще что-либо из этого?

Обычно я ненавижу быть таким многословным, но я надеюсь найти быстрое решение проблемы, поскольку это задерживает мой прогресс. Буду очень признателен за любые комментарии, предложения и опыт.


person GlGuru    schedule 21.12.2010    source источник


Ответы (1)


Что касается модульности, я бы построил решение на основе OSGi.

См., например, этот раздел: Веб-приложение с использованием OSGi и GWT

person Frederic Conrotte    schedule 21.12.2010