Подходит ли smartclient? - PullRequest
       67

Подходит ли smartclient?

0 голосов
/ 01 августа 2009

Как время ожидания SmartClient распространяется на тысячи пользователей, редактирующих сетки?

До этого я получал предупреждения, что ExtJS не подходит.

Ответы [ 3 ]

5 голосов
/ 11 января 2010

SmartClient имеет один компонент сетки, который выполняет как горизонтальную, так и вертикальную инкрементальную визуализацию, поэтому он обрабатывает очень и очень большое количество строк (несколько миллионов) и столбцов (несколько сотен) без снижения производительности.

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

Некоторые пользователи столкнулись с проблемами масштабируемости с помощью компонента сетки Ext и обсуждали его здесь на форумах SmartClient:

http://forums.smartclient.com/showthread.php?t=2678

Что касается масштабируемости сервера, то на самом деле компонент сетки вносит огромный вклад в масштабируемость на стороне сервера. Рассмотрим механизм адаптивной фильтрации сетки SmartClient:

http://www.smartclient.com/index.jsp#adaptiveFilter

Эта функция и связанная с ней функция «Адаптивная сортировка» сокращают 60-90% самых дорогих типов обращений к серверу (то есть тех, которые получают доступ и фильтруют / сортируют большой набор данных).

SmartClient широко использует этот подход интеллектуального повторного использования данных, чтобы избежать дорогостоящих операций на стороне сервера. Хороший обзор доступен в документации класса ResultSet; ResultSet используется в качестве объекта управления кэшем всеми компонентами, которые работают с наборами данных в SmartClient:

http://www.smartclient.com/docs/9.0/a/b/c/go.html#class..ResultSet

4 голосов
/ 01 августа 2009

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

Я не знаком со SmartClient, но в случае Ext, сетка работает очень хорошо для данных сетки малого и среднего размера (очень приблизительно, до ~ 50 строк на страницу, до ~ 10 столбцов данных) , Очевидно, что все это зависит от множества переменных, но это правда, что время рендеринга сетки в Ext увеличивается прямо пропорционально количеству данных, отображаемых за один раз. Это потому, что он использует довольно тяжелый DOM под крышками, компромиссом является богатый набор функций из коробки и гибкость, которая предоставляется для создания настраиваемых вложенных макетов строк. Он поддерживает разбиение на страницы для уменьшения проблем с производительностью, а также существует очень популярное расширение , которое обеспечивает загрузку строк по требованию (виртуальная прокрутка), что обеспечивает более высокую загрузку больших наборов данных. В примерах Ext также есть пример облегченной и более простой версии буферизованной загрузки, которая показывает отличную производительность с большим количеством данных.

Кроме того, в зависимости от ваших потребностей, в версии 3.0 появился новый легкий ListView компонент. Он не поддерживает все функции GridView, но если вам в первую очередь нужна сетка только для отображения, это может быть отличной альтернативой.

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

0 голосов
/ 02 августа 2009

спасибо за ваш ответ. У меня сложилось впечатление, что среднестатистическому Джо, заходящему на сайт с Ext, было бы обескураживаться, когда он сталкивался с длительным временем загрузки, которое также увеличивалось, если на нем было много людей. По этой причине я думал, что SmartClient будет лучше, но я не нашел никакого сравнения между ними. Может быть, я поспешил игнорировать ExtJS.

Я надеюсь связаться с кем-то, у кого есть опыт работы с SmartClient, чтобы помочь в разработке моего будущего сайта. Спасибо Еж

...