Что вы думаете о GWT? [закрыто]

11

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

Я видел GWT, выглядит интересно, поэтому я решил попробовать. Я думаю, однако, поскольку GWT развертывает Java-приложения на JavaScript, почему я должен изучать GWT, когда я мог бы изучать реальную вещь (это JavaScript). Мой вопрос: стоит ли это того? Разве кому-то не лучше изучать JavaScript, если он хочет создавать приложения JS вместо использования Java и GWT? Я понимаю, что с GWT было бы легче создавать определенные вещи, но в конце концов оно того стоит?

Спасибо.

Питер Боутон
источник
3
Тем не менее, люди изучают С вместо программирования систем непосредственно в машинном коде.
Хайлем

Ответы:

6

GWT по сути является компилятором для нативного кода, так же, как Visual Studio компилирует исходный код в байтовые коды или машинный язык.

Это позволяет программисту абстрагироваться от различий в базовой архитектуре, так же как пользователям Visual Studio не нужно беспокоиться о различиях в длине слова, количестве регистров и точных соглашениях для вызова операционной системы, когда они кодируют для 32-битных или 64-битных систем. -немного.

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


источник
2
Еще одно преимущество - отладка в режиме хоста. Таким образом, вы можете отлаживать логику вашего приложения, как на стороне клиента, так и на стороне сервера, а также всеми средствами пошагового отладчика.
Джереми
5

Мне это не нравится

Все, что вы можете сделать с ним, вы можете сделать чище без него.

Джош К
источник
Согласен. Но вы пишете страницы с несколькими изображениями с одним файлом на изображение. Правильно ?
1
@Rocket: я не понимаю, что означает «несколько изображений, один файл на изображение» .
Джош К
4
@Rocket: я не вижу, что изображения имеют отношение к GWT. Если вы хотите включить спрайты, вы можете, в противном случае да, у вас есть несколько изображений.
Джош К
1
@ Джош: Думаю, вы добавляете небольшие анимации и т. Д., А не пишете большой комплекс. Существует причина, по которой языки сценариев ограничиваются небольшими задачами, а языки со статической типизацией используются для более крупных задач.
mP01
2
Одним словом оснастка. Никто не написал настоящий сопоставимый редактор для javascript по сравнению со многими доступными для java.
mP01
2

Сама причина, по которой GWT взяла Java в качестве исходного языка, заключается в том, что с JS (Ecmascript) работать нечеловечески сложно. GWT - это просто хороший способ перенести программирование в Web / браузеры, где это было невозможно раньше.

До GWT были тщетные попытки программировать что-либо в браузерах (Ajax, dojo, обычный javascript). Но силы природы там слишком жестоки, поэтому все разваливается (браузеры меняются, они никогда не бывают одинаковыми, люди говорят на разных языках, люди думают, что 15 изображений должны быть на самом деле 15 файлами и т. Д.).

Ответ таков: если бы я написал код для интернет-котла (что не является моей работой), я бы выбрал GWT.

PS Еще одна мысль. JS сделан Netscape. Компания давно умерла, но язык остается там незаконченным и гниющим


источник
6
-1 ECMAScript постоянно развивается; ECMAScript 5 только что вышел в прошлом году, а ActionScript, язык Flash, является ECMAScript.
16
-1. JavaScript не является «нечеловечески сложным» для программирования. Если вам трудно JavaScript, вы, скорее всего, не очень умны. До GWT были люди, которые знали, что они делают. После GWT есть люди, которые не могут кодировать JavaScript (и используют GWT), и те, кто может (и не использует GWT). Кроме того, JavaScript взорвался мимо браузера, посмотрите на Node.js и MongoDB. Используйте SpiderMonkey или V8 для написания независимых от платформы скриптов.
Джош К
3
@ Джош К. Я также считаю, что Visual Basic 6 еще сложнее программировать, чем JS. Java легче примерно в 50 раз, чем Basic. И CSharp проще может быть в 2 раза, чем Java. Под сложностью я подразумеваю создание практических сложных приложений, которые можно обслуживать, создавать в командах, продавать клиентам. Меня не волнуют различия в синтаксическом сахаре. И я думаю, что если вам нужно быть очень умным, чтобы использовать язык, значит что-то не так с языком.
3
JavaScript очень прост в разработке больших поддерживаемых приложений, созданных командами. Я сделал это. В написании модульного кода нет ничего сложного, кроме того, что люди решают этого не делать.
Джош К
Не путайте DOM с JavaScript. Проблема не в JS.
Эндрю Т Финнелл
2

