HolyJS Moscow: Время экспансии
JavaScript-мир развивается так бурно, что даже за полгода между петербургской и московской HolyJS многое успело произойти: например, летом о Yarn ещё никто не знал, а сейчас у него больше 20 000 звёзд на GitHub. И для самой конференции тоже многое изменилось: в июне она проходила в самый первый раз, так что тогда ещё не было фидбэка зрителей, очень помогающего при организации. Отличалась ли в таком случае московская версия, и как вообще она прошла? О некоторых докладах уже написали в блоге Mail.Ru Group, а теперь мы публикуем собственный текст о мероприятии.
Конференция, как и предшествовавшие ей DotNext с «Гейзенбагом», прошла в «Radisson-Славянской» — и уже на открытии было видно, что по масштабу она вполне соответствует этой площадке. После приветствий организаторов и спонсоров сцену занял Аксель Раушмайер с кейноутом, посвящённым нововведениям ECMAScript (недавним и грядущим).
Он начал с контекста: «раньше релизы были редкими и большими, но из-за этого что-то долго дожидалось релиза, а что-то выпускали сырым — теперь перешли к ежегодному циклу, а каждая фича до попадания в релиз проходит четыре стадии». По мнению Акселя, среди ещё не вышедших фич стоит обращать внимание на те, которые уже достигли третьей — на первых двух всё ещё слишком сыро и спекулятивно, может измениться или отмениться.
Для такой темы этот спикер самый подходящий: Аксель известен именно как человек, подробно разбирающийся в каждой новой версии ECMAScript и помогающий разобраться другим. Этому посвящены и тексты его блога, и книги. Онлайн-версии книг доступны бесплатно, в том числе свежая «Exploring ES2016 and ES2017» — так что те, кто не был на HolyJS или кому оказалось мало выступления, могут навёрстывать по ней.
Дальше действие разделилось на три трека, и на главной сцене Виктор Грищенко говорил о преимуществах стандартизации. Многие его слайды находили живой отклик в аудитории, но, кажется, сильнее всего в душу зрителей запала эта фотография римской стены, сопровождавшаяся комментарием «реальная жизнь простых итальянских парней применима к веб-разработке». На снимок можно долго смотреть, находя всё новые элементы, каждый из которых явно был частью большого замысла —, а в итоге получился легаси-проект из мешанины всего подряд. Знакомая история?
Томас Уотсон рассказывал о дебаггинге Node.js — тем самым напоминая, что конференция посвящена всему JavaScript-миру, а не конкретно фронтенду. Без запоминающихся слайдов не обошлось и здесь: отдельные понятия он иллюстрировал эмодзи, и можно догадаться, что в «core dump» соответствовало второму слову. Но, в отличие от доклада Грищенко, здесь были не общие рассуждения об архитектуре, а куда более конкретные советы по отладке. Например, доклад позволял узнать об инструменте Autopsy — его используют совместно с Oracle VirtualBox, чтобы разбираться с теми же дампами дебаггером mdb. Название инструмента, конечно, запоминающееся, и при этом по делу: «autopsy» переводится как «вскрытие».
Следом выступал Никита Прокопов из южноафриканского стартапа Cognician. Технологический стек у этой компании не менее экзотический, чем страна, но Никита говорил не о какой-либо конкретной используемой технологии. Вместо этого он рассматривал веб-приложения с высоты птичьего полёта, построив пирамиду, схожую с пирамидой Маслоу: вверх логично подниматься уже после того, как пройдены предыдущие этапы. Любопытно, что в число ступеней он включил «оптимистичный UI» — эту тему недавно хорошо разобрал в своей статье другой спикер HolyJS Денис Мишунов. И, как в случае c докладами Мишунова, тут внимание многих зрителей привлекли красочные слайды.
Андрей Ситник, сменивший Прокопова на главной сцене, говорил о своём новом проекте Logux (кое-что о котором ранее рассказал нам в интервью). Начав со слов «мы много думаем о сервере и много о клиенте, а проблема между ними», он стал объяснять, как Logux призван помочь с этой проблемой, при разрыве интернет-соединения «откладывая» события для последующей отправки. Его доклад сначала мог показаться полной противоположностью предыдущему (тут всё было про одну конкретную технологию), но кое в чём перекликался: Ситник заявил, что поверх Logux удобно реализовывать те же оптимистичные интерфейсы.
А на вопрос слушателя «Как ты оцениваешь вероятность того, что проект полетит?» ответил трезво: «Как фартанёт. Маркетинг сделаем жёсткий, но если завтра Facebook выпустит то же самое, куда я полечу?»
Тему проблемного интернет-соединения дальше развивал Макс Стойбер в докладе «Offline is the new Black». Легко потроллив зрителей («Камбоджа — часть мира, о которой вы думаете так мало, что всё ещё не заметили, что на слайде обведена не Камбоджа»), он заговорил о том, что в мире всё ещё многие делают скриншоты статей для последующего чтения в оффлайне, так что вопрос «оффлайнизации» приложений остаётся актуальным. И с этим вопросом всё куда менее очевидно, чем хотелось бы: казалось бы, для этого давно существует Application Cache, но о его проблемных местах существует целая статья «Application Cache is a Douchebag», и с Service Workers всё тоже не совсем так, как хотелось бы.
А Мартин Сплитт говорил о WebVR. Нужно ли вообще человечеству «VR в браузере», когда и без браузера перспективы VR ясны не до конца? Мартин считает, что нужно, и привёл интересный аргумент в пользу этого: «Люди получают в VR интересный опыт, но пытаться передать его другим с помощью скриншотов — всё равно что пытаться показать коллеге смешную гифку, распечатав её на бумаге. Это просто не работает. Нам нужна возможность делиться VR-контентом так же легко, как мы делимся ссылками на гифки».
Любопытно, что получилось развитие темы с петербургской HolyJS: там был доклад про WebGL и Three.js, а здесь — про то, что теперь возникает на основе WebGL.
Наконец, завершал конференцию кейноут Дениса Мишунова. Про оптимистичные интерфейсы на HolyJS многое сказали и без него, и у него речь пошла не о конкретном тренде —, а о том, как попытки угнаться сразу за всеми трендами мира приводят разработчиков к фрустрации, и других подобных проблемах. Как водится у Дениса, доклад сопровождался красочными картинками его собственного авторства: на последнем слайде своих презентаций он прямо пишет «Да, иллюстрации мои», упреждая напрашивающийся вопрос.
Отличалась ли в итоге московская конференция от петербургской? Некоторые спикеры, вроде того же Дениса Мишунова и Виктора Грищенко, выступили на обеих (после того, как Денис и Виктор попали в топ-5 докладов первого HolyJS, не осталось сомнений, что зрители их ценят). Но в программе было и бросающееся в глаза отличие. На петербургской из 23 докладов англоязычными были только 2, а на московской уже половину программы составили зарубежные спикеры, от немца Акселя Раушмайера до датчанки Терезы Сокол. Вывод напрашивается простой: в первый раз конференция встала на ноги в местном JS-комьюнити, а во второй — успешно произвела экспансию, собрав спикеров со всего мира.
И это принесло плоды сразу же. Согласно оценкам зрителей, из топ-5 докладов московской HolyJS сразу четыре были от зарубежных спикеров:
- Martin Splitt «WebVR is the next frontier»
- Nikolaus Graf «Rich text editing with Draft.js»
- Matin Kleppe »3L3M3NT5»
- Thomas Watson «Debugging Node.js in production»
- Роман Дворнов «Remote (dev) tools своими руками»