Розробка Vue.js-додатки для 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Розробка Vue.js-додатки для 1С-Бітрікс
Середня
~1-2 тижні
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Розробка Vue.js-застосунку для 1С-Бітрікс

Питання «як інтегрувати Vue у Бітрікс» виникає тоді, коли стандартні компоненти на jQuery та серверному рендерингу перестають справлятися з інтерактивністю. Бітрікс не надає готового механізму для Vue, але платформа достатньо гнучка, щоб Vue-застосунок працював органічно — через REST API або кастомні AJAX-обробники.

Архітектурні варіанти

Віджет на сторінці — Vue-застосунок монтується до конкретного DOM-елемента всередині Бітрікс-сторінки. Решта сайту працює як зазвичай. Підходить для ізольованих інтерактивних блоків: калькулятори, конфігуратори, форми з логікою.

SPA з Бітрікс як бекендом — Vue-застосунок займає всю сторінку, дані отримує через REST API або /bitrix/services/main/ajax.php. Шаблон Бітрікс рендерить мінімальний HTML з точкою монтування та передає початкові дані через window.__INITIAL_STATE__.

Гібридний варіант — Bitrix рендерить серверну частину, Vue керує інтерактивними блоками. Актуально за необхідності SEO-індексації контенту без SSR.

Передача даних з Бітрікс у Vue

Сервер передає початкові дані в шаблоні компонента:

// У шаблоні Бітрікс (.php)
$APPLICATION->addHeadScript(
    '<script>window.__BITRIX_STATE__ = ' . json_encode([
        'userId' => $USER->GetID(),
        'catalogId' => $arResult['IBLOCK_ID'],
        'currency' => CCurrency::GetByID('RUB'),
    ]) . ';</script>'
);

У Vue-застосунку:

const state = window.__BITRIX_STATE__ || {}

Це дозволяє уникнути зайвого AJAX-запиту при першому завантаженні.

Збірка та підключення

Vite або Webpack — для Бітрікс зручніший Vite завдяки швидкості та простоті конфігурації:

// vite.config.js
export default {
  build: {
    outDir: 'local/templates/main/vue-dist',
    rollupOptions: {
      input: { app: 'src/main.js' }
    }
  }
}

Скомпільований бандл підключається в шаблоні Бітрікс через $APPLICATION->AddHeadScript() або Asset::getInstance()->addJs(). Не використовуйте <script> безпосередньо в шаблоні — Бітрікс може переставити порядок підключення скриптів.

REST API Бітрікс для Vue

Битрікс REST API (модуль rest) — стандартний шлях для запитів з Vue. Ключові методи для інтернет-магазину:

  • catalog.product.list — список товарів
  • sale.order.add — створення замовлення
  • crm.contact.add — додавання контакту в CRM

Для нестандартних операцій — кастомні методи через \Bitrix\Rest\RestManager::addMethod() або AJAX-обробники на /bitrix/services/main/ajax.php з \Bitrix\Main\Engine\Controller.

Приклад із практики

Дилерський портал: каталог запчастин з фільтрацією за 15 параметрами. Стандартний компонент catalog.section з AJAX-фільтром гальмував при 50 000+ позиціях — кожна зміна фільтра викликала повний серверний рендеринг. Рішення: заміна на Vue-застосунок з debounced-запитами до кастомного REST-методу, що повертає JSON. Серверний рендеринг залишили лише для першого завантаження з SEO-контентом. Час реакції фільтра скоротився з 2–3 секунд до 300–500 мс.

Управління станом

Для простих віджетів — reactive() Vue 3 або ref(). Для SPA з авторизацією, кошиком, особистим кабінетом — Pinia (офіційна заміна Vuex для Vue 3). Vuex актуальний лише якщо проєкт вже на Vue 2.

Терміни виконання

Тип застосунку Термін розробки
Віджет (калькулятор, форма) від 1 до 3 робочих днів
Каталог з фільтрацією від 5 до 10 робочих днів
SPA (каталог + кошик + ОК) від 15 до 30 робочих днів

Терміни залежать від наявності готового REST API та складності бізнес-логіки.