2010-12-16 4 views
0

Как я знаю, ext grid использует div, jquery slickgrid использует div. Невозможно использовать только таблицу html для создания богатой сетки ajax?Почему все виджеты в javascript используют div?

Я думаю, что использование javascript для создания рабочего стола, такого как приложение, является кошмаром? Каково ваше мнение? Я думаю, что HTML & HTTP предназначен для веб-сайтов в Интернете, а не для приложений B/S, работающих на интрасети или на LAN. изображение, в котором есть другой язык разметки, включает в себя множество виджетов, определенных в нем, например выпадающее меню, дерево, datagrid и т. Д., А браузеры реализуют этот язык ...

+1

В чем именно ваш ответ? Являются ли они альтернативой для div? Div уже достаточно прост, и табличный тег не используется по уважительным причинам. – Gerbrand 2010-12-16 11:58:10

ответ

2

Поскольку <div> является контейнером уровня блока, без семантического контекста. Это буквально просто контейнер, «разделительный блок», если хотите.

Проблема с использованием <table> заключается в том, что его следует использовать для табличных данных. Это как с точки зрения пуриста (т. Е. Это просто неправильно, чтобы использовать его для других вещей), так и с прагматической точки зрения (браузеры, вероятно, предположит, что это своего рода 2D-таблица и попытайтесь сделать ее соответствующим образом). Поэтому, если вы действительно хотите представить какую-то таблицу, это нормально, но рамки предлагают функциональность, которая применима в общем смысле, поэтому они не могут этого принять.

Divs избегают обеих этих проблем, не придавая особого значения их содержимому. Таким образом, браузеры не будут применять какой-либо специальный рендеринг, что делает их идеальной «прозрачной оболочкой» для применения соответствующих стилей CSS/Javascript.

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

+1

«Сетка» - это _for_ табличные данные. – sje397 2010-12-16 12:05:09

0

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

0

Таблицы делают много сложных вещей с макетом и т. Д., А также взаимодействие с заголовками и т. Д. И т. Д. И т. Д. Вы можете отключить все это, но тогда вы, в основном, подчинены элементам, которые ведут себя как divs.

Я полностью согласен с вашим вторым моментом - HTML & CSS не были разработаны с учетом современного веб-приложения. К счастью, Javascript довольно хорош и работает быстрее. Я думаю, что HTTP не слишком плохой (и будет много лучше, если WebSockets являются общими); это хорошо, как протокол для общения между ошибочными узлами. Написание настольных приложений в браузере не так просто, как могло бы быть.

Смежные вопросы