я бы сказал, что не для отделов, а для групп и на семестр — на таком масштабе обычно у разработчиков нет индивидуальных целей, а они просто закоммичены на цели своей команды (мы практикуем местами «фичелижство», но это всё равно скорее часть целей, а не все цели человека на семестр)
мы пробуем и удалённые форматы тоже — например, в этом году параллельно со Школой в Москве будет Школа в Минске, которую частично будем подключать удалённо к лекциям в Москве — глядишь скоро отработаем эффективную практику чтобы вообще полностью онлайн обучать, но пока устное оффлайновое общение (и с кураторами, и с другими студентами) выглядит как очень важная часть процесса
всё ещё можно попробовать сделать задание (как минимум это может быть интересно и полезно само по себе) и отправить его до 31 — если оно будет действительно хорошее, то вероятность попасть на Школу большая
да, вы правы, материал рассчитан на более широкий круг читателей и не содержит многих технических подробностей
crosswalk и ionic2, это конкретные способы разрабатывать на платформе Cordova, а wk-webview подразумевается, в том числе, когда мы говорим о кастомных гибридных архитектурах
настоящая карма всегда со мной ;-) а вот почему нельзя оценивать комментарии не написав ни одного поста, это пусть останется на карме разработчиков хабра
то что ты говоришь, это уже следствие — после ухода Андрея мы его вполне развивали аналогичными темпами с Лёшей и Лёней, вот только нужно было экспоненциально растить темпы (без опенсорса это практически не реально)
кроме того, про что написал tadatutahabrahabr.ru/company/yandex/blog/276035/#comment_8767005 (жаль у меня нет кармы ставить плюсики каментам), не могу молчать про похороны y5, т.к. «из первых рук» знаю про ситуацию — основная причина была в закрытости кода и невозможности подключить к сообществу внешних людей
id обязан быть уникальным, и отсюда вытекают два неприятных свойства:
1) это очень трудно гарантировать
2) если использовать id для идентификации, то на странице может быть только один инстанс такого типа — а это может «выстреливать» в самые неожиданные моменты, когда вдруг понадобится второй
class же во всём может заменить id и при этом не обладает такими недостатками
раньше (лет 10 назад) у id было преимущество про скорость (браузеры не сильно оптимизировали DOM-дерево и не строили никаких кешей по class), но со временем эта разница существенно сгладилась
можно сделать миллионом разных способов, но я надеюсь мы все одинаково понимаем, что это, само по себе, не является аргументом, чтобы не делать другим ;-)
в варианте с асинхронной подгрузкой, есть свои плюсы — кроме того, наша модульная система позволяет без усилий менять способ загрузки
БЭМ термины хорошо зарекомендовали себя на практике, как удобный способ описания страниц. Они позволяют иметь единую предметную область в разных технологиях (например, в документации, тестах, css и т.п.). Не вижу причин не поддержать БЭМ в реактивной модели.
люди просто не знают, что им нужны возможности асинхронной модульной системы ;-) например, jQuery грузится через неё (а это совсем не 2% пользователей)
1. кроме модульности и инкапсуляции как таковой в БЭМ есть важная методологическая составляющая про «многоязычие», т.е. что один блок реализуется в разных технологиях, т.о. получается построить обобщённые термины и для CSS, и для JS, и для любых других «технологий» (например, документация и тесты)
я бы сказал, что не для отделов, а для групп и на семестр — на таком масштабе обычно у разработчиков нет индивидуальных целей, а они просто закоммичены на цели своей команды (мы практикуем местами «фичелижство», но это всё равно скорее часть целей, а не все цели человека на семестр)
спасибо за репорт — поправим
да, у Алисы есть команда, а ещё во многих местах отдельные команды сервисов делают интеграции
да, вы правы, материал рассчитан на более широкий круг читателей и не содержит многих технических подробностей
crosswalk и ionic2, это конкретные способы разрабатывать на платформе Cordova, а wk-webview подразумевается, в том числе, когда мы говорим о кастомных гибридных архитектурах
подробнее про это и про то, какие части можно делать в виде нативных плагинов, мы говорим на самой Школе Разработки Интерфейсов (https://academy.yandex.ru/events/frontend/shri_msk-2017/)
https://events.yandex.ru/lib/talks/689/
https://events.yandex.ru/lib/talks/302/
вот документация про основную реализацию https://ru.bem.info/articles/bem-js-main-terms/ https://ru.bem.info/technology/i-bem/v2/i-bem-js/
если появятся дополнительные вопросы всегда можно получить ответ на форуме https://bem.info/forum/
то что ты говоришь, это уже следствие — после ухода Андрея мы его вполне развивали аналогичными темпами с Лёшей и Лёней, вот только нужно было экспоненциально растить темпы (без опенсорса это практически не реально)
случайно речь не про пустой объект в атрибуте data-bem?
1) это очень трудно гарантировать
2) если использовать id для идентификации, то на странице может быть только один инстанс такого типа — а это может «выстреливать» в самые неожиданные моменты, когда вдруг понадобится второй
class же во всём может заменить id и при этом не обладает такими недостатками
раньше (лет 10 назад) у id было преимущество про скорость (браузеры не сильно оптимизировали DOM-дерево и не строили никаких кешей по class), но со временем эта разница существенно сгладилась
в варианте с асинхронной подгрузкой, есть свои плюсы — кроме того, наша модульная система позволяет без усилий менять способ загрузки
см. также 42gag.com/img/gag/494.jpg ;-)
2. почему невозможно покрыть модульными тестами? как раз наоборот, «технология» описания тестов ложится рядом с описанием блока в CSS/JS/HTML — вот, например, модульные тесты в библиотеке bem-core: github.com/bem/bem-core/blob/v1/common.blocks/i-bem/i-bem.test.js, github.com/bem/bem-core/blob/v1/common.blocks/events/events.test.js — причём с таким подходом мы используем разные системы тестирования, от обычных модульных JS-тестов, до сравнения скриншотов
3. интеграционные тесты делаются похожим образом, только они пишутся как тесты для составных блоков (блоков, использующих внутри себя другие блоки)