Реальный опыт ZK против GWT - PullRequest
       13

Реальный опыт ZK против GWT

22 голосов
/ 16 августа 2010

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

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

Аргументы этого парня против ZK кажутся "несовместимостью браузера", "слишком много бизнес-логики в браузере" и "незрелость проекта". Я не согласен со всеми тремя из них. Он также не приводит аргументов в пользу GWT, который, похоже, на самом деле мало что знает об обеих технологиях. Он также утверждает, что лучше использовать технологию, известную кому-то в компании. Здесь есть только одна команда, которая фактически использовала GWT, и у этого проекта были ... проблемы.

Может ли кто-то, имеющий некоторый реальный опыт работы с ZK и / или GWT, предложить некоторые аргументы, которые я могу привести, которые по крайней мере поставили бы обе технологии на стол, вместо того, чтобы пытаться протолкнуть одну технологию без реальных исследований?

Ответы [ 7 ]

10 голосов
/ 16 августа 2010

GWT и ZK предоставляют платформу для включения Ajax в Java.Оба являются зрелыми и не имеют проблем с несовместимостью с браузерами (ZK основан на jQuery).

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

Преимущество GWT (в качестве подхода на стороне клиента) заключается в более быстрой реакции (меньше запросов клиент-сервересли продуман хорошо).Недостатком является то, что вам нужно выполнить все маршалинг данных между клиентом и сервером (GWT RPC / JSON поддерживает только очень простые объекты).В отличие от этого, преимущество ZK состоит в том, что вы можете получить прямой доступ ко всем внутренним ресурсам, без RPC, без прокси ... Кроме того, ZK позволяет писать некоторый код на стороне клиента, чтобы повысить отзывчивость критических частей (к сожалению,код клиента должен быть JavaScript).Для меня это лучший баланс.

Реальным преимуществом GWT является Google.Я продолжал слышать, как какой-то начальник подтолкнул инженеров в GWT из-за этого.Я также слышал, что некоторые проекты GWT потерпели неудачу (в основном из-за проблем с производительностью - слишком больно, если проект сложный), а затем переключился на ZK.

7 голосов
/ 23 октября 2010

Обращаем ваше внимание, что страница GWT ZK и страница ZK написана Джеффом Лю, инженером в корпорации Potix.Который является компанией, которая сделала ZK.

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

7 голосов
/ 16 августа 2010

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

Ваше высказывание босса "слишком много бизнес-логики в браузере" действительно показывает, что он не знает, о чем говорит. GWT - это технология, работающая только на стороне клиента, а ZK выглядит почти полностью на стороне сервера.

Если вы еще не ознакомились со страницей GWT ZK против ZK . Кажется, они покрывают большую часть оснований.

Наконец, помните, что вы пишете программу, а не он, если босс навязывает вам что-то, что потребует больше времени для реализации, а затем увеличьте ваши оценки соответственно. Гораздо проще обратиться к руководству с чем-то, о чем они заботятся: «Эта технология приведет к увеличению бюджета на X и графику на Y», а затем с техническими подробностями.

3 голосов
/ 12 декабря 2010

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

Есть хотя бы одна компания, которая продает поддержку ZK.Они будут рады познакомить вас с архитекторами в компаниях, которые использовали ZK.Задайте этим независимым сторонним архитекторам ряд открытых вопросов, таких как «что вам больше всего понравилось и что вам больше всего не понравилось» и «что было основным испытанием, которое вы нашли» и «что вас больше всего удивило» и «что сделали другие платформы»Вы считаете, и почему вы выбрали ZK ".Директора компаний любят подобные исследования, основанные на фактах, и беседуют с руководителями других компаний.

В то же время создайте «страницу штурмового курса», которая будет точным представлением той сложности, которую вам придется построить на проекте.Пусть команда внедрит эту страницу как в ZK, так и в GWT, и пусть все попытаются улучшить обе.Запишите этот опыт в команде.Обязательно включите человека, который был против ZK, и не делайте этого в состязательной манере.Не попадайте в ситуацию «они против нас» или «она против меня», но держите ее в качестве открытой команды по установлению фактов и обучению, где каждый может внести свой вклад.Вики-страницы могут быть идеальным форматом для этого.

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

1 голос
/ 16 августа 2010

Если вам нужны преимущества ZK (серверная среда AJAX), вы можете использовать GWT с SmartGWT

0 голосов
/ 25 октября 2018

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

0 голосов
/ 20 июня 2014

Возможно, может помочь демонстрация успешного приложения ZK корпоративного уровня.

Когда я работал с IDempiere 2 (программное обеспечение ERP + CRM), мой ум был просто потрясен.Это огромное ПО ERP с очень отзывчивым и чистым интерфейсом.

Я установил его на Windows-машине менее чем за час.

...