Comments 45
Спасибо за статью.
Как раз собирался делать FAQ для сайта - думал заказывать с нуля написание раздела, так оказывается всё можно просто нагенерить программами.
Как раз собирался делать FAQ для сайта - думал заказывать с нуля написание раздела, так оказывается всё можно просто нагенерить программами.
Тема немного некорректная. Тут приведены же не только деревья для Mootools.
Странно, что нет в списке mooTree (mootree.mindplay.dk).
Странно, что нет в списке mooTree (mootree.mindplay.dk).
Приятный обзор. Разве что возможно стоило бы для каждой версии чётче прописать наличие-отсутствие таких фишек как динамическая загрузка нодов, DnD, checkboxes, custom nodes и т.д.
И ещё: "не умеет переносить строчки елемента узла" глаза режет. И с ошибкой, и непонятно. :)
И ещё: "не умеет переносить строчки елемента узла" глаза режет. И с ошибкой, и непонятно. :)
А еще хотелось бы увидеть оценки производительности. Какого размера дерево с каким уровнем вложенности оно переваривает без тормозов юзер интерфейса, плюс наличие поддержки клавиатуры. На последнее, как ни странно, большинство писателей компонент забивают большой болт, а без нее компонент не может претендовать на использование в серьезных проектах. ИМХО
Вначале писал статью о своей реализации дерева, и понял что без небольшого обзора других модулей статья будет менее полезна читателям habra.
Т.к. модулей на mootools не так уж и много, включил в обзор другие фреймворки.
Я согласен, что многие критерии оченки качества дерева в обзоре не описаны и тесты на ресуркоемкость и производительность тоже нужны.
Раз я уже взялся за это дело, напишу тесты, добавлю оценку по поддежке клавиш управления, динамической загрузке нодов, DnD, checkboxes, custom nodes и опубликую вторую (расширенную) часть обзора и назову ее "Обзор DHTML-деревьев на JavaScript".
Т.к. модулей на mootools не так уж и много, включил в обзор другие фреймворки.
Я согласен, что многие критерии оченки качества дерева в обзоре не описаны и тесты на ресуркоемкость и производительность тоже нужны.
Раз я уже взялся за это дело, напишу тесты, добавлю оценку по поддежке клавиш управления, динамической загрузке нодов, DnD, checkboxes, custom nodes и опубликую вторую (расширенную) часть обзора и назову ее "Обзор DHTML-деревьев на JavaScript".
Спасибо за обзорчик, открыл для себя Mif.Tree - на первый взгляд отличная штука!
Вот еще одна реализация дерева: Alder Tree
Вот еще одна реализация дерева: Alder Tree
Рекомендую добавить в статью замечательный dTree (http://destroydrop.com/javascripts/tree/).
Ну конечно про Yahoo Tree View вы не написали...
есть ещё куча бесплатных вариантов на GWT, но его нельзя назвать js-фреймворком
а они все генерят такой же валидный, удобный для поисковиков и стилизации код, как gwt-Tree?
ну со стилизацией и валидностью проблем нет, а вот насчёт поисковиков вы, увы, правы
еше есть jQuery SimpleTree Drag&Drop, демо
еше есть jQuery SimpleTree Drag&Drop
http://news.kg/wp-content/uploads/tree/index_ru.html
http://news.kg/wp-content/uploads/tree/d&d/
http://news.kg/wp-content/uploads/tree/index_ru.html
http://news.kg/wp-content/uploads/tree/d&d/
Спасибо за такой обзор! Как вы удачно подметили: "Многим разработчикам рано или поздно приходилось иметь дело с древовидным списком". Самое место в закладках!
Когда передо мной встала задача реализовать дерево, то я для себя почему-то, решил: "JavaScript'а будет по-минимому". Переделал Лебедевсое дерево с ветками. Плюс добавил возможность сохранять состояние дерева в cookie. При Открытии/закрытии и записи в cookie используется JavaScript, а в остальном CSS+HTML.
Когда передо мной встала задача реализовать дерево, то я для себя почему-то, решил: "JavaScript'а будет по-минимому". Переделал Лебедевсое дерево с ветками. Плюс добавил возможность сохранять состояние дерева в cookie. При Открытии/закрытии и записи в cookie используется JavaScript, а в остальном CSS+HTML.
в избранное. мутулс рулез
Деревья в пользовательском интерфейсе - большое зло.
У меня коннект отвалился, я аргументацию не написал.
Естественно сложнее сделать поиск с автоподстановкой, чем залепить дерево-рубрикатор, но дерево не решает проблемы быстрого поиска нужной информации и ломает отношения многие-ко-многим.
Если вы по какой-то причине используете дерево на сайте, значит вы не смогли решить задачу удобного представления информации (напоминаю, что мы говорим о сайтах). Уверен, что большинство пользуется индексом в справочной системе, а вовсе не оглавлением.
Дерево - это выражение лени дизайнера интерфейса.
Естественно сложнее сделать поиск с автоподстановкой, чем залепить дерево-рубрикатор, но дерево не решает проблемы быстрого поиска нужной информации и ломает отношения многие-ко-многим.
Если вы по какой-то причине используете дерево на сайте, значит вы не смогли решить задачу удобного представления информации (напоминаю, что мы говорим о сайтах). Уверен, что большинство пользуется индексом в справочной системе, а вовсе не оглавлением.
Дерево - это выражение лени дизайнера интерфейса.
подписываюсь. Ещё добавлю: большинство дизайнеров вообще не догадываются, что на клавиатуре есть управляющие клавиши и с помощью них можно также пользоваться браузером, а не тыкать мышкой по деревьям и прочим модным красивостям. Таким стоит ознакомиться с Web Accessibility Initiative
Не всегда требуется "дерево-рубрикатор". Мне было необходимо реализовать интеллектуальную маршрутизацию вызовов, которая по-сути, и представляет собой древовидную структуру. Каким же образом, если не в виде дерева отображать информацию о маршрутизации?
С вами согласен только частично. Предложение "Если вы по какой-то причине используете дерево на сайте, значит вы не смогли решить задачу удобного представления информации (напоминаю, что мы говорим о сайтах)" звучит очень категорично.
С вами согласен только частично. Предложение "Если вы по какой-то причине используете дерево на сайте, значит вы не смогли решить задачу удобного представления информации (напоминаю, что мы говорим о сайтах)" звучит очень категорично.
Скриншот вашего дерева можно? Правда интересно.
Ничего особенного в дереве нет. Но уважу ваше любопытство =)

Рисунок представляет собой профиль по которому строится маршрутизация.
Прошу не пинать меня: я не дизайнер. Проект пока в разработке. Маршрутизация представляет собой не граф, а именно дерево. Хотелось предоставить пользователю в максимально интуитивно-понятном виде.

Рисунок представляет собой профиль по которому строится маршрутизация.
Прошу не пинать меня: я не дизайнер. Проект пока в разработке. Маршрутизация представляет собой не граф, а именно дерево. Хотелось предоставить пользователю в максимально интуитивно-понятном виде.
Спасибо! Я правильно понимаю, что дерево представляет собой ветвящийся алгоритм маршрута телефонного звонка, аля я позвонил в колл-центр, а мне говорят "чтобы .. нажмите 1, чтобы ... нажмите 2"?
Да, вы всё поняли совершенно верно. Но только не в Call-центр. Будет реализована услуга "Виртуальный офис" в одной из фирм. Любой желающий сможет купить вирт. номер и задать необходимый для него алгоритм маршрутизации.
Пока только по предположениям, деревья будут не очень "разлапистыми" =) Так что, как мне кажется, выбранный способ отображения вполне годиться.
P.S.: если я допустил ошибку или не прав, то хотелось бы, чтобы вы мне объяснили, был бы рад и благодарен. Но мне почему-то кажется, что другой способ был бы не очень удобен.
Пока только по предположениям, деревья будут не очень "разлапистыми" =) Так что, как мне кажется, выбранный способ отображения вполне годиться.
P.S.: если я допустил ошибку или не прав, то хотелось бы, чтобы вы мне объяснили, был бы рад и благодарен. Но мне почему-то кажется, что другой способ был бы не очень удобен.
Тогда я порекоммендую вам вот что:
Обратите внимание на GUI для Lego Mindstorms и Эппловский Finder, мне кажется, что вы почерпнете оттуда массу интересных идей, которые в итоге дадут вашему проекту конкурентное приемущество перед вашим оппонентами. Ведь они, наверняка свято верят в "удобство" деревьев.
Обратите внимание на GUI для Lego Mindstorms и Эппловский Finder, мне кажется, что вы почерпнете оттуда массу интересных идей, которые в итоге дадут вашему проекту конкурентное приемущество перед вашим оппонентами. Ведь они, наверняка свято верят в "удобство" деревьев.
> то деревья разделов и т.п. давно стали привычной частью всевозможных админок
Потому что один сделал, и за ним потянулись все. В истории веб-дизайна миллион случаев следования неверному примеру.
> в случае, когда юзер впервые погружается в тему и не знает, что искать, он ему не поможет:)
Высосано из пальца. Ситуация про сферического коня в вакууме.
> который оптимально подходит для конкретной задачи и структуры данных.
Не путайте структуру и представления. Юзера врядли волнуют зависимости таблиц в вашей БД.
> Что касается поиска с автоподстановкой (кстати, сделать его не сложнее, чем качественное дерево с постепенной подгрузкой подветвей)
А я не про техническую сторону говорю, а про правильный алгоритм поиска, решающий задачу. Вы думаете пользователь будет переться от того, что у вас дерево ветви динамически подгружает?
> огулом хаять все остальное.
Вы уверены что понимаете смысл выражения "хаять огулом"?
Потому что один сделал, и за ним потянулись все. В истории веб-дизайна миллион случаев следования неверному примеру.
> в случае, когда юзер впервые погружается в тему и не знает, что искать, он ему не поможет:)
Высосано из пальца. Ситуация про сферического коня в вакууме.
> который оптимально подходит для конкретной задачи и структуры данных.
Не путайте структуру и представления. Юзера врядли волнуют зависимости таблиц в вашей БД.
> Что касается поиска с автоподстановкой (кстати, сделать его не сложнее, чем качественное дерево с постепенной подгрузкой подветвей)
А я не про техническую сторону говорю, а про правильный алгоритм поиска, решающий задачу. Вы думаете пользователь будет переться от того, что у вас дерево ветви динамически подгружает?
> огулом хаять все остальное.
Вы уверены что понимаете смысл выражения "хаять огулом"?
http://nickmitin.habrahabr.ru/blog/48003… - я вот даже топик сделал, так сказать, о наболевшем.
Спасибо за комплимент.
Справедливости ради - у нас есть и бесплатная версия.
Андрей Кулинич - разработчик Zapatec.Tree
Справедливости ради - у нас есть и бесплатная версия.
Андрей Кулинич - разработчик Zapatec.Tree
Sign up to leave a comment.
rdTree — DHTML-дерево на MooTools