|
|
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Всем доброго времени суток! Проблема такая - нужно обосновать выбор фреймворка. Заказчик прямо уперся в GXT, а я чувствую одним местом, что где-то будет подвох. А может и не будет. :) Задача. Есть три продукта: 1. Промо-сайт: главная, блог, форум, админка. 2. RIA номер раз: основное приложение для бизнеса, куча гридов и прочей светотени. сложная логика (но это, наверное, к интерфесу мало касается). 3. RIA номер два: некий "конфигуратор" для предыдущего пункта. тут планируется создание неких моделей разных бизнес-процессов для предыдущего пункта. Ну в общем тоже вполне себе RIA. Причем решение как бы уже принято, но есть возможность переубедить. Работал только с ExtJS3. Времени на анализ/изучение практически нету. Если можно, "в двух словах" мнения высказать в разрезе озвученной задачи - где и какая ж.па нас ждет. :) Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 00:54:17 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
3. RIA номер два: некий "конфигуратор" для предыдущего пункта. тут планируется создание неких моделей разных бизнес-процессов для предыдущего пункта. Ну в общем тоже вполне себе RIA. Если вы поэтому направлению что-то выпустите в продакшен, то вы нереально круты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 01:08:12 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪ, Ну планы такие есть, может и наполеоновские, но есть. А по существу не выскажетесь? :) Хотя бы в стиле "это хорошо, это плохо" в рамках описанных условий. Я понимаю, что вопрос размыт, но таковы реалии... Этим нужно будет самому заниматься надолго и всерьез. ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 01:14:21 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
А по существу не выскажетесь? :) 1)Использовать готовую ЦМС 2-3)Я не люблю аякс, потому что неаяксовый интерфейс раза в 3-5 проще и быстрее закодить. Я бы фигачил на чистых сервлетах + Freemarker, но многим больше нравится SpringMVC - тоже вполне нормально. Если все же надо аякс, то советую Knockout.js или Backbone.js. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 02:04:05 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
А я люблю аякс, и не люблю ЦМС... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 10:39:47 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
ДжибсА я люблю аякс, и не люблю ЦМС... иначе говоря, ты предпочитаешь JS серверному коду. Ну и делай на том что по душе. Всё равно серверный код и JS работают совместно. Есть ньансы в коде на клиенте - отзывчивость\рюшечки\полный_контроль_событий мышки. Если у тебя БП будут квадратиками-стрелками, то без JS не обойтись. imho ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 11:49:24 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪ1)Использовать готовую ЦМС Например? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 11:57:03 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Странная подборка вариантов, jQuery все таки другого плана библиотека, чем ExtJs и GXT. А дальше выбор между GXT и ExtJs уже вопрос вкуса и привычки, на чем удобней писать на javascript или на Java/GWT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 13:09:06 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
umka_maxЗаказчик прямо уперся в GXT моя контора имеет пару довольно крупных проектов на GXT, вроде не жалуются. От себя добавить или показать ничего не могу, так как к разработке отношения не имею, но впечатления, как стороннего наблюдателя, сложились вполне положительные. Вернее от себя кое-что добавить могу в графу "против" - по моим наблюдениям (да выборка конечно не репрезентативна), когда нужно сделать что-то относительно сложное, народ все же ударяется во флекс. Как пример - дизайнер workflow в jira, или родовое дерево . Ну и чарты например, хотя и есть на js, но с флексом врядли смогут тягаться (хотя наверно здесь можно поспорить). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 13:09:48 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪЯ бы фигачил на чистых сервлетах + Freemarker твой рейтинг упал в моих глазах на пару пунктов. хотелось бы посмотреть на нафигаченный код. п.с. говорю со знанием дела, потому как сам в самом начале карьеры ява-программиста "фигачил на чистых сервлетах + Freemarker". но у меня есть хотя бы извинение, все мои знания о мире явы ограничивались на тот момент одной прочтенной книжкой и мне нужно было за 2 недели переделать проект, полностью написанный на println ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 13:13:44 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
umka_max...Заказчик прямо уперся в GXT... Забейте на такого заказчика, который ещё будет подсказывать как программы писать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 13:14:09 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪА по существу не выскажетесь? :) 1)Использовать готовую ЦМС 2-3)Я не люблю аякс, потому что неаяксовый интерфейс раза в 3-5 проще и быстрее закодить. Я бы фигачил на чистых сервлетах + Freemarker, но многим больше нравится SpringMVC - тоже вполне нормально. Если все же надо аякс, то советую Knockout.js или Backbone.js. А какое отношение SpringMVC имеет к вэбинтерфейсу? Вообще так и планируется SpringMVC + что-то из названия темы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 14:06:00 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
umka_maxВообще так и планируется SpringMVC + что-то из названия темы... ну GXT на сколько я понимаю SpringMVC не нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 14:09:27 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
chpashaну GXT на сколько я понимаю SpringMVC не нужен. Чей-та? GXT клинтская технология, SpringMVC - серверная. Или они тоже свой сервер пилят как у SmartGWT? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 14:12:07 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Blazkowiczchpashaну GXT на сколько я понимаю SpringMVC не нужен. Чей-та? GXT клинтская технология, SpringMVC - серверная. Или они тоже свой сервер пилят как у SmartGWT? я не особо в теме, но вроде там все на каких-то своих сервлетах, какой-то свой MVC. разве нет? у меня исходники проекта лежат, но я по диагонали их смотрел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 14:17:21 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
chpashaя не особо в теме, но вроде там все на каких-то своих сервлетах, какой-то свой MVC. разве нет? у меня исходники проекта лежат, но я по диагонали их смотрел. Я подозреваю что это какой-то простейший аналог gwt-servlet. Врядли оно умеет всё то же что и Spring MVC - разные сериализаторы, удобный friendly URL маппинг и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 14:30:53 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
ShSergeumka_max...Заказчик прямо уперся в GXT...Забейте на такого заказчика, который ещё будет подсказывать как программы писать.точно, и на деньги его забейте тоже ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 14:54:18 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
твой рейтинг упал в моих глазах на пару пунктов. хотелось бы посмотреть на нафигаченный код. п.с. говорю со знанием дела, потому как сам в самом начале карьеры ява-программиста "фигачил на чистых сервлетах + Freemarker". но у меня есть хотя бы извинение, все мои знания о мире явы ограничивались на тот момент одной прочтенной книжкой и мне нужно было за 2 недели переделать проект, полностью написанный на println Ты лучше аргументируй, почему чистые сервлеты и фримаркер - это плохо. Так общение будет интереснее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 16:47:58 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪТы лучше аргументируй, почему чистые сервлеты и фримаркер - это плохо я думал это очевидно, нет? окей, я скажу это вслух. это плохо, потому что тебе нужно реализовать самому массу вещей, которые где-то еще уже реализованы, как правило (да что там, практически всегда), гораздо лучше, надежней и эффективней. если ты не уникальный, многоопытный супергуру (а это очевидно не так), то скорей всего ты реализуешь некоторую часть из них, и это даже будет работать. но с расширением и поддержкой будет очень тяжко. фактически ты предлагаешь самолично наступить на все грабли, которые прилагаются к реализации рутинного функционала любого, мало-мальски сложного веб-проекта. и ради чего? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 17:04:21 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
з.ы. ну и вдогонку, ну вот как с теми же jQuery & Co быть? Юзать или самому на чистом js фигачить? А если юзать, то где проходит черта в решении "вот тут я готовое возьму, а тут велосипедец накатаю"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 17:07:51 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
потому что тебе нужно реализовать самому массу вещей, которые где-то еще уже реализованы Приведи пример функциональности, которой нет в сервлетах+фримаркер и которая есть где-то еще. з.ы. ну и вдогонку, ну вот как с теми же jQuery & Co быть? Юзать или самому на чистом js фигачить? jQuery - низкоуровневое API для манипулирования ДОМом. Относиться к нему надо как к ассемблеру, то есть использовать для реализации выскокоуровневых фреймворков, а для обычного кода по возможности избегать. А если юзать, то где проходит черта в решении "вот тут я готовое возьму, а тут велосипедец накатаю"? По ситуации, конечно. Есть библиотеки и фреймворки, которые решают несуществующие проблемы. Авторов этих фреймворков можно понять, потому что им хочется зарабатывать, но своих ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 17:39:49 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
но в свои проекты их тащить не надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 17:41:11 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪjQuery - низкоуровневое API для манипулирования ДОМом. Относиться к нему надо как к ассемблеру, то есть использовать для реализации выскокоуровневых фреймворков, а для обычного кода по возможности избегать. +1 Это не архитектурный фреймворк. Просто обёртки над 5-10 строками кода на чистом JS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 17:50:59 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪПриведи пример функциональности, которой нет в сервлетах+фримаркер и которая есть где-то еще навскидку: обработка параметров реквеста, их валидация и конвертация, i18n, передача модели во вьюхи. отдельной большой главой идет авторизация & co. которую мы, конечно же, тоже сами наваяем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 17:51:18 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
передача модели во вьюхи. Что это такое? навскидку: обработка параметров реквеста, их валидация и конвертация В чем проблема-то? отдельной большой главой идет авторизация & co. которую мы, конечно же, тоже сами наваяем. Какая именно авторизация? Ты приведи пример, что используя вот такой-то фреймворк ты можешь так-то имплементировать такую-то функциональность, а на сервлетах не можешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 18:09:06 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪпередача модели во вьюхи. Что это такое? как ты передаешь данные в хтмл. Йуный джавистЪнавскидку: обработка параметров реквеста, их валидация и конвертация В чем проблема-то? проблема в необходимости все это реализовать руками. желательно толково, а не лишь бы пахало. - получить параметры по строковому идентификатору (надо объяснять, почему плохо? надо воротить свой механизм именования, так что имя параметра как строка упоминался ровно один раз, а во фримаркер и сервлет попадал в виде константы) - сконвертировать строки в конечный тип, обработать ошибки - свалидировать данные, обработать ошибки - передать обратно в формы заполненные данные и сведения он ошибках для коррекции пользователем Йуный джавистЪотдельной большой главой идет авторизация & co. которую мы, конечно же, тоже сами наваяем. Какая именно авторизация? доступ к урл на базе ролей, доступ к методам на базе ролей Йуный джавистЪТы приведи пример, что используя вот такой-то фреймворк ты можешь так-то имплементировать такую-то функциональность, а на сервлетах не можешь.где я говорил, что не могу? вот нахрена прикидываться шлангом? перечитай еще раз мои посты. понятное дело, что, если фреймворки базируются на servlet api - нет ничего такого, что нельзя реализовать голыми сервлетами. я говорил, что придется изобретать колеса. много. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 18:20:59 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
- получить параметры по строковому идентификатору (надо объяснять, почему плохо? надо воротить свой механизм именования, так что имя параметра как строка упоминался ровно один раз, а во фримаркер и сервлет попадал в виде константы) Мб я тупой, но я ничего не понял. Как можно получить параметры, если не по строковому идентификатору? Что за механизм именования? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 18:46:16 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪ, наверно это не устраивает: Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 18:57:39 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. А как надо? Что не так в этом коде? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 19:03:48 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪМб я тупой, но я ничего не понял. Как можно получить параметры, если не по строковому идентификатору? Что за механизм именования?т.е. по остальному возражений нет, если ты из всего написал только про это? Petro123Йуный джавистЪ, наверно это не устраивает: Код: java 1. не устраивает необходимость указать каждый такой idpoi минимум дважды ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 19:04:20 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪ Код: sql 1. А как надо? что не так, я написал выше. на счет как надо, ну мне вот так нравится: Код: html 1. 2. 3. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 19:14:13 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Для полноты примера, а где настраивается валидация User, какие атрибуты обязательны, а какие нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 19:39:36 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
не устраивает необходимость указать каждый такой idpoi минимум дважды Дважды - это один раз в шаблоне, один раз в сервлете? А какая альтернатива есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 19:47:26 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪДля полноты примера, а где настраивается валидация User, какие атрибуты обязательны, а какие нет? есть 3 способа 1) JSR-303 2) Код: html 1. 2. 3. 4. 3) см. метод onValidateForm в моем примере 1) и 2) это валидация на клиенте 3) на сервере лично я предпочитаю 2+3, потому что (как я уже неоднократно писал) прибивая аннотации к доменному объекту user мы будем вынуждены тащить их за собой повсюду. возможно в данном случае это и не страшно, но я вот например не знаю, скомпилится ли код на андроиде. кстати сообщения об ошибках при валидации сгенерятся автоматом для базовых валидаторов, причем название поля будет в сообщении тоже переведено (если у нас есть <label for="login"> и ресурс login-label=Имя пользователя) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 19:55:16 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪА какая альтернатива есть? если на фримаркере, то лично я заводил для каждой формы энумы вида MY_ID("id"), скармливал их модели фримаркера, в разметке писал ${id} , а в контроллере getParameter(MY_ID), т.е. в разметке это по-любому строки, но хотя бы в контроллере константы. ну и плюс тут же ошибка при генерации страницы, если имя неверно (в отличии от простых строк). Хотя думаю можно даже энумы фримаркеру скормить. Итого велосипедец. или так как я в примерах привел. в них в разметке тоже фактически строка НО, благодаря поддержке фреймворка со стороны IDE (тоже аргумент кстати) - работает подсветка синтаксиса (user подчеркнет, если нет такого свойства в классе EditUser) , a также работает рефакторинг (если переименовать user.login -> user.login1 - это отобразится в разметке). Ну и опять же таки, при опечатке/не существующем свойстве - тут же ошибка рендеринга страницы в рантайме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 20:08:18 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Еще вопрос - я правильно понимаю что при GET запросе мы просто получим формочку, а при пост - будет попытка создать пользователя? Что это за фреймворк кстати? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 20:14:55 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪЕще вопрос - я правильно понимаю что при GET запросе мы просто получим формочку, а при пост - будет попытка создать пользователя? так точно. т.е. если в терминах Spring MVC, то EditUser это контроллер как минимум с двумя методами (в данным случае). Йуный джавистЪ Что это за фреймворк кстати? ну вот. все обернулось так, как будто я что-то рекламирую. это тапестри 5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 20:21:29 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
chpashaЙуный джавистЪЯ бы фигачил на чистых сервлетах + Freemarkerтвой рейтинг упал в моих глазах на пару пунктов. хотелось бы посмотреть на нафигаченный код. Лучше не обращайте внимания. По-моему это какой-то местный юмор для посвященных. Любой вопрос о фреймворках в конце концов сводится к сервлетам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 20:46:29 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Глюк))) У меня предложение). Чтобы меньше флейма написать пример вызова модального окна на этих 3х фреймворках. Дешево и сердито. Вдруг у аффтара больше ничего не надо)). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 21:47:17 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 21:52:33 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
авторa также работает рефакторинг (если переименовать user.login -> user.login1 - это отобразится в разметке). Непонятно, зачем такие переименования делать. К тому же если вы где-то в яваскрипте ссылаетесь на инпут с таким именем, то рефакторить уже нельзя, так как яваскрипт не отрефакторится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 22:00:29 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪНепонятно, зачем такие переименования делать зачем у ява бина вдруг понадобилось переименовать поле? странный вопрос. Йуный джавистЪ. К тому же если вы где-то в яваскрипте ссылаетесь на инпут с таким именем, то рефакторить уже нельзя, так как яваскрипт не отрефакторится.я уж если и ссылаюсь, то на id инпута, а не на геттер getLogin экземпляра user. по примеру завтра прокомментирую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 22:11:06 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪ, Пример замечательный)). Как пища для ума). Только для rich .... насыщенного ГУИ Шаблонные фреймворки не катят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 22:24:07 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Только для rich .... насыщенного ГУИ Шаблонные фреймворки не катят. vkontakte.ru - это насыщенный гуй? Такие сайты как контакт делаются на шаблонных js-фреймворках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 22:39:51 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
В мой пример вкралась ошибка - если валидация не прошла, то в шаблогизатор не передается то что ввел пользователь, но это элементарно исправить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 22:52:21 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪ, - ссылки есть? - а что думаешь насчет таблиц. - с третьей стороны, в контакте могут и на ASMe писать. Не тот масштаб. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 23:03:02 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
- ссылки есть? На js фреймворки? http://knockoutjs.com/ http://backbonejs.org/ - а что думаешь насчет таблиц. Не понял вопрос? Каких таблиц? - с третьей стороны, в контакте могут и на ASMe писать. Не тот масштаб. Проблемой является довольно высокий порог входа в яваскрипт, но у сильных яваскриптеров довольно быстро получается лепить интерфейсы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 23:29:12 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
У меня предложение). Чтобы меньше флейма написать пример вызова модального окна на этих 3х фреймворках. Дешево и сердито. Вдруг у аффтара больше ничего не надо)). С точки зрения веб-фреймворка модальное окно - это обычный див. То что у него стиль position:fixed - задается в css и никого не волнует кроме верстальщика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 23:40:54 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪ, - ссылки на то что в контакте на шаблонном движке http://vazelin.org.ua/archives/511/ - таблицы по БЛ, т.к. сложный элемент. Мне только один раз тут дали ссылку на JS-грид umka_maxRIA номер раз: основное приложение для бизнеса, куча гридов - порог вхождения, это да. Никому не нравится перетягивание одеяла кода JS <--> Java ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2013, 11:45:41 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
пардон за задержку, выходной Йуный джавистЪ Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. итого, твой пример - именно что пример, по завершенности он даже близко не подбирается к моему, потому что там законченное решение даже на случай, если у класса User 150 полей являющихся не только примитивами но и в свою очередь бинами типа Company, Group, Role, Department и т.д. При этом твой пример уже сейчас больше моего, а будучи полноценно реализованным будет на хорошее количество экранных листов. и это еще без реализации логики во view (мой view является где-то на 80% завершенным, не хватает только тонкой настройки например какие поля не отображать) И это еще без реализации ограничения доступа (у меня это будет либо <intercept pattern="**/edituser", либо @RequiresRoles("admin"), либо @RequiresPermissions("users:save") public void onSomeAction(EventContext eventContext) { ... }) так что термин "фигачить" очень удачно подходит к подобному коду, фигачить там прилично. ну и собственно если вам подобное дает ложное чувство "контроля" над проектом, то, как говорится, на здоровье. Но как по-мне - подобный поделки быстро превращаются в неуправляемый кошмар. В одном месте подкрутишь, в другом сломается. Наследнику проекта просто не завидую. Я и своему наследнику не завидую, потому переписываю по-тихоньку страницу за страницей с freemarker на tapestry. Разница в результате просто ошеломительна. P.S. фримаркер - хороший инструмент, но он гораздо лучше подходить для темплейтов писем, документов и т.д. html страницы (особенно достаточно сложные) на фримаркере очень быстро становятся монструозными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2013, 16:56:39 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
итого, твой пример - именно что пример, по завершенности он даже близко не подбирается к моему, потому что там законченное решение даже на случай, если у класса User 150 полей являющихся не только примитивами но и в свою очередь бинами типа Company, Group, Role, Department и т.д Я вижу, ты пропагандируешь такой подход - все параметры запроса берутся и суются в объект User. Пока класс состоит из фамилии, имя и отчества это работает. Потом в класс User добавляется поле isAdmin. Хитрый хакер при регистрации добавляет к запросу &isAdmin=true и сразу становится админом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2013, 17:52:58 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
авторГДЕ ЛОГИКА РЕАЛИЗУЮЩАЯ ПОКАЗ ОШИБКИ В ПОЛЕ, СОДЕРЖАЩЕМ ОШИБКУ? Очевидно, что в шаблонизаторе доступны переменные типа birthdate_message, которые должен отобразить в шаблоне верстальщик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2013, 18:00:57 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪЯ вижу, ты пропагандируешь такой подход - все параметры запроса берутся и суются в объект User. Пока класс состоит из фамилии, имя и отчества это работает. Потом в класс User добавляется поле isAdmin. Хитрый хакер при регистрации добавляет к запросу &isAdmin=true и сразу становится админом. Для этого есть DTO. А ещё лучше аннотации, как, например Ignore для JSON сериализатора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2013, 18:01:17 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
а что там за проблема с локалью? И я бы не мешал валидацию с показом ошибки и контроль типов (системная ошибка) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2013, 18:05:43 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪПотом в класс User добавляется поле isAdmin. Хитрый хакер при регистрации добавляет к запросу &isAdmin=true и сразу становится админом.ты иногда такие наивные вопросы задаешь, что я просто в ступор впадаю. наверно для того и существует метод onValidate, чтоб проверять, кто что имеет право делать. очевидно, что операции с ролями требуют от оператора наличия определенных прав. нет? так что хитрый хакер может вставлять туда хоть свой конец. несмотря на почти полную законченность мой пример все-таки всего лишь пример. там и валидации пароля нет, я ж не могу все бизнес-логику сюда вывалить. вернее могу, но зачем? ты тщетно пытаешься найти в моем примере недостатки в пользу твоего по той простой причине, что мой и твой делают в принципе одно и тоже. только мой с гораздо меньшим количеством кода, гарантированно большей надежностью и с гораздо большими возможностями кастомизации. я не отвергаю право на существование кастомых решений. но каждый раз их применение должно быть оправданно. Йуный джавистЪавторГДЕ ЛОГИКА РЕАЛИЗУЮЩАЯ ПОКАЗ ОШИБКИ В ПОЛЕ, СОДЕРЖАЩЕМ ОШИБКУ? Очевидно, что в шаблонизаторе доступны переменные типа birthdate_message, которые должен отобразить в шаблоне верстальщик.мне-то как раз очевидно. зато тебе не очевидно, где тут проблема (даю подсказку - проблема здесь в бездумном копипасте одного и того же кода на всех страницах) Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. чуешь разницу? хотя вряд ли, если у тебя все по принципу "для бешенной собаки семь верст не крюк". разве не ты жаловался, что на яве ничего меньше чем за X строчек кода не написать? (может и не ты, мне что-то так запомнилось) к тому же верстальщик знающий freemarker, really? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2013, 18:34:52 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Для этого есть DTO. А ещё лучше аннотации, как, например Ignore для JSON сериализатора. Пусть есть два сценария - первый когда пользователь сам регистрируется на сайте, а второй - когда один админ создает другого админа. Валидация в этих случаях должна быть совершенно разной, поэтому аннотации не катят. DTO тоже не очень, потому что два разных DTO, даже если отличаются на одно поле, являются в яве совершенно разными типами и с ними нельзя работать полиморфно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2013, 18:38:00 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Petro123а что там за проблема с локалью? проблема в том, что из его примера не очевидно, как реализуется показ локализованных ошибок в зависимости от настроек пользователя. особенно с учетом предыдущего топика, в котором Йуный Джавист говорил о том, что предпочитает статические классы. Вот мне и интересно посмотреть, как это все разрулилось в LocaleUtils , в который ни локаль текущая не передается, ни реквест - ioc он же не юзает, откуда тогда в LocaleUtils текущей локали юзверя взяться? Ну и плюс thread safety самому обеспечивать, хуле. Petro123И я бы не мешал валидацию с показом ошибки и контроль типов (системная ошибка) по сравнению с вызовом BeanUtils.set внутри валидации это уже мелочи. Собственно о том и речь - самостоятельно изобретая велосипеды мы делаем массу ошибок. Про потерю времени я уже молчу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2013, 18:42:30 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪПусть есть два сценария - первый когда пользователь сам регистрируется на сайте, а второй - когда один админ создает другого админа. Валидация в этих случаях должна быть совершенно разной, поэтому аннотации не катят. Ну, это смотря какие аннотации. Security навернуть сверху можно даже на свойства сущностей. Йуный джавистЪDTO тоже не очень, потому что два разных DTO, даже если отличаются на одно поле, являются в яве совершенно разными типами и с ними нельзя работать полиморфно. Наследование и интерфейсы в DTO никто не запрещает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2013, 18:43:39 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪПусть есть два сценария - первый когда пользователь сам регистрируется на сайте, а второй - когда один админ создает другого админа. Валидация в этих случаях должна быть совершенно разной, поэтому аннотации не катят. это чисто архитектурная задача с массой способов решения. что касается аннотаций, я бы тоже не стал здесь лепить аннотацию (потому что собственных данных объекта user не достаточно для валидации) . можно на пользовательской странице в onValidate устанавливать isAdmin принудительно в false, а на админской проверять есть ли права. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2013, 18:49:10 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
как реализуется показ локализованных ошибок в зависимости от настроек пользователя В методе валидации меняешь Код: sql 1. на Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2013, 18:50:21 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪкак реализуется показ локализованных ошибок в зависимости от настроек пользователя В методе валидации меняешь Код: sql 1. на Код: sql 1. а сразу почему так не написал, нету локализации в проекте? а если у меня локаль через куки, а если в урл? нужен фильтр, да? чуешь как наш мини-фреймворк обрастает мышцой кодом? так вот еще раз, если не понятно, куда я клоню - пока что ты под моим чутким руководством реализуешь кое-как одну за другой фичи, которые где-то еще уже есть. какой профит ты при этом имеешь, кроме того, что это "свое-родное", а то "чье-то чужое"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2013, 18:59:31 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
chpashaэто чисто архитектурная задача с массой способов решения. что касается аннотаций, я бы тоже не стал здесь лепить аннотацию (потому что собственных данных объекта user не достаточно для валидации) . можно на пользовательской странице в onValidate устанавливать isAdmin принудительно в false, а на админской проверять есть ли права. А по-моему аннотация авторизации на уровне свойства - самое то. Есть права у юзера, он её, видит. Либо видит и пишет. Либо не видит и не пишет. И никакой хакер не пролезет. Надо поменять свойство в воркфлоу без достаточных прав - выполняешь действие в коде, явно указывая право. Так вся Java секурити построена. Зато проверки не расползаются по всем контроллерам и прочим классам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2013, 19:00:33 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
BlazkowiczА по-моему аннотация авторизации на уровне свойства - самое то. у меня нет окончательно сложившегося мнения на этот счет. Blazkowicz Есть права у юзера, он её, видит. Либо видит и пишет. Либо не видит и не пишет. ты имеешь в виду спрятать User за интерфейсом и навесить на get/setAdmin секьюрити-аннотацию? BlazkowiczЗато проверки не расползаются по всем контроллерам и прочим классам. теоретически ты прав, но практически таких мест как-правило 1-2 (чаще 1), пока это так - not big deal (тем более что логику-то мы не дублируем). но на досуге надо подумать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2013, 19:10:13 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
ДАВАЙ НЕ ПО АНАЛОГИИ А ВСЕ 7-8 СТАНДАРТНЫХ ВАЛИДАТОРОВ И ПРОВЕРКИ НА ТО, ЧТО чИСЛО ЭТО ЧИСЛО, ДЕСЯТИЧНЫЙ РАЗДЕЛИТЕЛЬ ЭТО ДЕСЯТИЧНЫЙ РАЗДЕЛИТЕЛЬ И Т.Д. С ВЫДАЧЕЙ ПОНЯТНЫХ ЮЗВЕРЮ ОШИБОК несмотря на почти полную законченность мой пример все-таки всего лишь пример. там и валидации пароля нет, я ж не могу все бизнес-логику сюда вывалить. вернее могу, но зачем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2013, 19:10:36 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪДАВАЙ НЕ ПО АНАЛОГИИ А ВСЕ 7-8 СТАНДАРТНЫХ ВАЛИДАТОРОВ И ПРОВЕРКИ НА ТО, ЧТО чИСЛО ЭТО ЧИСЛО, ДЕСЯТИЧНЫЙ РАЗДЕЛИТЕЛЬ ЭТО ДЕСЯТИЧНЫЙ РАЗДЕЛИТЕЛЬ И Т.Д. С ВЫДАЧЕЙ ПОНЯТНЫХ ЮЗВЕРЮ ОШИБОК несмотря на почти полную законченность мой пример все-таки всего лишь пример. там и валидации пароля нет, я ж не могу все бизнес-логику сюда вывалить. вернее могу, но зачем ты некрасиво придираешься к словам. мой пример не закончен в плане отсутсвия бизнес-логики. твой не закончен в принципе. для сравнения примеров в них должно быть реализовано одинаковое количество фич. у тебя нет ни валидаторов, ни конвертеров типов ни даже полной инициализации объекта user. у меня это все есть. если ты планируешь и далее в том же духе писать, думаю дискуссию можно считать оконченной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2013, 19:19:35 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
если ты планируешь и далее в том же духе писать, думаю дискуссию можно считать оконченной. Ну, это ты во втором треде подряд пытаешься доказать мне что я быдлокодер. Мне даже интересно стало, что я такого написал на этом форуме что тебя это так обидело. Если что, то прости, я честное слово не специально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2013, 19:38:35 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪесли ты планируешь и далее в том же духе писать, думаю дискуссию можно считать оконченной. Ну, это ты во втором треде подряд пытаешься доказать мне что я быдлокодер. я пытаюсь указать на ошибки в суждении, не более. моей целью не является тебя каким-либо образом унизить. Йуный джавистЪ Мне даже интересно стало, что я такого написал на этом форуме что тебя это так обидело. да я не обижен. просто твоя критика часто не конструктивна и местами эмоционально. я парень горячий, но вроде бы в этом топике я волю чувствам не давал. если тебе показалось иначе, извини. Йуный джавистЪ Если что, то прости, я честное слово не специально. та ниче, просто не хотелось, чтобы топик скатывался в неконструктив, потому что топик интересный, хоть мы и далеко от темы ушли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2013, 19:59:16 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
<input type="text" name="login" value="${user.login!}" <#if login_message!false>class="error"</#if>/> <#if login_message!false><label class="error">${login_message}</#if> vs <input type="text" t:id="login" value="user.login" validate="required"/> А кстати, допустим верстальщик наверстал так что инпут в одном диве а валидационное сообщение в другом диве, можно ли такую верстку реализовать в рамках этого фреймворка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2013, 20:09:05 |
|
||
|
GXT vs ExtJS vs jQuery
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪА кстати, допустим верстальщик наверстал так что инпут в одном диве а валидационное сообщение в другом диве, можно ли такую верстку реализовать в рамках этого фреймворка? если я тебя правильно понял... так? блин, в хроме тэги sql.ru не хотят вставляться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2013, 20:20:05 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2129661]: |
0ms |
get settings: |
12ms |
get forum list: |
24ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
55ms |
get topic data: |
18ms |
get forum data: |
5ms |
get page messages: |
141ms |
get tp. blocked users: |
3ms |
| others: | 284ms |
| total: | 552ms |

| 0 / 0 |
