Батареї в комплекті
Інструменти Java
Це просто приголомшливо:
- IDE: навіть якщо деякі IDE підтримують JavaScript, рівень підтримки просто не порівнюється. Спробуйте переробити код JavaScript на великих кодових базах (скажімо, 40K + LOC) і плачте.
- Тестування одиниць: хоча це було піднято за останні кілька років, воно також є набагато більш зрілим у світі Java.
- Постійна інтеграція та безперервна перевірка
- Генерація документації: Звичайно, у вас є JSDoc та кілька інших
Статичний тип
Він рано наздоганяє клопів. (Невелика адреса закриття Google, зберігаючи розробника в світі JavaScript, якщо ви хочете).
Оптимізований JavaScript
GWT пише швидший і компактніший JavaScript, ніж ви (для великих додатків), і дозволяє вам визначити, що надсилається клієнту, можливо, простіше, ніж при еквівалентних повноцінних рішеннях JS.
Архітектура
Це забезпечує гарне розділення проблем для великих застосувань, причому гідні MVC або MVP архітектури вже заздалегідь випечені у вас під рукою.
Гідна бібліотека
GWT надає цікаві бібліотеки та дозволяє легко (ну, простіше) створювати програми з підтримкою I18N з динамічним завантаженням пакетів.
Блок-Тестування
Використання JUnit зсередини Eclipse IDE та з командного рядка. Це стосується мого першого моменту. Ви також можете також використовувати деякі інструменти якості коду Java для проекту GWT (для перевірки джерела, а не для перевірки байт-коду, оскільки їх немає).
Це все про вас !!
GWT не для всіх. Це робить деяких людей більш продуктивними і дає хороший інструмент для розробників, які не є JS, для створення професійних веб-додатків з динамічними передніми сторонами, не торкаючись (занадто багато) JavaScript. Але якщо це не працює для вас, просто використовуйте щось інше.
Якщо ви хочете більшу частину вищезазначеного, але ви просто не хочете Java, можливо, подивіться на закриття Google або інструментарій Dojo .
Була гарна ідея в той час: історія має значення !!
Світ JavaScript (і веб-передових технологій загалом) надзвичайно активний в наші дні, тому все шукається вгору. Але лише кілька років тому все було не так яскраво. Менше / SASS не були такою популярною, jQuery ще не була бібліотекою JS-фабрики, бібліотеки JavaScript не створювались через тиждень, а інструменти не були такими великими.
Але вже зростав попит на професійні та великі веб-додатки з динамічними передніми сторонами, тому заповнили прогалину, щоб зробити розробників більш продуктивними. У JavaScript є безліч підводних каменів та дивацтв, про які потрібно знати, і, можливо, просто краще навіть не потрібно дбати про них. Звідси ніша для таких інструментів, як GWT.
З тих пір з'явилися інші (на розум приходить CoffeeScript, Dart вже на шляху, але також великі рамки JavaScript, революція серверного JS з Node.JS та інші та потужне повернення для JavaScript як "досить хорошого" всіх -виможна мова, яка використовується не лише на стороні клієнта, але і в інших частинах вашої компанії.
додаткові нотатки
Що стосується вашого оригінального (зараз відредагованого) питання про використання Firebug
Ви, звичайно, можете налагоджувати код GWT за допомогою Firebug, але в ідеалі ви налагодите його безпосередньо з налагоджувача IDE Eclipse, який тепер забезпечує підтримку налагодження живого коду.
Однак, Firebug це все-таки корисний, хоча вам потрібно мати на увазі, що GWT генерує оптимізований та стислий JavaScript, який може бути непростим налагодження як є.
Що стосується вашого оригінального (зараз відредагованого) запитання про CSS
Так, вам все-таки потрібно написати CSS-код самостійно, звичайно. Однак ви поєднуєте свій проект GWT з іншими інструментами (як, наприклад, SASS), більш-менш легко.
Це просто інструмент!
Не помиляйтесь GWT у тому, що це не так: ви не пишете код Java, який буде запускатися безпосередньо на стороні клієнта як байт-код Java. Ви пишете код на мові Java, який потім транслюється в JavaScript для підвищення ефективності і дозволяє використовувати мову високого рівня (або, принаймні, це те , як це означало бути видно).
Можливо , Java та JavaScript можна вважати порівнянними за рівнем абстракції. Однак Java має деякі переваги (детальніше вище), отже, перевага у використанні переваг існуючих інструментів без необхідності їх переписування. У розробників Google просто була розумна ідея зробити можливим повторне використання існуючих інструментів, орієнтованих на Java, але фактично розробити програми JavaScript.
Крім того, вони вирішують ще одне питання, яке часто було громіздким керуванням двомовними веб-додатками, де JavaScript та код Java оброблялися окремо. Використання GWT дозволяє певний рівень конвергенції для обох сторін процесу розробки.
Подальше читання: