Инструменты разработки Веб на основе БД noSQL
Оцените новый сайт инструментов разработки Веб на основе движка БД noSQL.
При загрузке дерева ДОМ все элементы получают уникальный первичный ключ. БД предоставляет индексацию элементов дерева для мгновенной выборки без запуска ф-ции document.getElementByID() и другие полезные фичи. Сайт http://js2dx.com |
JS2DX,
по-моему выбор элемента через byId гораздо быстрее запихивания всего дома в базу. |
Запись элементов в базу происходит один раз при загрузке. Для сайтов с тысячами элементов и десятками динамических страниц разница в производительности может оказаться существенной. Кэширование элементов одна из фич 2DX которая есть платформа одностраничного приложения.
Вот как определяются отдельные динамические страницы: // дерево ДОМ: [{div:{innerHTML:'A'}}, {div:{innerHTML:'B', nodes:[{div:{innerHTML:'B_1'}}, {div:{innerHTML:'B_2'}}]}}, {div:{innerHTML:'C', nodes:[{div:{innerHTML:'C_1', nodes:[{div:{innerHTML:'C_1_1'}}]}}, {div:{innerHTML:'C_2'}}]}}] // страницы с элементами (A), (B, B_1, B_2) и (C, C_1, C_1_1, C_2) // определяются следующими псевдо "href" : [0] // эл. A [{1:[0,1] // эл. B, B_1, B_2 [{2:[{0:[0]}, 1]}] // эл. C, C_1, C_1_1, C_2 |
JS2DX,
Подожди... я недопонял - ты предлагаешь вышеуказанным способом [{div:{innerHTML:'A'}}, формировать дом? Я с ума сойду с такими коллекциями |
JS2DX,
([]+{})[!+[]+!+[]<<+!+[]] +(prompt+([]+[]))[+[+!+[]+[+[]]]-+!+[]] +([![]]+[][[]])[+!+[]+[+[]]] +([]+{})[+[+!+[]+[+[]]]/[!+[]+!+[]]] +([]+{})[(+!+[]+!+[]+!+[]<<+!+[])+!+[]] +(![]+[])[+[]] +(+[][[]]+[]+[])[+!+[]] +([![]]+[][[]])[+!+[]+[+[]]] +(![]+[])[!+[]+!+[]]; |
Это дерево в формате JSON, или вернее JS тк включает ф-ции и поддерживает ключи числового вида. Такой стринг может быть получен из БД сервера, например MongoDB, путем SQL. Вот пример целого дерева ДОМ (содержание сайта JS2DX.COM) http://js2dx.com/webdom.js
2DX |
JS2DX,
Ты вот хорошо думаешь про оптимизацию но твой путь добавляет лишнюю инстанцию между мной и браузерным домом - базу данных с деревом json Просто есть фреймы с виртуальным домом которые тоже сохраняют куски дерева в памяти и проводят сравнения. Куски, не весь дом, только те которые я им скажу |
С частичной индексацией полная сериализация содержания веб страниц выглядела бы проблематичной. Сохранение 100% содержания, включая пользовательский ввод, одна из важных фич платформы.
|
Движок загружает 20-50 тысяч ДОМ елементов без задержек, скоросто отображения страницы 10-20 мс. Загружаю страницу с >2миллионов элементов, база и страница работают нормально.
На сайте так же появился живой инструмент БД запросов. |
Это все замечательно, но как вы собираетесь индексироваться поисковыми системами?
Непросто будет заставить поисковики выполнять ваш JS. И, если например, ссылки в JSON поисковик еще может проиндексировать, то у вас псевдо-href. Например, если есть уже готовый статический контент страницы(пусть даже генерируемый сервером) и ссылки вида http://domain.ru/url#anchor могут быть проиндексированы и сегментированы, то здесь речь идет о полной генерации контента средствами движка и поисковик просто не найдет точки входа. Это проблема всех решений с rooter примочками(например ангуляр). Они просто отсутствуют в индексе, а значит - это проблема для бизнеса. |
Часовой пояс GMT +3, время: 15:45. |