Несколько причин, по которым стоит догнать GWT:

  • Каждая технология имеет жизненный цикл. GWT в самом разгаре. Изучение GWT даст вам технологическое преимущество в течение более длительного периода времени.
  • GWT, используя Java, приносит структуру в веб-приложение. JavaScript больше подходит для сценариев. Опираясь на Java, GWT больше подходит для больших приложений. Если вы заметили, что фреймворки / инструментарий работают над JavaScript, вы можете сделать вывод, что, как и я, JavaScript сам по себе недостаточен для серьезных проектов. Все эти структуры создают структуры для разработки приложений. GWT - одна из тех структур, которая будет преобладать.
  • Мобильное приложение - это революция в мире программного обеспечения. Революция сейчас на ранней стадии. Все больше и больше программного обеспечения будет перемещаться на мобильные платформы. В настоящее время GWT является наиболее полным кроссплатформенным инструментом разработки приложений, который вы можете найти.

Учитывая это, GWT на самом деле не тесно связан с фреймворками веб-сервисов от Google или Sun (сервлет). Интегрированные инструменты больше ориентированы на интеграцию со своими серверами из-за деловой природы Google или Sun. Чтобы использовать возможности технологии GWT, следует более или менее игнорировать некоторые из гипер-интеграции серверов. Просто используйте GWT в качестве инструмента клиентского приложения, это должно быть более полезным для вашей будущей карьеры.

Минхуа
источник
1

Это зависит от того, что вы хотите сделать (во всяком случае, для большинства инструментов).

Если вы хотите вникнуть в детали веб-разработки, используйте многие (иногда разные) приемы среды браузера и их новейшие функции, хватит смелости бороться с небольшими приемами, которые делают ваше веб-приложение «крутым», GWT всегда будет на вашем пути: если у вас есть время и опыт, вы можете делать все и больше своими руками. И да, есть много других наборов инструментов, которые помогут вам в процессе программирования на JavaScript.

Однако, если вы хотите создать «не такой необычный», но стабильный графический интерфейс для вашего приложения, который «должен», и в большинстве случаев действительно делает то же самое, и выглядит одинаково в разных браузерах без уловок, GWT - хороший выбор, лучшее, что я знаю. Объяснение: Google определенно заинтересован в том, чтобы синхронизировать его с большинством браузеров и новейшими технологиями, и определенно имеет достаточно ресурсов для этого. Да, вы придерживаетесь другого гиганта вместо того, чтобы заниматься своими делами. Вопрос: чем вы занимаетесь? Предоставить ту же услугу широкому кругу пользователей с помощью веб-интерфейса с наименьшими усилиями - или создать блестящий, исключительный веб-портал, который обладает самыми крутыми функциями на новейших платформах.

Причина +1: я думаю, что полезно хранить ваше приложение в одной кодовой базе и на одном языке. Вы можете сделать аккуратный трюк в сценариях базы данных - но вы привязываетесь к этому серверу БД. Вы можете выполнять внешние действия с помощью сценариев оболочки или пакетных файлов, но вы привязываетесь к операционной системе. Вы можете реализовать некоторую логику контроллера в JavaScript, чтобы обеспечить богатый клиентский интерфейс в браузере, но вы можете заблокировать себя в одном браузере. В любом случае, их непросто синхронизировать с основной структурой данных приложения и требованиями (и, возможно, самым сложным из них является постоянно меняющаяся среда браузера + инструменты JS). Я убежден, что если основное приложение находится на Java, все должно быть на Java - с очень малой долей случаев, когда вам действительно нужно поместить часть логики в другую среду.

Я выбрал GWT из-за моих ответов на вышеупомянутые вопросы - и он делает то, что хотел, чтобы он делал: примерно через 2 недели после установки у меня был приемлемый веб-интерфейс для внутренней системы мониторинга сервера - хотя у меня был опыт работы с Swing. (Нет, я не использовал внешний вид по умолчанию и да, я использовал CSS и классы для представления логической информации :-))

Проверьте свои текущие и запланированные задачи - и выберите правильный инструмент для них.

Лоран Кедвес
источник