Какие есть варианты реализации встраиваемого на сайт виджета витрины магазина?
Добрый день коллеги, подскажите пожалуйста, стоит задача реализовать встраиваемый конструктор (по сути витрина магазина), по аналогии с вк виджетами например.
По сути, задача создать клиент-серверное веб приложение. Сервер будет реализован на битриксе, клиент на JS; Общаться между собой они будут на основе RESTful API с авторизацией по токену (oAuth 2.0); Вся логика будет на сервере т.е. если товар добавлен в корзину, то с помощью API мы передаем информацию об этом на сервер, тот добавляет в корзину, так же и с оформлением заказа и т.д..
Как лучше и проще всего это можно реализовать? Интересует по большей части реализация клиента, если ли готовые решения которые можно использовать(cms, библиотеки, плагины?) или проще написать с нуля?
UPDATE
И еще один вопрос, как именно лучше всего встраивать виджет? IFRAME? Или на самой странице в какой-нибудь div id='myshop' ? Если не брать в расчет возможные конфликты, при реализации встраивания с помощью JS (без IFRAME). Какие плюсы и минусы у этих подходов?
при встраивании в div минус в том что сайт который встривает имеет полный доступ к контенту. может менять дизайн/код и тд. из плюсов только если нужно чтобы этот сайт получал кэллбэки на разные действия. например когда клиент добавил в корзину.
с iframe это сделать чуть сложнее (через postMessage). iframe дает вам полную изоляцию от сайтов, они уже не смогут подглядывать внутрь и модифицировать.
также если высота контента должна меняться, то с див все просто, для iframe нужно опять же делать через postMessage.
по реализации: либо бюджетный вариант - просто отдельная версия сайта с переходами внутри (еще один плюс iframe - страницу можно обновлять, делать переходы на другие урл). бюджетный, потому что фронтенд простейший, можете даже просто ваш сайт без header/footer туда запихнуть.
не бюджетный - SPA приложение, для него просто используйте любой js фреймворк (ангулар/реакт и тд).