https://habrahabr.ru/company/jugru/blog/324364/- Программирование
- JavaScript
- Блог компании JUG.ru Group
Прошло три месяца после JavaScript-конференции HolyJS 2016 Moscow, и это значит, что сейчас самое время выложить видеозаписи докладов и составить рейтинг лучших. Напомню, что рейтинг составляется не «экспертным жюри», а участниками в форме обратной связи – более 400 человек ответили на наши вопросы и поставили оценки докладам, которые они слушали.
В этот раз топ подобрался интересный, разнообразный и почти полностью англоязычный. Вы найдете видео о (dev)tools и ServiceWorker'ах, о минимизации кода и роли UX в обойме навыков frontend-разработчика и о многом другом, включая WebVR.
Разнообразие зоопарка инструментов в мире JS не обошло стороной и HolyJS — почти каждый доклад в той или иной степени посвящен какому-либо фреймворку или инструменту, — но обзор для каждого из них дан глубокий и исчерпывающий, не заскучаете.
10 лучших докладов HolyJS 2016 Moscow
Без долгих прелюдий, начнем. На 10-ой позиции у нас Max Stoiber, open source разработчик из ThinkMill, в свои 20 уже создавший несколько проектов (react-boilerplate и Carte Blanche), с докладом Offline is the new Black. Доклад смотрится на одном дыхании — начиная с объяснения, зачем вообще нужен оффлайн-режим (на примере острова в Камбодже), Макс переходит к работе с ServceWorkers.
В докладе рассматриваются живые примеры, поэтому он будет полезен как web-разработчкам, так и тем, кто занимается SPA.
Девятую строчку занял Денис Мишунов, занимающийся производительностью фронтенда в Digital Garden AS. В новом лайтовом докладе Денис рассказывает о том, что делает разработчика профессионалом. И это не чтение твитов и не кодинг 24/7.
О том, как избегать состояния фрустрации, как сохранять чистоту сознания и концентрацию для решения ваших текущих задач и поиска простых ответов. О том, какие ловушки готовит мозг разработчика, «запираясь» на поставленных задачах и не видя альтернативных решений.
P.S. в докладе Денис отвечает на вопрос, почему на технической конференции кейноут посвящен психологии пользователя и разработчика. Рекомендуется смотреть всем, освежает и позволяет по новому взглянуть на свой workflow:
На восьмой строчке — доклад Slobodan Stojanovic, посвященный
buzzwords созданию serverless чатботов на основе node.js и несложной NLP (которая «обработка естественного языка», а не воздействие на подсознание собеседников). Слободан в докладе рассказывает о бессерверной архитектуре AWS Lambda, о платформах, на которых можно писать ботов. После этого на живом примере вы вместе с докладчиком построите своего бота, развернете его в AWS Lambda и посмотрите, как все это работает (иногда даже бесплатно):
Далее у нас доклад Mathias Buus Madsen, в котором он рассказывает о своем опыте создания полностью p2p реализации модулярного «dropbox» без ограничения на размер файлов, написанного на JS. В своем докладе Матиас рассказывает о технических аспектах разработки сервиса с live-coding примерами, после чего демонстрирует, как сервис можно использовать в современном data science.
На шестом месте одна из «жемчужин» прошлой HolyJS — анонс Logux, нового фреймворка от Андрея Ситника, автора PostCSS и Автопрефиксера. Да, доклад начинается со слов «JavaScript офигенен», но дальше все правда и по делу :)
Logux — новый клиент-серверный протокол для SPA (это Redux, но на основе логов, поэтому Logux), развивающий идеи Relay и Swarm.js, работающий с живыми обновлениями и в оффлайне. В докладе Андрей рассказывает о тех проблемах, которые есть сейчас в клиент-серверном взаимодействии и рассказывает, как он будет решать их в своем фреймворке, обеспечивая возможность делать оптимистичный UI и безошибочную синхронизацию. До решения еще нужно работать.
Смотрите видео и в конце ваш ждет вишенка на торте — крутая сессия Q/A. Кроме того, на видео не попала полуторачасовая QA-секция в дискуссионной зоне, так что
следующий HolyJS не пропустите!
Пятерку лучших открывает Роман Дворнов с докладом «Remote (dev)tools своими руками». Доклад посвящен велосипедостроению на поприще удалённых инструментов: какие есть сложности, как их обоходить, как перестать бояться и начать делать инструменты под свои задачи и технологический стек.
Доклад начинается с архитектуры построения удаленных инструментов, паттерна (publisher-subscriber), который хорошо ложится на выбранную архитектуру, и того, как правильно его реализовывать. Дальше Роман останавливается на подводных камнях реализации transport, и на живом примере демонстрирует, как
rempl позволяет забыть об инфраструктурных сложностях и заниматься только publisher и subscriber, не думая о транспорте, хосте и sandbox.
После этого — еще 50 слайдов о том, что можно сделать при помощи remote platform:
Четвертое место занял Thomas Watson — практика показывает, что интерес к теме производительности платформонезависим (доклады о перфомансе попадают в топ и на Java, и на .NET, и в мобилках). Доклад посвящен обнаружению и исправлению проблем с производительностью Node.js, а именно:
- Причинам недостаточной производительности node.js;
- Обнаружению и работе с кодом, нагружающем CPU (flamegraph и PERF);
- Поиску проблем в случае крэша при помощи Core dump и mdb;
- Поиску и устранению утечек памяти при помощи heap dump или gcore & mdb.
В кровавом мире серверной энтерпрайз-Java все эти инструменты давно известны. Радует, что в JavaScript тоже набирают популярность правильные и мощные инструменты для оптимизации.
Вот мы и добрались до тройки лидеров, на третьем месте — Martin Kleppe и его доклад с замысловатым названием «3L3M3NT5». Все знают, что такое демосцена? В докладе Мартина есть что-то похожее. Вы не найдете здесь какой-то огромной практической ценности, речь пойдет о прекрасных примерах code golfing — соревнованию, в котором разработчики стараются максимально сократить исходный код, решающий какую-то конкретную задачу.
Интересные примеры, в которых докладчик показывает, как получать интересные эффекты, имея всего несколько десятков байтов на код.
Второе место закрепилось за Nikolaus Graf и темой работы с Rich text format на Draft.js. Draft.js — фремворк, разработанный Facebook для работы с rich text, на нем же крутятся все не-plain-текстовые поля самой соцсети.
В своем докладе Nicolaus рассказывает, как Draft.js работает под капотом: как работают его структуры данных, как использовать декораторы, карты стилей и рендереры блоков позволяют делать @-обращения, drag&drop работу с картинками, хэштегами и т.д. в едином редакторе.
Что же, вот мы и добрались до лидера нашего чарта — Martin Splitt и WebVR. Доклад построен вокруг популярной нынче темы VR, а именно: в каком виде 3D существует в веб; что такое WebVR и с чем его едят; какие сложности сейчас испытывает это направление и что делать дальше.
Крутая и действительно впечатляющая подача с множеством живых примеров. Даже если вы не планируете в ближайшем будущем заниматься webVR-разработкой, посмотреть стоит.
Кстати, в июне Мартин приедет на HolyJS 2017 Piter, в этот раз
с докладом про перфоманс JS.
На этом не все,
по ссылке вы найдете все остальные доклады с HolyJS 2016 Moscow. Делитесь с друзьями, показывайте коллегам. Больше 20 часов видео — есть что посмотреть!
HolyJS 2017 Piter: Call For Papers и новая программа
Теперь давайте заглянем в будущее. 2-3 июня на HolyJS 2017 Piter к нам приедет два исключительных спикера, и я хочу воспользоваться возможностью, чтобы рассказать о них вам:
Douglas Crockford, один из «отцов» JavaScript, создатель JSON, автор множества инструментов (вроде JSLint и JSMin), а также один из редких людей,
нашедших в JS хорошие стороны. Дуглас выступит с двумя докладами:
The Post JavaScript Apocalypse и
Typing, Goto There and Back Again.
Lea Verou, автор книги
«CSS Secrets» и один из немногих приглашенных экспертов CSS Working Group. Кроме того, Лия — автор нескольких open source проектов: Prism, Dabblet и -prefix-free. Она расскажет о том, как UX-подходы в программировании могут сделать ваш код, ваш API лучше: в конце концов код — это тоже UI.
Если вы хотите выступить на одной сцене с Дугласом и Лией, наш
Call For Papers открыт и программный комитет вовсю принимает заявки на доклады! Программный комитет с интересом смотрит на темы про node.js, на все, что связано с клиент-серверной синхронизацией (постоянная больная тема всех проектов), на доклады про производительность JS и, конечно, про эффективную работу с фреймворками. Поэтому если у вас есть идея для доклада — пишите.
P.S. Все принятые доклады и условия участия можно, как обычно, посмотреть
на сайте конференции.