Привет. Заранее извиняюсь за текстовую перенасыщенность вопросов и за, порой, футуристические вопросы. А также заранее благодарю за время, уделенное на ответы, спасибо.
1) не знаю насколько это покажется удобным, но, думаю, по крайне мере это интересно. Представим, что мы разработали библиотеку блоков, реализовали для каждого блока все его технологи(js, css, bemhml и т.д.). Все, библиотека готова. Вспоминая своё детство, помню, как любил играть в конструктор лего, из кучи разных деталек создавать что-угодно, собирая все в одну конструкцию. Вопрос заключается в следующем, может у вас реализован или в планах следующий механизм: открываем страницу в браузере, справа в панельке у нас отображаются визуально все имеющиеся блоки и мы, перетягивая их мышкой на страницу, создаем наш сайт. Перетянув один из блоков на страницу, в октрывшемся окошке мы задаем все нужные параметры для блока. Точно также перетягиваем нужные элементы блока. Затем нажимаем сохранить страницу и у нас автоматом генерится bemjson дерево нашей страницы. Разумеется, все это можно делать и вручную в bemjson файле, но от визуального создания страницы, как игра в лего, чтоли получаешь какое-то удовольствие, как в детстве, играя в лего, ну и плюс bemjson генерировался бы автоматом и люди, которые не особо сильны во всяких json и т.д. смогли бы делать свои странички не погружаясь в дебри bemjson, i-bem и т.д.
2) хочется сделать следующее приложение: загрузилась страница в браузер. Далее после каких-либо пользовательских действий перезагружается какая-либо часть страницы, данные для которой подгружаются ajax-ом. В этих пришедших данных находятся новые блоки, которых не было изначально на странице. Скажите, есть ли у вас механизм, который бы позволил на клиенте отслеживать какие новые блоки нужно вставить в страницу и который бы запрашивал с сервера для этих блоков css, js и bemhtml шаблоны, возвращая все эти данные в одном бандле, например, в json формате, а на клиенте бы эти данные вставлялись бы на страницу и только после этого бы вставлялся html новых блоков на страницу? В этом докладке https://events.yandex.ru/lib/talks/1413/ на 39:26 парень спрашивает именно то, о чем я написал. В ответе прозвучало про технологию, которая у вас есть с участием динамического сервера, но говорится, что она не в опен сорсе. Скажите, за год что-нибудь изменилось в плане этой технологии динамической подгрузки всех технологий блока?
3) уже около месяца в свободное от работы время читаю/изучаю все технологии бэм, плюс пересмотрел не один десяток видео с различных ваших конференций и теперь, имея хорошее представление, наконец готов начать писать свой мини проект ради практики БЭМ, но увидев об анонсе bem-core 3, желание начинать что-то кодить на текущей версии подостыло. Скажите, пожалуйста, когда планируете выпустить версию 3?
4) уже ни раз в различных видео упоминалось о библиотеке bem-components и о том, что люди пишут свои библиотеки, которые можно использовать в своих проектах. Скажите, а где можно скачать/увидеть сторонние, написанные не вами библиотеки блоков? Все старания по поиску таковых в гугле с использованием ключевого запроса "БЭМ библиотеки блоков" ведут сугубо на bem.info и, в частности, на страницы с библиотеками bem-core и bem-components.
P.S. я не из яндекса и не из bem-team.
На счет конструктора. У нас есть что-то подобное но для редактирования текста. Такой редактор-конструктор. В опенсорс пока не планируем выкладывать, но реализовывать такое очень круто и удобно с помощью бэм
1) Идея интересная, но вроде никто не брался. Для быстрого прототипирования должно быть годная вещь. Хотите заняться?
"наконец готов начать писать свой мини проект ради практики БЭМ" – готов помочь.
Ну мне известно что втеки кто-то да брался :) Да и у нас есть планы на это)
Очень близко к описанным фантазиям есть проект SourceJS вот демо проект https://github.com/sourcejs/lego и видео https://www.youtube.com/watch?v=cefy_U5NU4o
Насколько близко и планируется ли поддержать БЭМ-экосистему блоков призываю ответить @operatino
Сегодня был на конференцие в Минске, рассказывали про атомарный дизайн. Его идея заключается в том, что есть атомы(блоки в бэм термина), из которых строятся молекулы(составные блоки в бэм терминах). По-моему сему творению 1,5 года . Отличий от бэма в том, как строятся молекулы и вообще страница из этих молекул, не увидел, по сути плагиат на бэм, а в докладе рассказывали, как о ноу хау. Даже обидно стало. Так вот в презентации показывали, что у них реализована такая фича, что в браузере ты натягиваешь все нужные молекулы(блоки) и вставляешь их внутрь других молекул(блоков).
@pavel06081991 есть ссылка на конференцию или презентацию доклада?
Да, есть, вот ссылка на ютубе https://www.youtube.com/watch?v=F3tpIoTZmpQ
только вот одна проблема - ютуб залочил аудиодорожку
Первое это логичное продолжение bem-ide (http://yandex.ru/yandsearch?text=bem-ide), но мы с ним особо не продвинулись пока, не хватает своих сил, а больше никто не присоединился.
BEMIDE и визуальный редактор я на доске нарисовал ещё два года назад. Ж)
Вообще лучше по каждой теме писать отдельный пост. А то у вас получается, что заголовок поста про одно, а внутри много всего другого написано.
@vithar хорошая идея поддержать SourceJS, по моему не менее логичного продолжение и еще более логичное продолжение после поддержки БЭМ в SourceJS добавить в него bem-ide
@vithar, извиняюсь, впредь буду писать правильно
@pavel06081991 в докладе, хоть и не слышно, говориться о Polymer библиотеке которая реализует веб-компоненты которые продвигает W3C. Не помню кто и где сравнивал веб-компоненты и БЭМ, если кто знает дайте ссылку для полноты картины или наверно лучше новую тему начать про это.
@ilyar https://events.yandex.ru/lib/talks/2472/ + http://www.slideshare.net/azproduction/components-now-33642522
@ilyar, в докладе 4 темы, тема про атомарный дизайн начинается с 1:48:00
@tadatuta а точно, спасибо, сразу вспомнился вопрос на который давно хочу получить ответ, автопрефексер поддержали, а автополифилир по какой причине не поддерживаете?
@pavel06081991 да еще стоит отметить что в рамках проекта Polymer на твои футуристические вопросы так или иначе есть ответ https://www.polymer-project.org/tools/designer/
@ilyar на данный момент в этом нет необходимости: мы не используем в библиотеках ничего, что требует полифилов для нашего списка поддерживаемых браузеров. если такая необходимость есть на конкретных проектах, то всегда можно добавить вызов автополифилера в сборку.
@tadatuta спасибо, точно вспомнил есть enb-autopolyfiller, а enb теперь рулит.
@ilyar нарулило будь здоров. как отсуда будем выезжать уже не ясно ;-)
@zxqfox да ладно, что не так? топик в студию ))
@ilyar Названия технологий и их апи настолько разные, что убивают многое. У них нет зависимостей других технологий, которые стоило бы запилить, без этого конфиги больших проектов выглядят как какашка (см. bem-components и проекты с хакатона). Технологии жестко завязаны файловую систему и имена технологий — оба не критично, но имхо это не правильно и тоже не дают красиво расти конфигам на больших проектах, и сам конфиг становится отдельным небольшим проектом. И это все не субъективно. Для 80% пользователей это так ;-)
@zxqfox предложение раскопать эту тему до основания в отдельном топике В чем проблема ENB
Прошу вех присоединяться.
В докладе "где не слышно", говориться о http://patternlab.io/ Atomic Design
@ilyar
Мы планируем поддерживать совместимость с BEM блоками, это будет как один из примеров использования в рамках доп. расширений для SourceJS и Design-lego.
Сами инструменты будут оставаться абстрагированными от конкретных технологий, без заточки конкретно под BEM, веб компоненты и тп.
В данный момент Design-lego открыто доступен для всех, в альфа версии - https://github.com/sourcejs/lego. Ближайших планов на его дальнейшее развитие пока нету, инструмент работает на простых юзкейсах и служит больше примером возможностей работы с компонентами в будущем. Приветствую всех желающих поучаствовать в разработке, пишите на r@rhr.me, обсудим.
@vlastv
В случае с pattern lab, там нужно самому (в коде) собирать компоненты, движек позволяет их ренделить и предоставляет навигацию. Это же самое в SourceJS можно сделать с любыми технологиями, более гибко, но с чуть более высоким порогом вхождения.
Оригинальный patternlab работает на PHP, но есть много имплементаций, в том числе и на NodeJS.
@operatino попытался влезть в sourcejs — не хватает примеров для быстрого старта, не очень понятно, какую задачу он решает и как его правильно использовать. Не думали над README поработать?
@zxqfox я вот смотрю, очень часто enb-шники не используют автогенерацию конфигов. Может быть с этим было бы куда меньше. Но именно здаровенные конфиги меня пугают в enb
@pavelpower Большие — не значит плохие, но значит детальные. Думаешь, что enb-шники не пользуются https://github.com/bem/generator-bem-stub ? Сомневаюсь, что никто из них не пользуется ;-)
@zxqfox
Readme не достаточно, будут видео. Установив можно быстро понять что из себя это представляет, и сам sourcejs.com на этом же движке.