Режим суперразработчика GWT

Я очень обеспокоен этой новой альтернативой жизненного цикла разработки. На самом деле с помощью этой функции мы компилируем файл Java в Js в режиме суперчерновика, но что происходит с очень большими проектами, когда обычная компиляция занимает более 45 минут (мой последний проект)?! каждый раз, когда я что-то меняю в пользовательском интерфейсе, я должен перекомпилировать все коды?!

Оптимистично говоря, перекомпиляция в суперрежиме займет более 5 минут!

Пожалуйста, дайте мне знать, если я ошибаюсь. Регадс,


person Nav    schedule 27.01.2014    source источник


Ответы (1)


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

Тем не менее, компиляция по-прежнему монолитна. В следующей версии GWT представит инкрементную компиляцию: модули будут предварительно компилироваться сами по себе, поэтому модули, которые не изменяются, не нужно перекомпилировать, их нужно только «связать». с остальными для создания окончательного JS.

person Thomas Broyer    schedule 27.01.2014
comment
когда вы говорите о модулях, это означает, что я должен разделить приложение на несколько модулей GWT, или если я использую, например, GWTP и функцию разделения кода сборки, это происходит автоматически? - person Nav; 27.01.2014
comment
Все еще проблема, поэтому мне нужно скомпилировать все приложение один раз перед запуском superDev? если да, то, изменив ветку (git), разработчики должны сделать clean/compile/get:compile, а затем запустить superDev? - person Nav; 27.01.2014
comment
Я спрашиваю предыдущий комментарий, потому что в моем последнем проекте (очень большом) разработчики никогда не компилировали клиентский код ни разу, всегда запускали режим разработки, и это было потрясающе. - person Nav; 27.01.2014
comment
Ре. модули: я имею в виду gwt.xml; разделение кода - это совсем другое. Ре. компиляция, нужно скомпилировать один раз, но потом можно изменить все, кроме имени модуля и он должен Just Work™; т. е. нет необходимости очищать/компилировать/gwt:compile при переключении веток (однако остерегайтесь сломанных инкрементных сборок; например, Maven сломан, и вы должны очистить/скомпилировать; тогда необходимость gwt:compile будет зависеть от вашего рабочего процесса dev) - person Thomas Broyer; 28.01.2014
comment
Спасибо, Томас за ответ, лично я предпочитаю классический режим разработки и надеюсь увидеть его в следующих версиях. Как вы думаете, команда GWT поддержит его в следующих выпусках? - person Nav; 28.01.2014
comment
DevMode, вероятно, все еще будет поддерживаться в течение некоторого времени (будь то только для IE, чей DevMode работает хорошо, но инструменты разработки не соответствуют другим браузерам — например, нет исходных карт — и чей цикл обновления медленный). Причина прекращения поддержки DevMode не в GWT, а в браузерах: когда ваш браузер больше не будет поддерживать плагины, кроме нескольких из белого списка (например, Flash), вы будете вынуждены перейти на SuperDevMode… - person Thomas Broyer; 28.01.2014
comment
Вы сказали, что модули, которые не изменяются, не нужно перекомпилировать, но их нужно скомпилировать изначально!!! да, после запуска super dev будут перекомпилированы только изменения... - person Nav; 08.12.2014
comment
@Nav изменились только классы или модули полностью? - person Alex78191; 14.05.2018