Насколько полезно изучение GWT?

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

Написание веб-приложений сегодня - это утомительный и подверженный ошибкам процесс. Разработчики могут тратить 90% своего времени, работая над особенностями браузера. Кроме того, создание, повторное использование и поддержка больших баз кода JavaScript и компонентов AJAX могут быть сложными и хрупкими. Google Web Toolkit (GWT) облегчает эту нагрузку, позволяя разработчикам быстро создавать и поддерживать сложные, но высокопроизводительные интерфейсные приложения JavaScript на языке программирования Java.

Каково общее мнение о GWT? Насколько легко учиться и использовать его?

РЕДАКТИРОВАТЬ: Я разработчик Java!

Ответ 1

Вы не говорите, если у вас есть какой-либо фон с Java. Если вы этого не сделаете, тогда я не могу говорить о том, какова может быть ваша кривая обучения.

Однако... как кто-то, кто работал с Java в течение ~ 9 лет, и большую часть времени провел с Swing, я обнаружил, что GWT очень легко учиться.

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

Лично мне нравится, что я могу использовать IntelliJ (мой редактор выбора) и воспользоваться всеми фантастическими инструментами Java, которые помогают мне писать лучший код. (BTW... эта часть GWT-миссия.)

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

Если вам нужен доступ к большим или различным виджетам, есть много проектов, которые хотят заполнить пробелы:

(ПРИМЕЧАНИЕ. Я НЕ одобряю ни один из этих проектов или комментирую их относительные достоинства, просто пытаюсь предоставить некоторые ссылки...)

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

Сказав все это, будьте осторожны... вы по-прежнему найдете некоторые проблемы с тем, как делают вещи в IE6 против IE7 против FireFox 3, vs... Я не написал webapp в прямом JavaScript или с любыми другими инструментами, поэтому я не могу сказать, насколько лучше GWT в этом отношении. Все, что я знаю, это то, что через 10 месяцев работы над приложением, над которым я работаю, мы столкнулись с несколькими случаями, когда нам пришлось специализироваться на CSS для одного браузера.

Ответ 2

Если вы исходите из фона Java или используете что-то вроде Swing, я думаю, что имеет смысл использовать GWT, поскольку он держит вас в кодировке в знакомой среде со знакомыми понятиями. Другая веская причина использовать GWT - если ваша команда состоит в основном из разработчиков Java и очень немногих веб-разработчиков. В этих случаях это должно быть довольно легко изучить и использовать.

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

Javascript - это мощный язык, более подходящий для Интернета в некотором роде, чем Java (Groovy может изменить это, но я не уверен, насколько легко интегрироваться с GWT), существует множество зрелых JS-фреймворков, которые держите вас подальше от большинства прихожей браузера и предлагайте только нужный уровень абстракции, для JS есть единичные модули тестирования, и есть некоторые хорошие методы программирования, чтобы сделать ваш код более управляемым.

Для написания веб-приложений я предпочитаю делать клиентскую разработку на клиенте и хочу, чтобы браузеры развивались больше в этом направлении, вместо того, чтобы становиться контейнерами для различных песочниц, таких как Flex или GWT.

Ответ 3

Я пришел с фона С#, и переход на Java и GWT не был болезненным. Как только вы поймете концепцию асинхронных вызовов RPC, JSNI и т.д., Вы находитесь на правильном пути.

Ответ 4

Лично, если вы можете найти альтернативу Ext-GWT, так как поддержка ужасная, все это плохо и плохо задумано. В дополнение, я не смог найти учебник по запуску Ext-GWT в Eclipse. Я успешно установил и запустил пример приложения GWT в Eclipse с небольшим шумом, но теперь я хочу использовать библиотеку Ext-GWT, они не могут играть вместе. Плагин Eclipse GWT настраивает собственную среду, в которой не будут использоваться компоненты Ext-GWT и наоборот. Например, как Ext-GWT вписывается в модуль GWTOnloadFunction, когда ему нужна собственная точка входа? Мы регулярно используем библиотеку JS на работе, это нормально, но форумы ужасны, модераторы часто грубые или слишком расплывчатые, и, похоже, нет такой вещи, как "простой ответ"

Ответ 5

Возможно, я немного опоздал на вечеринку... но для будущих читателей...

Я занимаюсь созданием приложений GWT чуть менее 3 лет, поэтому, возможно, у меня есть хорошая возможность ответить на вопрос "как легко изучить GWT".

Когда я решил написать GWT-приложения, мои навыки Java были не такими удобными, поэтому моя учеба в GWT была немного неровной. К тому времени, когда я начал использовать Java, я хотел, чтобы он был онлайн-книгой Мариуса Андреяна, который улучшил мой опыт обучения GWT.

Общее мнение? Из истории и будущего Google Web Toolkit, выступления Google I/O 2012 Рэя Кромвеля, он описывает GWT как инструмент, помогающий разработчикам Java разрабатывать для Интернета без изучения каких-либо дополнительных технологий, сред тестирования, инструментов сборки и всего такого. Это похоже на то, как Phone-gap является инструментом мобильной разработки для веб-разработчиков.

Теперь, к моменту публикации этого вопроса, если говорить о презентации Кромвеля, GWT уже не чувствовал так сильно, по крайней мере, когда смотришь на него с того места, где он сейчас находится; Сообщество надежно, документация - произведение искусства, и, конечно, больше книг, мои личные любимые - Даниэль Гермер и Эми Унру. Тем не менее, я все еще чувствую, что на YouTube есть дефицит учебников GWT, но все в свое время.

На мой взгляд, мир HTML/CSS/JavaScript также кардинально изменился, были улучшены фреймворки для фронт-эндов, автоматизации сборки, управления зависимостями, тестирования, и вы назовете его. Лично я предпочитаю писать GWT при создании приложений для движка приложений Google, чтобы он представлял собой весь код Java, и остальное время зависеть от фреймворков CSS/JavaScript.