Ржевский Дмитрий Rzhevskiy Dmitry
extGWT vs ZK
На работе с которой я уволился мы писали программу на extGWT - это GWT компилятор из java в javascript + библиотека extj.
На работе в пронто-москва я использовал для этих же целей ZK.
В этой таблице я выпишу достоинства и недостатки фреймворков.
| Характеристика | ZK | GWT+ extGWT |
| Нагрузка на сервер и и сеть | порядка 20-50 одновременных пользователй. остановка сервера ведёт к остановки работы приложения. | Правильно написанное приложение нагружает сервер и сеть по минимому. Можно писать практически оффлайновые приложения. |
| скорость работы приложения | При работе возможны задержки (особенно при медленной сети | Скорость работы очень хорошая. |
| интеграция с Javascript | Возможна но довольно сложна | интеграция простая - есть простой tutorial (сам писать не пробовал). |
| количество кода | очень мало | больше: нужно описать только в java. Комуникация с сервером. Больше примерно в 3 раза. |
| документация | По основной функциональности хорошая. На форуме довольно быстро отвечают. (Бесплатный форум) | Плохая. Документация расположена в форумах. На первый же пост не ответили. (Бесплатный форум) |
| настройка проекта | довольна простая. | довольно сложная. Некоторые пути жёстко прописаны. Проекты лучше генерировать автоматическим генератором. |
| количество багов (субъективно) | меньше (layout) | больше (обновление комбобоксов, binding) |
| компонентность | компоненты пишутся отлично от написания остальной части приложения. В визуальных компонентах всё хорошо инкапсулировано. | компоненты пишутся отлично от написания остальной части приложения. В визуальных компонентах инкапсуляция реализовано плохо. Например чтобы добавить картинку на кнопку нужно лезть в css. |
| Взаимодействие браузера и сервера | автомачически реализовано библиотекой | нужно писать врчную. |
| Взаимодействие с hibernate | прозрачно. можно использовать шаблон OpenSessionInView | Усложнено тк отображений происходит в другом процессе, при обычной сериализации сериализуются и hibernate proxy. Могут возникнуть LazyInitializationException |
| Время написания простого прриложения: hibernate+UI (ZK принято за еденицу) | 1 еденица времени | 3-5 едениц времени |
Вывод:
Если вам важна скорость написания приложения использйте ZK.
Если вам важна скорость работы приложения (у вас плохя сеть или большая нагрузка на сервер) то используйте extGWT
PS. Есть ещё интересные (модульностью и возможностью работы на десктопе) AJAX фреймворки RAP /j2s. Но т.к. я собственными руками их не использовал то обсуждать их не буду
Posted at 01:50AM дек 07, 2009 by Дима in Java | Комментарии[0]



