Pull to refresh
21
5.6
Сергей Бережной @veged

Директор по взаимодействию с разработчиками

Send message

я бы сказал, что не для отделов, а для групп и на семестр — на таком масштабе обычно у разработчиков нет индивидуальных целей, а они просто закоммичены на цели своей команды (мы практикуем местами «фичелижство», но это всё равно скорее часть целей, а не все цели человека на семестр)

мы пробуем и удалённые форматы тоже — например, в этом году параллельно со Школой в Москве будет Школа в Минске, которую частично будем подключать удалённо к лекциям в Москве — глядишь скоро отработаем эффективную практику чтобы вообще полностью онлайн обучать, но пока устное оффлайновое общение (и с кураторами, и с другими студентами) выглядит как очень важная часть процесса
всё ещё можно попробовать сделать задание (как минимум это может быть интересно и полезно само по себе) и отправить его до 31 — если оно будет действительно хорошее, то вероятность попасть на Школу большая
если открыть картинку в новом табе, то будет всё видно — hsto.org/getpro/habr/post_images/4d0/640/c91/4d0640c9171d50028e3ae6dfb7ccb67d.png — или речь о том, чтобы саму картинку завернуть в такую ссылку?

да, у Алисы есть команда, а ещё во многих местах отдельные команды сервисов делают интеграции

да, вы правы, материал рассчитан на более широкий круг читателей и не содержит многих технических подробностей


crosswalk и ionic2, это конкретные способы разрабатывать на платформе Cordova, а wk-webview подразумевается, в том числе, когда мы говорим о кастомных гибридных архитектурах


подробнее про это и про то, какие части можно делать в виде нативных плагинов, мы говорим на самой Школе Разработки Интерфейсов (https://academy.yandex.ru/events/frontend/shri_msk-2017/)

такого опыта не так много, т.к. в большинстве случаев мы используем или полностью нативные или html+css+js технологии
конечно БЭМ применим для JS кода! главная суть БЭМ-а это «многоязычность» https://ru.bem.info/method/key-concepts/#Технология-реализации
вот документация про основную реализацию https://ru.bem.info/articles/bem-js-main-terms/ https://ru.bem.info/technology/i-bem/v2/i-bem-js/
если появятся дополнительные вопросы всегда можно получить ответ на форуме https://bem.info/forum/
настоящая карма всегда со мной ;-) а вот почему нельзя оценивать комментарии не написав ни одного поста, это пусть останется на карме разработчиков хабра

то что ты говоришь, это уже следствие — после ухода Андрея мы его вполне развивали аналогичными темпами с Лёшей и Лёней, вот только нужно было экспоненциально растить темпы (без опенсорса это практически не реально)
кроме того, про что написал tadatuta habrahabr.ru/company/yandex/blog/276035/#comment_8767005 (жаль у меня нет кармы ставить плюсики каментам), не могу молчать про похороны y5, т.к. «из первых рук» знаю про ситуацию — основная причина была в закрытости кода и невозможности подключить к сообществу внешних людей
честно говоря я почитал ваш подтред с Zenitchik, но не смог понять, что Вы называете неименованными объектами и связано ли это с id

случайно речь не про
<div class="my-block" data-bem='{ "my-block" : {} }'>...
пустой объект в атрибуте data-bem?
id обязан быть уникальным, и отсюда вытекают два неприятных свойства:
1) это очень трудно гарантировать
2) если использовать id для идентификации, то на странице может быть только один инстанс такого типа — а это может «выстреливать» в самые неожиданные моменты, когда вдруг понадобится второй

class же во всём может заменить id и при этом не обладает такими недостатками

раньше (лет 10 назад) у id было преимущество про скорость (браузеры не сильно оптимизировали DOM-дерево и не строили никаких кешей по class), но со временем эта разница существенно сгладилась
основное отличие: БЭМ-методология — если вы не разделяете этих идей и действительно верите в свои пункты 1, 2, 3, то вам незачем никуда переходить
в React нет встроенных средств про единую предметную область между разными технологиями
можно сделать миллионом разных способов, но я надеюсь мы все одинаково понимаем, что это, само по себе, не является аргументом, чтобы не делать другим ;-)

в варианте с асинхронной подгрузкой, есть свои плюсы — кроме того, наша модульная система позволяет без усилий менять способ загрузки
БЭМ термины хорошо зарекомендовали себя на практике, как удобный способ описания страниц. Они позволяют иметь единую предметную область в разных технологиях (например, в документации, тестах, css и т.п.). Не вижу причин не поддержать БЭМ в реактивной модели.

см. также 42gag.com/img/gag/494.jpg ;-)
про реакт история гораздо больше, чем XML/JS-синтаксис — нужна поддержка БЭМ предметной области
люди просто не знают, что им нужны возможности асинхронной модульной системы ;-) например, jQuery грузится через неё (а это совсем не 2% пользователей)
1. кроме модульности и инкапсуляции как таковой в БЭМ есть важная методологическая составляющая про «многоязычие», т.е. что один блок реализуется в разных технологиях, т.о. получается построить обобщённые термины и для CSS, и для JS, и для любых других «технологий» (например, документация и тесты)

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. интеграционные тесты делаются похожим образом, только они пишутся как тесты для составных блоков (блоков, использующих внутри себя другие блоки)

Information

Rating
770-th
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity