Полезен ли Google Web Toolkit для разработки сложных JavaScript?

StackOverflow https://stackoverflow.com/questions/416998

  •  03-07-2019
  •  | 
  •  

Вопрос

Я большой поклонник фреймворков Javascript, особенно jQuery. Я всегда хотел создавать сайты вроде «plurk.com», но знаю, что для этого нужны очень огромные строки javascript. Так что это меня оттолкнуло. Но с тех пор, как я познакомился с GWT, я очень хочу его протестировать и хочу спросить вас, облегчает ли это нашу работу по разработке сложных вещей, чем с помощью javascript или его фреймворков. Какой из них вы бы предпочли?

Это было полезно?

Решение

Меня мало что пугает, как «сгенерированный Javascript». Закон дырявых абстракций в этих случаях это должно быть вдвойне верно.

Написание эффективного кроссбраузерного JavaScript — сложный процесс постоянного совершенствования.Попытка расшифровать, где какой-то сгенерированный, скрытый Javascript работает не так, является серьезной головной болью.Достаточно плохо исправлять ошибки в чистых библиотеках JS.

На мой взгляд, GWT — это трюк, позволяющий разработчикам серверной части писать интерфейсный код в браузере.К сожалению, реалии современных веб-приложений означают, что вам просто нужно знать Javascript и DOM.Что-то сломается, и вам нужно знать, почему.

Я думаю, вам лучше выбрать хорошую библиотеку JavaScript, например jquery или прототип, и хорошо ее изучить.Эти библиотеки абстрагируют то, что СЛЕДУЕТ абстрагировать и которые вряд ли сломаются в крайних случаях, например, операции с массивами и запросы AJAX.

Другие советы

Я думаю, что некоторые из ответов на этот вопрос совершенно не информированы, и я подозреваю, что отвечающие на них люди никогда не использовали GWT в крупномасштабных проектах. Да, GWT - отличный способ создания больших веб-сайтов AJAX, а для больших сложных сайтов, в том числе и с серверной частью, он запускает такие вещи, как JQuery, вверх и вниз по парку. Я всегда смотрю на это так, что сам по себе javascript отлично подходит для выполнения небольших задач на стороне клиента. Когда вам нужно сделать что-то более сложное (например, динамические поля, всплывающие окна, анимации), вы добавляете что-то вроде JQuery или Prototype. Если вы хотите сделать еще один шаг вперед, вы идете с GWT.

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

Я также не покупаю теорию неплотной абстракции, она не пытается полностью абстрагировать элементы HTML, поскольку она дает вам прямой доступ как к нативному javascript, так и к DOM, если вы решите их использовать.

Короче говоря, мы создали очень сложные сайты (один из которых был представлен в блоге GWT) в GWT, а также с использованием других библиотек, таких как JQuery. Я могу сказать вам со 100% уверенностью, что, как только вы разберетесь с GWT, это убьет эти другие фреймворки для сложных задач. Он также имеет несколько великолепных встроенных вещей, которые помогают сделать вещи лучше, и даже делает некоторые вещи, которые не поддерживает ни один другой фреймворк (например, волшебство, которое он может делать с изображениями). Смотрите этот пост в блоге для более подробной информации:

http://googlewebtoolkit.blogspot.com/ 2007/10 / EPO-строитель-встроенный с-gwt.html

Да, так и есть, поскольку вы будете использовать Java, а не Javascript.

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

Нет.Это не так.

Это не устраняет сложности, а просто позволяет вам справиться с ней с точки зрения Java.Поскольку это дает вам все инструменты, доступные в Java...только это может сделать его стоящим.

Однако IDE JavaScript становятся все лучше и лучше, и, как правило, если вы используете фреймворк, такой как jQuery или Prototype, вам, вероятно, будет проще, чем иметь дело с тяжелым уровнем абстракции, таким как GWT.

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

С GWT вы фактически не пишете JavaScript; Весь смысл в том, что вы можете написать Java, который будет компилироваться в JavaScript для вас.

Я работаю над проектом, который использовал GWT для довольно хорошего эффекта. Это хороший выбор для нас, так как все мы в основном разработчики Java, работающие над внутренними инструментами. Я не могу сказать, насколько это полезно для крупных сайтов конечных пользователей.

Одно преимущество, которое я особенно ценю, - это бесшовная сериализация и десериализация объектов. Мало того, что детали XML-RPC абстрагированы, но поскольку один и тот же код Java скомпилирован для байтового кода для сервера и javascript для браузера, вы можете кодировать почти так, как если бы сервер и клиент выполнялись в отдельных загрузчиках классов в та же JVM. Например, вы можете создать Java-объект на сервере, отправить его в браузер в качестве возвращаемого значения из вызова службы RPC, и код браузера может затем использовать идентичный класс Java для управления только что возвращенным объектом. Аналогично, параметры для вызовов RPC могут быть сконструированы как объекты Java, при этом сервер получает идентичный объект Java на другом конце. Все это без разборчивости в деталях (де) сериализации.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top