Home
Всякая всячина
Свежачок 

Реклама

Настроить
Решил упорядочить, чтобы не писать по новой, когда снова спросят.

1)Фреймворк заточен на то, чтобы абсолютно любое действие пользователя летело на сервер, где и обрабатывалось бы. Банальный дизейбл/енейбл элементов в зависимости от состояния чекбокса очень трудно и через ж... сделать яваскриптом. При этом приходится использовать конструкции action=" onchange: setSomeFields( \#{self}, \#{idTextBox} ) ". Если нужно отслеживать, что пользователь вводит в инпуте, то событие по вводу нового символа стучится на сервер.
2)Парсинг ZK превращает страницу в полный п. Идентификаторы контролов не сохраняются. Так что для работы с ними из ява скрипта надо писать что-то вроде document.getElementById( idTextBox ).childNodes[0].childNodes[0], где idTextBox - хитрым способом переданный в яваскрипт параметр.
3)Фреймворк очень располагает программистов к захреначиванию ява-кода в в страницы. Одна из страничек в проекте содержала четыре разных языка: jsp, javascript, java и zul (птичий язык ZKoss'а)
4)Для некоторых банальных вещей не сделана поддержка динамических параметров (под динамическими подразумеваю параметры, которые могут обновляться через AJAX-запросы)
5)Крайне хреновая документация, размазанная по нескольким Javadoc, туториалу, small talks, developer's guide, developer's reference и форуму. Причем в своей статье, как делать то или иное, могут запросто дать ссылку на тему в форуме, где это обсуждалось, и даже не скопировать в статью саму суть.
6)Свой птичий язык ZUL, который по идее должен был заменить JSP, но не имеет банальных тегов if, которые бы не были завязаны на контроле. Причем если для конкретного контрола можно задать условие, то оно не может быть вычисляемым и динамическим (насчет динамики, правда, не уверен). То есть банальное if="${!someBoolField}" не прокатит. Надо заводить отдельное поле notSomeBoolField и писать if="${notSomeBoolField}". Возможности сравнить значение поля с числом, соответственно, нет.
7)Возможно этот пункт относится ко всем фреймворкам с сохранением состояния. Но конкретно с ZK была проблема, что делать, если пользователь открывает ссылки в новых окнах/закладках? Состояние хранится для конкретной страницы. Можно увеличить количество хранимых состояний страниц, но что делать, если пользователь откроет N+1 страницу?
8)Не совсем явная интеграция со Spring и JSP.

Если знаете, что какой-то пункт ошибочный, то, плз, пишите. Не стесняйтесь.
15-Апр-2009 03:16 am - Осторожно, ZK
Задача: есть класс
public class MyObj
{
  private boolean isEnable;
  private boolean check1;
  private BigDecimal money1;
  private BigDecimal money2;
  private Boolean check2;
}
Есть соответствующие им геттеры и сеттеры.
Печальное продолжение под катом )



Такое чувство, что их делают люди, чей девиз "Лучше купить новое железо, чем нанять грамотных специалистов". Или чем еще может быть обусловлено желание на каждый чих на клиенте стучаться на сервер? ZK при обработки у текстбокса события onChanging на каждое нажатие клавиши посылает аджакс-запрос. Пипец...
При этом возникает чувство, что доступ к возможностям клиентской стороны (яваскрипт, то бишь) сознательно затрудняется. Другого объяснения, почему я должен писать что-то вроде action=" onchange: setSomeFields( \#{self}, \#{idTextBox} ) " для вызова скриптового метода, я не вижу. А в самом методе для доступа к текстбоксу с идентификатором idTextBox (это айди до компиляции, после нее там вообще мусор, не поддающийся человеческому прочтению) надо написать что-то вроде document.getElementById( idTextBox ).childNodes[0].childNodes[0] - и вот это будет нужный нам текстбокс, если в следующей версии ZK что-нибудь не изменится.
Еще один интересный случай: как вызвать яваскрипт сразу после загрузки страницы?
А сам сайт с форумом как бы говорит нам: "Весь Ajax - говно". Особенно форум, там за пару минут можно почувствовать на себе все минусы неграмотного применения этой технологии. Ну и размазанная по геттинстартедам, смолтолкам, гайдам, референсам, апи, вики, форуму, факам и еще невесть чему документация оптимизма не добавляет. Они в своих доках запросто могут сослаться на тему в форуме, мол там все было объяснено, нам влом сюда копировать.
Жопа, короче. Или я не умею их готовить. Пока мысль, что самоличное написание всех красивых контролов и интеграция DWR или Jason-RPC для Ajax'а в Spring Web MVC было бы разумнее и быстрее, набирает баллы.

Есть что возразить? Можете посоветовать другой фреймворк?

Реклама

Настроить
This page was loaded Дек 5 2009, 4:01 am GMT.