ETC.Dema @ETCDema
User
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity
Specialization
Fullstack Developer, Software Architect
Lead
Web development
Vue.js
HTML
CSS
JavaScript
.NET Core
ASP.NET MVC
PostgreSQL
Linux
в часто вызываемом куске кода.
Первый вариант
Второй вариант
На странице при выполнении анимации будет работать дополнительный уровень связи между скриптом и DOM элементами, а это дополнительные расходы ресурсов. Плюс к этому практически все браузеры бросаются перерисовывать окно (и пересчитывать размеры элементов) при изменении в DOM. Сильно снизило бы нагрузку очень простая вещь: перед массированным изменением DOMа вызывается метод, который блокировал бы перерисовку на время изменения, а потом вызывался бы другой метод, разрешающий перерисовку. Опять же пример из жизни: HTA копирует 7000 небольших файлов, если ничего не выводить в HTML, то процесс проходит за (примерно) 2 минуты, если просто выводить число скопированных файлов и аналог ProgressBar, то это уже 7 минут. Промежуточный вариант: данные о процессе обновляются каждые 5 секунд, и время работы получается 3 минуты.
Вывод: даже если язык и выглядит просто и незатейливо, но писать на нем все равно нужно с умом.
Когда на сайте есть такой редактор, то предполагается, что пользователю будет проще писать текст и правильно его оформлять, однако уважаемые писатели ударяются в крайности: одни начинают заниматься дизайном текста (очень трепетно подходят к выбору размера, начертания, цвета шрифта и прочему выделению, совершенно не воспринимая общий стиль сайта), другие же делают просто Ctrl+C Ctrl+V из ворда и успокаиваются. Самое страшное, когда такой писатель начинает пробовать писать HTML, не предусмотренный многочисленными инструментами. Против таких начинающих «верстальщиков» нам пришлось в свое время сделать фильтр текста, который бы пропускал только то, что предусматривается инструментарием редактора.
Вообще редакторы, которые порождают HTML, в большинстве случаев для публикации материалов на сайте не нужны, а нужен редактор, который был бы компактным (небольшой объем скрипта), исключал самодеятельность в дизайне, обеспечивал бы (как минимум) похожесть текста при редактировании тому, что будет отображаться, но самое главное, что бы он помогал работать над текстом (в идеале совсем не беря в руки мышь). Большое количество тулбаров с инструментами не столько помогает, сколько мешает и подталкивает писателя заняться не текстом, а оформлением. Кстати, очень редко можно встретить грамотное дублирование инструментов горячими кнопками.
Близким к идеалу является редактор, основанный на разметке типа markdown (но без возможности вставить HTML) т.к. там весь текст виден (нет скрытой части в виде атрибутов тэгов), текст весьма похож на то, что потом будет отображаться после преобразования в HTML (конечно за исключением картинок). Сложность написания редактора для такого текста примерно сопоставима с написанием редактора на основе HTML, но результат использования намного лучше, да и товарищам, далеким от разработки, объяснять правила легче. Есть, конечно, еще и вики разметка, но она достаточно перегружена правилами.
И вообще, любой инструмент должен быть не «навороченным», а удобным. И удобным не для разработчика инструмента, а для пользователя.
На практике сталкивался с тем, что для некоторых скриптов важен порядок помещения в единый файл скриптов, поэтому зависимости и порядок описываю отдельным файлом.
Так же оставил возможность простым переключением использовать скрипты классическим способом (например при отладке). Таким же образом обрабатываю и CSS файлы. Сейчас решаю вопрос с версионностью наборов скриптов. Если интересно, попробую найти время и описать поподробнее.