Комментарии 6
Спасибо за новость. Давно ждал обновления именно из-за Super Dev режима. В текущем виде отладка более менее тяжелого GWT приложения стоит кучу времени и нервов из-за неторопливости и неповоротливости Dev режима.
Интересно, запустится ли новый режим при отладке на external сервере.
Интересно, запустится ли новый режим при отладке на external сервере.
Я вижу, Comet так и не прикрутили :(
Основной бич GWT — это сериализация POJO-структур. Сделана она отвратительна, а точнее не сделана вообще. GWT-RPC в счет не берем, поскольку он предлагает сугубо внутреннюю имплементацию служащую лишь для вызовов. Поэтому ни клонировать, ни «послать-как-строку» при помощи него нельзя. И что странно, до сих пор практически нет нормальных библиотек, делающих простой маршаллинг/демаршаллинг объектов GWT.
Всем, кому знакома проблема, рекомендую фреймворк JBoss Errai.
Основной бич GWT — это сериализация POJO-структур. Сделана она отвратительна, а точнее не сделана вообще. GWT-RPC в счет не берем, поскольку он предлагает сугубо внутреннюю имплементацию служащую лишь для вызовов. Поэтому ни клонировать, ни «послать-как-строку» при помощи него нельзя. И что странно, до сих пор практически нет нормальных библиотек, делающих простой маршаллинг/демаршаллинг объектов GWT.
Всем, кому знакома проблема, рекомендую фреймворк JBoss Errai.
А RequestFactory чем не подходит?
На Errai сейчас как раз собираюсь посмотреть. Судя по всему плюшек там побольше. Взять хотя бы встроенный Comet.
На Errai сейчас как раз собираюсь посмотреть. Судя по всему плюшек там побольше. Взять хотя бы встроенный Comet.
RequestFactory служит для т.н. connected-структур — расшареного графа объектов между сервером и клиентом. Это немного не то. Мне нужна была простая сериализация объектов в строку и обратно, причем работающая одинаково как на клиенте, так и на сервере. Со строкой уже можно много что делать: гонять ее туда-сюда по comet-у или вебсокету, засовывать как параметр в GET или POST, использовать ее в нативном JavaScript, сохранять в cookie или persistence storage, и даже передавать между окнами.
Вчера я, наконец, решил эту проблему. Ничего не оставалось как сесть, и написать свою библиотеку. Сегодня только залил. Вот, может кому и пригодится: code.google.com/p/gwt-streamer/
Вчера я, наконец, решил эту проблему. Ничего не оставалось как сесть, и написать свою библиотеку. Сегодня только залил. Вот, может кому и пригодится: code.google.com/p/gwt-streamer/
А AutoBean тоже был не в тему? Он справляется с описанными вами задачами
AutoBean не работает с полями, а вместо этого делает враперы. У меня достаточно большая модель, и постоянно растет. Прописывать каждый класс в Factory накладно. К тому же он не решает проблему с десериализацией объектов.
AutoBean<Person> bean = AutoBeanCodex.decode(factory, Person.class, json);
Чтобы десериализовать объект я должен сначала распознать его класс. А для этого нужно его предварительно записать в какую-нибудь хеш-таблицу: Class.forName( «Person» ) в GWT не работает.Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Вышел GWT 2.5.0.RC1