GWT: имеет ли разделение кода какой-либо эффект в режиме разработки - PullRequest
1 голос
/ 09 ноября 2011

Я читал во многих местах, что разделение кода может значительно ускорить время начальной загрузки приложения GWT.Однако перед тем, как выполнить разбиение, нам хотелось бы знать, работает ли отложенная загрузка кодов в режиме разработки?

В настоящее время наиболее болезненным моментом является то, что в режиме разработки с режимом отладки мы обновляембраузер (чтобы обновить изменения в коде клиента) потребуется 3,7 года для перезагрузки приложения.В рабочем режиме приложение будет загружаться в течение нескольких секунд.

Ответы [ 4 ]

7 голосов
/ 09 ноября 2011

Разделение кода не имеет абсолютно никакого эффекта в режиме разработки, поскольку ваше приложение не скомпилировано в JavaScript.

Когда GWT.isScript () имеет значение false (режим разработки), метод RunAsyncCallback.onSuccess () запускается немедленно.Это очевидно, если вы проверяете исходный код метода GWT.runAsync ().

РЕДАКТИРОВАТЬ: просто небольшая вещь для добавления: НЕ используйте Chrome с DevMode.В Chrome все еще есть выдающаяся ошибка (ссылка ускользает от меня прямо сейчас), из-за которой плагин DevMode для Chrome работает очень медленно.Используйте Firefox, он самый быстрый с плагином Dev Mode.

4 голосов
/ 09 ноября 2011

Как уже говорилось, разделение кода не имеет абсолютно никакого эффекта в режиме разработки.Единственное, что я могу вам предложить, это увеличить память для jvm при запуске: например, мы используем в нашем проекте:

-Xmx1024m -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:PermSize=256M -XX:MaxPermSize=512M

Также обновите ваше рабочее оборудование (процессор, память), это может помочь вам скомпилироватьбыстрее ваш код Java в режиме разработки.

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

Если вы хотите более быстрый DevMode, вы должны быть более осторожны с тем, как вы пишете свое приложение.Пользователь ленивой загрузки, где это возможно, разбить приложение на отдельные модули.Например, скажем, у вас есть приложение с 5000 классов.И обычно разработчику необходимо изменить только часть приложения, а не все приложение (например, одну страницу).Поэтому в основном вам нужно убедиться, что для запуска одной простой части приложения загружаются только классы, необходимые для приложения.Например, вместо загрузки 5000 классов будет загружено только 100 классов.Также проверьте наличие распространенных ошибок, таких как RPC Type Explosion, они также влияют на devmode.И попробуйте GWT 2.4, он намного быстрее предыдущих версий (я имею в виду DevMode).

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

По своему опыту (средней длины) я заметил, что Internet Explorer 9 также довольно быстр в режиме Dev и намного стабильнее, чем Chrome.Плагин GWT не дает сбой при каждой перезагрузке приложения.

Вы можете попробовать, посмотреть, будет ли он работать лучше для вас.

...