Дата последнего изменения: 04.06.2024
Vue.JS базируется на идее
виртуального DOM.
DOM (аббревиатура от Document Object Model) — способ представления
структурного документа с помощью объектов. Это кроссплатформенное и
языко-независимое соглашение для представления и взаимодействия с
данными в HTML, XML и т.д.
Подробнее...
Управление DOM-структурой в документации Битрикс.
Это исключает прямое взаимодействие с узлами интерфейса. Первоначальная работа ведется с виртуальной копией (virtual DOM), а уже потом изменения применяются к реальным узлам интерфейса. Параллельно сравнивается реальное дерево DOM и его виртуальная копия, выявляется разница и переписывается только то, что претерпело изменения. Т.е.за короткий промежуток времени накапливаются все изменения, а потом применяются единым патчем к реальным узлам интерфейса (нодам). За счет этого скорость выполнения гораздо выше.
Vue.js удобно использовать, когда какие-либо данные используются в нескольких компонентах. В этом случае данные выносятся в отдельную библиотеку.
Преимущества Vue:
Vue реализует все современные подходы к разработке пользовательских интерфейсов. Является легким в освоении, гибким и высоко интегрируемым со сторонними технологиями фреймворком.
Библиотека Vue входит в состав продукта «1С-Битрикс: Управление сайтом». Это дает возможность использования и кастомизации компонентов Vue, встроенных в ядро BitrixFramework. К тому же, решена проблема версионности библиотеки Vue – в рамках текущего окружения BitrixFramework всегда единая версия.
Подробнее с фреймворком (в том числе с примерами его использования) можете ознакомиться на официальном сайте.
Мы включили фреймворк в поставку продукта и сделали BitrixVue для простого взаимодействия между Vue и системой BitrixFramework.
В чем же преимущества и особенности использования BitrixVue?
Первое: вы сможете интегрироваться в систему BitrixFramework и эффективно работать с другими компонентами и внутренними системами (такими как локализации и динамическая загрузка компонентов).
Второе: решается вопрос версионирования, если два разработчика (например, два приложения из Маркетплейса) используют Vue разных версий, то возникнут конфликты. В первую очередь BitrixVue сделан для того, чтобы этого избежать.
Третье: разработчики-партнеры получают возможность кастомизировать и клонировать компоненты в модулях BitrixFramework (где это возможно) без изменения исходного кода продукта.
И последнее: фреймворк Vue, который является основной частью BitrixVue, не экспортируется в глобальную область видимости. Тем самым она не может создать проблем сторонним приложениям. Они могут спокойно использовать обычное подключение Vue, в том числе использовать его в Webpack, не беспокоясь о конфликтах с библиотекой внутри BitrixFramework.