bem / bem-components

Set of components for sites development
https://bem.info/libraries/classic/bem-components/6.0.0/
Other
332 stars 86 forks source link

Влить новые блоки, написанные на хакатоне #1118

Closed aristov closed 9 years ago

aristov commented 9 years ago

Недавно у нас прошел хакатон, в процессе которого было написано несколько новых блоков. Для этого был создан форк https://github.com/sipayRT/hackaton.

Блоки-кандидаты на мерж в библиотеку:

Блоки в целом написаны, но по каждому нужны доработки. Мы собираемся сделать по пул-реквесту в http://github.com/bem/bem-components на каждый блок и продолжать работать над ними в общем порядке по воркфлоу библиотеки.

aristov commented 9 years ago

сс @veged, @dfilatov, @mishanga, @sipayRT, @narqo

dfilatov commented 9 years ago

Хакатон это, без сомнения, очень здорово. Но все-таки, кто заказчик этих блоков? Откуда у них дизайн возьмется, у того же datepicker? Я не хочу что-то делать только потому что "because we can".

aristov commented 9 years ago

@dfilatov про datepicker речь пока не шла, есть почти готовый calendar. Он что, никому не нужен?

dfilatov commented 9 years ago

@aristov У нас есть islands-дизайн для этого календаря?

dfilatov commented 9 years ago

@aristov Зачем нам, например, какой-то странный недоблок maps?

aristov commented 9 years ago

@dfilatov Да, тему взяли с avia.yandex.ru

aristov commented 9 years ago

@dfilatov Мы не предлагаем мержить только все или ничего. Можем выбрать только то что действительно нужно и сделано как следует.

narqo commented 9 years ago

А зачем это обязательно в bem-components? Почему вообще все должно быть в одной библиотеке, вместо того, чтобы сделать отдельную (-ые) библиотечки независимых блоков (а не как было с bem-components@v1 ;) — пусть кому нужно подключает их к себе в проект, как сейчас делают Сервисы со своими специфичными библиотеками блоков, а авторы (и комьюнити?) обеспечат поддержку и стабильность.

P.S. У нас есть целая инфраструктура про библиотеки, документацию к ним, сборку тестов и как-то очень странно, что при этом все будет лежать в одной bem-components.

sipayRT commented 9 years ago

Так а чем тот же календарь отличается по необходимости от дропдауна? Такой же компонент. Этот ишью и создан для того, чтобы оставить именно нужные блоки и отсеять ненужные. Допустим, что блок map и правда не нужен в bem-components, но почему не добавить progressbar(кстати, у него есть островная тема из гайдов)? имхо, некоторые из блоков вполне можно считать компонентами и они могут занять свое место в библиотеке

narqo commented 9 years ago

Так а чем тот же календарь отличается по необходимости от дропдауна?

Тем, что требования к конкретному календарю на сервисе могут сильно отличаться, в зависимости от контекста (думаю, не случайно в Mac OS/AppKit, выбор даты реализован в виде нескольких разных компонентов, используемых в зависимости от задачи >>_). Кажется, для базовых штучек, «без которых никак» — оно сложновато (и не описано в гайдах :) Решили ведь с блоком form: куда полезнее иметь отдельную библиотеку для работы с формами, в которой будут решены какие-то «общие» задачи, и поставлять ее людям, у которых эти задачи совпадают.

Мой аргумент выше не про то, что это «не компоненты», а про то, что складывать все в одну библиотеку, вместо того, чтобы создавать их под решаемые задачи — вредно для опенсоурса.

Вместо того, чтобы поощрять рост сторонних библиотек, хотя бы искусственно, мы пытаемся все запрятать куда-то в одну «помойку»: снача в bem-bl (кому пригодились b-menu-* и b-logo?) — теперь в bem-components. В итоге: реестры компонентов для реакта, ангуляра и пр. веб-компонентов, мировая слава за год-два и бла-бла-бла, а у нас..?

А progressbar клевый, да. :) Для остального, кажется, нет рабочих примеров?

tadatuta commented 9 years ago

предлагаю:

  1. создать отдельную библиотеку для календаря, туда же потом попадет датапикер и все, что для работы с датами в бэм-терминах (человекочитаемые форматы, математика с диапазонами и т.д.)
  2. внимательно посмотреть на progressbar и, если он отвечает гайдам и нормально реализован, включить в bem-components
  3. для остальных блоков завести какой-нибудь bem-incubator, где «выращивать» блоки, пока не станет понятно, что с ними делать дальше
sipayRT commented 9 years ago

@narqo все блоки можно посмотреть на странице desktop.pages/presentation

voischev commented 9 years ago

:+1: за прогрессбар

aristov commented 9 years ago

:+1: за отдельную библиотеку

ilyar commented 9 years ago

:+1: за отдельную библиотеку, вижу много пользы в стабильном релизе bem-components

aristov commented 9 years ago

1157 - прогрессбар

veged commented 9 years ago

всё будет перенесено в https://github.com/bem-incubator