Вроде уже многие сталкивались с тем, что веб-страничку удобнее рассматривать не как «шаблончик полюс скриптик», а как набор самодостаточных компонетов (виджетов?). Где каждый компонент содержит все что ему надо - шаблон, стили, переводы, скрипты.
В принципе многие движутся в этом направлении - react, angular и т.п. Но вот чего я пока не нашел - как обеспечить изменение внешнего вида. Типовые задачи:
1. Допустим я хочу другой скин для сайта. Хорошо если мне повезет и достаточно изменить CSS. А если еще и верстку?
2. Допустим я хочу что-то добавить в существующий компонент из внешнего. Например, был форум. Добавили модуль блогов и на карточку юзера понадобилось добавить ссылки из бложика.
Появились ли какие-то методологии, как красиво разруливать подобные вещи? Пока приходилось сталкиваться с такими вещами:
- Накладывание текстовых diff на шаблоны. Стрёмная по жизни штука.
- Модификация DOM ручками через яваскрипт. Можно, но неудобно и в использовании и в поддержке.
- BEM XLST. Рабочая штука, но очень высокая цена входа. Сделано не для людей.
- Можно еще втыкать всякие хуки для иньекций, но это часто решает проблему уже после того как она случилась, а не заранее.
В основном все эти проблемы касаются только шаблонов:
- на CSS при БЕМ-овских именах классов подкрутить текущие стили не проблема.
- на JS в принципе медиатор c responsibility chains позволяет особо не париться о расширяемости. То, что много подписчиков могут образовать помойку разруливается разбивкой одной большой цепочки на несколько вложенных.
Возвращаясь к шаблонам - где придумали что-нибудь простое и удобное, чтобы подкручивать выхлоп «веб-компонент»? Яндексовский БЕМ ни на простое ни на удобное не тянет.
←
1
2
→

Ответ на:
комментарий
от sholom


Ответ на:
комментарий
от special-k

Ответ на:
комментарий
от Vit


Ответ на:
комментарий
от zz


Ответ на:
комментарий
от Deleted

Ответ на:
комментарий
от Vit

Ответ на:
комментарий
от Vit

Ответ на:
комментарий
от zz

Ответ на:
комментарий
от Vit

Ответ на:
комментарий
от special-k

Ответ на:
комментарий
от Vit

Ответ на:
комментарий
от special-k

Ответ на:
комментарий
от Deleted

Ответ на:
комментарий
от Vit


Ответ на:
комментарий
от Deleted

Ответ на:
комментарий
от Deleted

Ответ на:
комментарий
от foror

Ответ на:
комментарий
от Deleted

Ответ на:
комментарий
от foror

Ответ на:
комментарий
от Deleted

Ответ на:
комментарий
от zz

Ответ на:
комментарий
от Vit


Ответ на:
комментарий
от pavel-g

Ответ на:
комментарий
от foror

Ответ на:
комментарий
от Deleted

Ответ на:
комментарий
от anonymous


Ответ на:
комментарий
от special-k

Ответ на:
комментарий
от Vit

Ответ на:
комментарий
от special-k

Ответ на:
комментарий
от Vit

Ответ на:
комментарий
от special-k

Ответ на:
комментарий
от Deleted


Ответ на:
комментарий
от vtVitus

Ответ на:
комментарий
от pavel-g

Ответ на:
комментарий
от vtVitus

Ответ на:
комментарий
от pavel-g


Ответ на:
комментарий
от Vit

Ответ на:
комментарий
от menangen

Ответ на:
комментарий
от stevejobs

Ответ на:
комментарий
от Vit


Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Человеческое управление пакетами в Linux (2019)
- Форум управление сетевым интерфейсом (2011)
- Форум задержки интерфейса\управления (2024)
- Форум Консольный fdisk с человеческим интерфейсом (2002)
- Форум ansible управление сетевым интерфейсом (2016)
- Форум Управление интерфейсами по SNMP (2000)
- Форум Посоветуйте Web-интерфейс для управления (2005)
- Форум Angular 5: Отображение компонента в родительском компоненте (2018)
- Форум Диспетчер компонентов. (2011)
- Форум Электронные компоненты (2014)