Подтвердить что ты не робот

JQuery против Google Closure va GWT Плюсы и минусы для разработки больших веб-приложений

Я собираюсь начать разработку большого веб-приложения. В нем содержатся медиа (видео, аудио и изображения) и большая пользовательская база.

Трафик на веб-сайте также может быть очень высоким.

Итак, я немного запутался, должен ли я использовать jquery/jquery ui или Google закрыть или GWT.

Я знаком с jquery, и я много работал над этим, но для GWT и Google Closure это мой первый раз.

Мне тоже удобно в java, поэтому я могу использовать GWT, но я уже упоминал об этом в первый раз с GWT.

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

-Спасибо заранее

если этот вопрос дублирует некоторые, кроме как только ссылку.

4b9b3361

Ответ 1

Я думаю, что это действительно зависит от того, какой веб-сайт вы хотите создать.
GWT, вероятно, лучше всего подходит для так называемого SOUI (сервис-ориентированный интерфейс) и SOFEA (сервис-ориентированная архитектура переднего конца).
В веб-приложениях GWT у вас есть одна страница хоста HTML, которая обслуживается вашим бэкэнд, а весь рабочий процесс пользовательского интерфейса и синхронизация потоков выполняется на стороне клиента по ГВТ. Поэтому, если вы хотите получить рабочий стол, например, приложение GWT, вероятно, ваш лучший выбор, потому что это отличный инструментарий, который позволяет разрабатывать сложные настольные приложения и предоставляет все преимущества разработки JAVA (тестирование, рефакторинг и т.д.).

Для "традиционных" веб-сайтов 2.0ish GWT может быть не лучшим выбором, потому что у него есть как-то большая кривая обучения, чем JS-фреймворки (jQuery, dojo и т.д.). Кроме того, эти веб-сайты имеют несколько страниц, а Javascript используется для усовершенствований пользовательского интерфейса, а не для полной синхронизации потоков, а просто делает страницу более интерактивной. Для этих веб-сайтов у вас обычно есть хороший бэкэнд (Grails, Spring MVC), который заботится о синхронизации потока, а структура JS просто отвечает за то, чтобы сделать интерфейс более интерактивным и для некоторых изменений пользовательского интерфейса.

Примером такого рода веб-сайтов является stackoverflow. Если вы нажмете на ссылку, она загрузит новую HTML-страницу. Если вы нажмете на свою папку "Входящие", она будет использовать jQuery, чтобы открыть всплывающее окно и получить ваши уведомления и отобразить их.

Google Closure, вероятно, ближе к jQuery, чем к GWT. Я думаю, что самой большой точкой продажи Google Closure являются клиентские и серверные HTML-шаблоны. У меня нет большого опыта работы с Google Closure, но он сильно используется Google для своих веб-приложений.

Поскольку я работал в основном с GWT, вот список преимуществ и недостатков, которые я могу думать о GWT:

Преимущества:

  • Надежный инструментарий
  • Средства разработки (тестирование, рефакторинг, затмение, живая отладка)
  • Совместимость с браузером из коробки (с некоторыми оговорками)
  • Доступность сторонних библиотек (сериализация DTO, рамки MVP и т.д.)
  • Только код, который используется, загружается клиенту (с помощью фреймворков JS вы загружаете всю структуру, даже если используете только одну конкретную функцию).
  • GWT-RPC и RequestFactory для связи с бэкэнд JAVA (нет необходимости сериализовать или де-сериализовать самостоятельно).

Недостатки:

  • Большая кривая обучения
  • Возможно, не подходит для небольших улучшений пользовательского интерфейса.
  • Компиляция может занять некоторое время, если база кода большая, и должен поддерживаться другой браузер и языки.
  • Сгенерированный Javascript может стать большим в сложных приложениях (решение: разбиение кода)

В качестве примечания: с каждой новой версией GWT недостатки становятся менее проблематичными, так как каждая новая версия GWT улучшается во время компиляции и размер кода. GWT 2.5 должен иметь некоторые действительно хорошие улучшения в этой области.

Подводя итог: если вы хотите разработать рабочий стол, например интерактивное веб-приложение, я думаю, что GWT, вероятно, ваш лучший выбор.
Однако, если вы хотите разработать более традиционный веб-сайт "web 2.0ish", jQuery/Google Closure может быть лучшим решением.

Ответ 2

GWT привносит всю функциональность Java IDE в суть разработки JavaScript. Как и JQuery, GWT "нормализует" браузеры для вас, поэтому вам обычно не нужны проверки пользовательского агента или что-то еще. То, что вам нравится в Java IDE, - это действительно надежная поддержка рефакторинга для изменения имен, упаковок, сигнатур методов, всех видов материала. ЕГО БЫЛО 2 ЛЕТ, ПОСЫЛ Я СДЕЛАЛ GWT, но я думаю, что его недостатком, особенно в крупных проектах, является этап компиляции. Это не быстро, особенно когда вы позволяете ему собирать всю Java для каждого из браузеров. Если я правильно помню, и если он все еще делает это сегодня, он создает действительно большой файл JavaScript для каждого из IE, FireFox, Chrome, Opera и Safari. Это требует времени, мой друг. Там есть единая тестовая среда, которая интересна, хотя и медленнее, чем ее чистая Java-копия.

Преимущества GWT: надежная поддержка инструмента через экосистему Java IDE. Ответственность GWT: время компиляции

Я не знаю почти столько же о JQuery, кроме как он тоже, похоже, взломал cookie совместимости браузеров, позволяя вам, справедливому разработчику, сосредоточиться на вашем приложении. То, что я знаю о JQuery, состоит в том, что у него, похоже, есть умственное мышление разработчика. Я, который не является экспертом по JavaScript, сумел интегрировать JQuery в свой Java webapp и добавить "плагин" предварительного просмотра изображения под названием imgPreview (http://james.padolsey.com/javascript/new-jquery-plugin-imgpreview/) предоставляя всплывающие изображения для предварительного просмотра в моем мягком настольном пользовательском интерфейсе примерно за 30 минут после полудня. Браузеры тоже выросли за последние 2 года, так что теперь вы можете динамически отлаживать свой JavaScript в реальном времени на консоли (для этого используются камни Chrome, но в FireFox и Safari они одинаковы), а также настраивать стили и делать все виды прямых манипуляций с DOM.

Преимущества JQuery: прямо вверх JavaScript без интерпретации и разума разработчика Ответ JQuery: сложно реорганизовать JavaScript в любом месте рядом с уровнем приложения Java.

Моя ценность в 2 цента.

Ответ 3

Основное преимущество библиотеки Closure только в jQuery заключается в том, что он использует преимущества компилятора Closure (в расширенном режиме). Вы получаете быстрый цикл редактирования/отладки сырого javascript, а библиотека кода справедливого размера и ваш клиент должны ждать только того кода, который вы используете (при условии, что вы скомпилировали его).

Для GWT, чтобы избежать компиляции, вы платите за использование "режима dev".