SlickGrid Vs JQGrid

Я пытаюсь решить между slickgrid и jqgrid. Я думаю, что оба они многофункциональны. Jqgrid имеет отличную документацию, поэтому ее легко запустить и запустить.

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

Edit1: @oleg - Спасибо за ваш ответ. Извините, я боялся, что, возможно, я не предоставил достаточно подробностей. Хотя у меня нет всех прецедентов, но я буду использовать как локальные данные, когда данные малы, так и виртуальная прокрутка на стороне сервера, фильтрация, сортировка и т.д., Когда данные велики. Json будет основным источником данных. Я пытался получить материалы от кого-то, кто мог бы понять внутренности обеих сеток. Я не понимаю реализации на стороне клиента, чтобы судить о них сам. Один из моих коллег упомянул, что гладкая сетка может быть лучше, поскольку она была разработана с поддержкой виртуального рендеринга и поддержки клавиатуры. Мой вопрос открыт, но основная реализация сетки может сделать его эффективным в более сложных сценариях, т.е. Подрешетках, деревьях и т.д., Если нет никакого отхода от основного дизайна для обработки любого из них.

Хорошо, основываясь на экспертной оценке jqgrid ура, как бы вы отреагировали на этот фрагмент из Slick Grid?

"Сетка и данные Ключевое различие между SlickGrid и другой реализацией сетки я видел в том, что они слишком много внимания уделяют тому, чтобы понимать и работать с данными (поиск, сортировка, синтаксический анализ, загрузка ajax и т.д.) И недостаточно для того, чтобы стать лучшей сеткой "(или, в случае редактируемых сеток, электронная таблица). Это здорово, если все, что вы хотите сделать, это" украсить" HTML-ТАБЛИЦУ или шлепать передний конец в простой список, но слишком негибким для чего-либо еще. Данные сложны. Он имеет деловые правила. Он имеет неинтерактивные свойства. Редактирование одного свойства элемента может привести к каскадным изменениям, изменяющим другие свойства или даже другие элементы. Он имеет зависимости. То, что я говорю, заключается в том, что обработка данных лучше всего оставить разработчику с помощью управления сеткой. Попытка вставить все это в реализацию сетки, и API ограничит ее применимость и добавит значительного раздувания. SlickGrid использует другой подход. В простейшем случае он обращается к данным через интерфейс массива (т.е. Использует "dataitem" для доступа к элементу в заданной позиции и "data.length" для определения количества элементов), но API структурирован таким образом что очень легко заставить сетку реагировать на любые возможные изменения в базовых данных ".

Изменить 2: Фрагмент из Сообщение форума Datatables: "* DataTables пытается создать таблицу HTML. Это видно, например, с помощью тега TABLE с помощью DataTables, тогда как SlickGrid использует элементы DIV для создания отображения, которое выглядит как таблица. Таким образом, существует ряд методов, таких как виртуальный рендеринг, которые можно использовать с DIVs, но не с таблицей. Невозможно просто отобразить строки 100-110, а не первые 100 в таблице, но это не проблема с DIV, поэтому я боюсь, что это не что нужно сделать, это преобразовать DataTables в разметку тегов DIV, но тогда вы потеряете основную цель DataTables, которая фокусируется на прогрессивном улучшении и доступности. *"

Спасибо

Ответ 1

Я посмотрел на jqGrid и SlickGrid и обнаружил, что SlickGrid гораздо элегантнее написан; для большинства случаев использования SlickGrid требуется меньшая конфигурация; Однако jqGrid нуждается в меньшей конфигурации для настройки более сложных случаев (таких как виртуальная прокрутка);

jqGrid может иметь лучшую документацию, но часть соединения на стороне сервера для jqGrid покрывается коммерческим предложением, а документация по этой части труднее получить, чем для клиентской стороны.

С другой стороны, у SlickGrid есть несколько отличных примеров, которые охватывают большинство случаев использования, и источник полон комментариев и доступен для всех, у кого есть некоторые промежуточные знания javascript и jquery.

Ответ 2

Используя оба jqGrid и slickgrid в производстве/гнев, вот мои 2 цента: jqGrid было очень легко начать и приключиться. Однако мы быстро оказались в затруднении с тем, чтобы соответствовать тому, что мы хотели, чтобы делать вещи в jqGrids. Мы также обнаружили, что возможности редактирования трудно реализовать, и (из памяти - это было год назад) это вынудило вас в редактирующую строку строку, а не редактирование ячейки, которая не работала хорошо.

С гладкой сеткой мы еще не ударили по отсутствующей функции/мы не могли легко подключиться. Документация была довольно несуществующей, но теперь она намного лучше (https://github.com/mleibman/SlickGrid/wiki/_pages), но на сегодняшний день мы только что перескакивали в исходный код. Должен сказать, что api является одним из лучших, что я видел, и производительность с большими объемами данных и сложными редакторами была превосходной (некоторые проблемы на ie7, но никогда не были изолированы от сетки в сравнении с нашей инфраструктурой MVC и сложными редакторами)

В целом, я настоятельно рекомендую использовать гладкую сетку

Ответ 3

Какой язык сложнее изучать: китайский, финский или язык какого-то небольшого народа Индианы?

Сравнительные вопросы всегда слишком сложны. Вы должны иметь людей, которые действительно хорошо знают все продукты, которые вы хотите сравнить. Кроме того, вы должны определить, какую часть продукта вы планируете использовать именно сейчас, и которая может быть важна в будущем. Используете ли вы данные JSON или XML для ввода сетки или используете локальные данные JavaScript? Нужно ли использовать стандартную сетку или сетку с субгридами, деревом или сеткой с группировкой?

Прежде чем вы более четко не определите область использования сетки, вы не получите никакого хорошего ответа. В конце иногда может быть даже важно, какое ноу-хау у вас есть в настоящее время, и какая документация или примеры вы можете легко понять и использовать сами. Опыт других людей, которые вы можете использовать, может быть более важным, чем особенности продукта. Если вы посмотрите на количество вопросов на stackoverflow.com с тегами "jqgrid" и с тегом "slickgrid" вы можете увидеть, в каком товаре может помочь ваш stackoverflow

Ответ 4

Я согласен с @user175528. Мы также широко использовали сетку в нашем приложении, а встроенные в нее форматирующие элементы, редакторы и валидаторы очень просты в использовании и легко записали собственные.

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

Изначально, когда я начал использовать slickgrid, я завернул его в другой виджет, чтобы в случае необходимости мог перейти на другого провайдера, но на данный момент он работает безупречно.

Я еще не обходился, но в своем блоге я буду создавать хорошие примеры с slickgrid.