Недостатки включения devModeRedirectEnabled=true в производство?
Сегодня я успешно запустил GWT 2.6.1 SuperDevMode, и мне интересно, можно ли просто оставить эту строку в файле.gwt.xml:
<set-configuration-property name="devModeRedirectEnabled" value="true"/>
В этом художественном произведении ( http://blog.ltgt.net/how-does-gwts-super-dev-mode-work/) предлагается удалить его для производства. Я хотел бы знать почему?
Любое влияние на производительность или безопасность, если мы сохраняем это для производства?
2 ответа
На самом деле, теперь он включен по умолчанию, начиная с GWT 2.6.0, потому что меры безопасности были добавлены.
Из примечаний к выпуску:
Примечания к выпуску для 2.6.0 (RC4)
В этом выпуске по умолчанию включен режим Super Dev Mode
[...]
Super Dev Mode
Безопасность: с 2.6 мы уверены, что безопасно включить режим Super Dev Mode и оставить его включенным. В качестве дополнительной меры предосторожности мы рекомендуем установить свойство конфигурации devModeUrlWhitelistRegexp, чтобы гарантировать, что оно может загружать JavaScript только с локального хоста и компьютеров ваших разработчиков в вашем собственном домене.
Безопасность: автоматическое отключение режима Super Dev на страницах https (еще одна мера предосторожности, и она все равно не работает из-за ограничений на смешанный контент).
(нота: devModeUrlWhitelistRegexp
по умолчанию разрешено только localhost
а также 127.0.0.1
)
Однако, поскольку Super Dev Mode все еще является экспериментальной функцией, перенаправление не включено по умолчанию. Чтобы включить режим Super Dev для приложения GWT, вы должны добавить следующие строки в его файл module.xml:
<add-linker name="xsiframe"/>
<set-configuration-property name="devModeRedirectEnabled" value="true"/>
(В настоящее время только компоновщик xsiframe поддерживает режим Super Dev.)
Однако есть и некоторые недостатки, о которых вы должны знать:
- Работа по обеспечению режима Super Dev не завершена. Тем временем мы рекомендуем запускать сервер программного кода только на локальном хосте или за брандмауэром. Также, в качестве меры безопасности, режим Super Dev Mode должен быть отключен в производственных приложениях. (То есть установите для devModeRedirectEnabled значение false.)
- Мы ожидаем, что Super Dev Mode сможет поддерживать любой современный браузер, но пока мы тестировали его только на Chrome и Firefox. В настоящее время Super Dev Mode не работает с некоторыми очень большими приложениями GWT, где работает классический Dev Mode.
- Только один GWT-линкер поддерживает режим Super Dev.
- В настоящее время только отладчик Chrome поддерживает исходные карты. Мы надеемся, что поддержка браузеров улучшится, так что вы сможете легко отлаживать проблемы, которые возникают только в других браузерах, но в то же время вам придется прибегнуть к другим приемам отладки, таким как добавление операторов регистрации и перекомпиляции.
- Многие функции отладчиков Java недоступны при использовании режима Super Dev. Например, при проверке переменных в отладчике Chrome имена и значения полей - это JavaScript, а не Java.
- В настоящее время Super Dev Mode не поддерживает запуск веб-приложений Java (военных файлов), таких как классический Dev Mode. Обходной путь - запустить их на отдельном сервере.
- Поскольку Super Dev Mode не запускает приложения GWT в JVM, некоторые проверки во время выполнения не выполняются. Например, не будет никакого IndexOutOfBoundsException, когда индекс массива находится вне диапазона.
По этим причинам Super Dev Mode по-прежнему считается только экспериментальным.
Полное описание смотрите в GWT Super Dev Mode, который последний раз обновлялся в июне 2012 года.
Пожалуйста, посмотрите на Запуск в производственном режиме
Вы ссылаетесь на статью Как работает режим Super Dev в GWT? последний раз обновлялся в июне 2012 года.