|
274 / 178 / 30
Регистрация: 16.03.2017
Сообщений: 1,631
|
|
Использование Shadow DOM: скорость и приватность.24.07.2019, 07:35. Показов 2530. Ответов 6
Метки нет (Все метки)
Добрый день, поясните плииз его возможности "на пальцах".
Для одного срочного/"горящего" проекта пишу на "чистом" JS сложные компоненты для отображения/редактирования данных. Сложные списки (с кучей дивов, картинок, инпутов в каждой строке), выпадающие списки (календари), сложные таблицы (с кучей вложений)... . И тут посоветовали почитать про Shadow DOM. Сказали что 1) это ускорит отрисовку (режим "переключения" ДОМов между отлаживаемым и реальным) 2) это позволит "упаковать" компонент в "тень" + защитит их от наглого вмешивания парсерами. Подскажите сколько в этом правды? "Да/нет" - не охота СЕЙЧАС тратить кучу часов на изучение/тестирование/переписывание компонент, чтобы потом узнать что это не так и есть куча ограничений не позволяющей писать что-нибудь достаточно сложное, или далеко не большинством браузеров поддерживается...
0
|
|
| 24.07.2019, 07:35 | |
|
Ответы с готовыми решениями:
6
Включить Shadow DOM в хроме Shadow DOM. Экскурсия по "злачным" местам
|
|
640 / 481 / 172
Регистрация: 26.05.2016
Сообщений: 2,674
|
|
| 29.07.2019, 08:52 | |
|
andyj, оба пункта не правда. Отрисовка будет медленнее, пусть немного. Парсер парсит результат - т.е. готовый DOM. Попрятать компонент - для пользователя сойдёти невидимым, а если из потока удалить, можно кучу проблем горести.
1
|
|
|
274 / 178 / 30
Регистрация: 16.03.2017
Сообщений: 1,631
|
||
| 30.07.2019, 12:53 [ТС] | ||
|
Застрял на изучении https://learn.javascript.ru/shadow-dom - красиво, компактно, "лишнее" скрыто в хроме "по умолчанию" (навело на мысль что новичок не будет знать как подступиться) но не понятно зачем...
0
|
||
|
640 / 481 / 172
Регистрация: 26.05.2016
Сообщений: 2,674
|
||
| 30.07.2019, 21:12 | ||
Сообщение было отмечено andyj как решение
РешениеВсе надстройки призваны облегчить и упростить процесс разработки для программиста. Цена этого - замедление работы, т.к. требуется код надстройки перевести в код для нативного приложения; скорости загрузки, т.к. требуется библиотеку лишнюю подгрузить и т.д. К счастью современные пользовательские устройства обладают впечатляющим быстродействием и внушительной памятью. И для коммерческой разработки требуется скорость создания продукта. Поэтому многие разработчики делают выбор в пользу удобства и скорости. А проблема в том, что часто неучи, поверхностно изучив модный фреймворк, совершенно не понимают как работает нативный js. Результат очевиден.
3
|
||
|
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
|
|||||||
| 30.07.2019, 23:35 | |||||||
|
atanov, andyj, а может проще почитать документацию по технологии? Ну, чтобы не фантазировать
![]() Вот это Отрисовка не станет медленнее, даже не используя это апи, убрать рендер в нирвану не составит труда - дерево over100500 элементов и дело в шляпе. То есть тупо куча текста. Именно этот критерий важен. Парсер парсит документ - изучите как работают протоколы подключения. Удалить из потока, проблемы - ЧТО?? Вы создаете класс компонента, создаете экземпляр, его рендерит клиент - Вы удаляете экземпляр, его не рендерит клиент. Вот если руки достались от представителей Brachyura - тогда да, возможны проблемы ![]() Развивается сама технология и естественно и они. https://www.w3.org/TR/shadow-dom/ https://w3c.github.io/webcomponents/spec/shadow/ https://github.com/w3c/webcomponents/ https://developer.mozilla.org/... shadow_DOM https://developer.mozilla.org/... Components er.mozilla.org/en-US/docs/Web/Web_Components[/url]
2
|
|||||||
|
274 / 178 / 30
Регистрация: 16.03.2017
Сообщений: 1,631
|
||
| 31.07.2019, 23:48 [ТС] | ||
|
Не по теме:
Я НЕ "фронтэндер"(и не особо планирую) - просто для текущего проекта вынужден кроме бэка(нода) еще и фронт часть писать из сложных компонент... написал свой фреймворк "под проект"(всего 8Kb в .min.js), и почти считал его достаточным, а тут меня остудили что "все фреймворки сейчас на ШадоуДоме работают". Спасибо за ссылки... почитаю... Последний вопрос - насколько эта технология поддерживается современными браузерами? (про IE и MiniOpera молчу - похоже там почти все через ж...)
0
|
||
|
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
|
|||
| 01.08.2019, 00:25 | |||
|
Не по теме: andyj, И в тупик Вы зашли благодаря лаже, что Вы прочитали у него. И таких примеров куча. В общем Вы приняли на свой счет то, что Вам не предназначалось. Построили проекцию? Ознакомьтесь - https://caniuse.com/#search=Shadow%20DOM, https://caniuse.com/#search=web%20component
1
|
|||
| 01.08.2019, 00:25 | |
|
Помогаю со студенческими работами здесь
7
Маленькая скорость интернета [DOM.RU] Использование DOM-функций
Зачем мне приватность? HTML DOM как с использованием Javascript создать узлы DOM Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|