Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Инструменты разработки Веб на основе БД noSQL (https://javascript.ru/forum/project/65175-instrumenty-razrabotki-veb-na-osnove-bd-nosql.html)

JS2DX 01.10.2016 18:05

Инструменты разработки Веб на основе БД noSQL
 
Оцените новый сайт инструментов разработки Веб на основе движка БД noSQL.

При загрузке дерева ДОМ все элементы получают уникальный первичный ключ.

БД предоставляет индексацию элементов дерева для мгновенной выборки без запуска ф-ции document.getElementByID() и другие полезные фичи.


Сайт http://js2dx.com

Coriolan161 01.10.2016 19:46

JS2DX,
по-моему выбор элемента через byId гораздо быстрее запихивания всего дома в базу.

JS2DX 02.10.2016 08:04

Запись элементов в базу происходит один раз при загрузке. Для сайтов с тысячами элементов и десятками динамических страниц разница в производительности может оказаться существенной. Кэширование элементов одна из фич 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

Coriolan161 02.10.2016 22:02

JS2DX,
Подожди... я недопонял - ты предлагаешь вышеуказанным способом
[{div:{innerHTML:'A'}},

формировать дом?

Я с ума сойду с такими коллекциями

Coriolan161 03.10.2016 20:53

JS2DX,
([]+{})[!+[]+!+[]<<+!+[]]
+(prompt+([]+[]))[+[+!+[]+[+[]]]-+!+[]]
+([![]]+[][[]])[+!+[]+[+[]]]
+([]+{})[+[+!+[]+[+[]]]/[!+[]+!+[]]]
+([]+{})[(+!+[]+!+[]+!+[]<<+!+[])+!+[]]
+(![]+[])[+[]]
+(+[][[]]+[]+[])[+!+[]]
+([![]]+[][[]])[+!+[]+[+[]]]
+(![]+[])[!+[]+!+[]];

JS2DX 04.10.2016 11:10

Это дерево в формате JSON, или вернее JS тк включает ф-ции и поддерживает ключи числового вида. Такой стринг может быть получен из БД сервера, например MongoDB, путем SQL. Вот пример целого дерева ДОМ (содержание сайта JS2DX.COM) http://js2dx.com/webdom.js


2DX

Coriolan161 04.10.2016 15:49

JS2DX,
Ты вот хорошо думаешь про оптимизацию но твой путь добавляет лишнюю инстанцию между мной и браузерным домом - базу данных с деревом json
Просто есть фреймы с виртуальным домом которые тоже сохраняют куски дерева в памяти и проводят сравнения. Куски, не весь дом, только те которые я им скажу

JS2DX 05.10.2016 13:20

С частичной индексацией полная сериализация содержания веб страниц выглядела бы проблематичной. Сохранение 100% содержания, включая пользовательский ввод, одна из важных фич платформы.

JS2DX 14.12.2016 05:44

Движок загружает 20-50 тысяч ДОМ елементов без задержек, скоросто отображения страницы 10-20 мс. Загружаю страницу с >2миллионов элементов, база и страница работают нормально.

На сайте так же появился живой инструмент БД запросов.

xShift 14.12.2016 09:53

Это все замечательно, но как вы собираетесь индексироваться поисковыми системами?

Непросто будет заставить поисковики выполнять ваш JS. И, если например, ссылки в JSON поисковик еще может проиндексировать, то у вас псевдо-href. Например, если есть уже готовый статический контент страницы(пусть даже генерируемый сервером) и ссылки вида http://domain.ru/url#anchor могут быть проиндексированы и сегментированы, то здесь речь идет о полной генерации контента средствами движка и поисковик просто не найдет точки входа.

Это проблема всех решений с rooter примочками(например ангуляр). Они просто отсутствуют в индексе, а значит - это проблема для бизнеса.


Часовой пояс GMT +3, время: 15:45.