JS со всех сторон: топ-10 докладов HolyJS 2018 Moscow
Для Хабра мы традиционно сделали подборку из 10 докладов, получивших от зрителей самые высокие оценки. В декабре мы провели очередную HolyJS, и поначалу видеозаписи её докладов были доступны только для зрителей, а теперь открыты для всех. Они идут по возрастанию рейтинга, так что чем дальше, тем интереснее.
Под катом — и сами видеозаписи докладов, и их короткие описания с сайта конференции, и ссылки на слайды.
Если топ-10 вам окажется недостаточно, есть также более полный YouTube-плейлист.
Глубокое погружение в webpack
Спикер: Стас Курилов
Презентация
Но его доклад мы не можем показать (по условиям MPJ это эксклюзив для зрителей конференции), поэтому вместо него в пост включили 11-й. Вообще-то десятое место занял Mattias Petter Johansson, известный многим по YouTube-каналу Fun Fun Function.
Он рассматривает основные этапы его работы, показывая, когда нужен лоадер, когда — плагин, как можно наладить связь между ними и зачем она нужна. Стас рассказывает о внутреннем устройстве webpack на примере написания лоадера для работы с SVG-спрайтами. Также он объясняет, как работают популярные плагины — extract-text-webpack-plugin, html-webpack-plugin, react-styleguidist.
Маленький Data Science для большого фронтенда
Спикер: Роман Дворнов (lahmatiy)
Презентация
В этот раз был сделан шаг в сторону Data Science, и публике был представлен Жора. Роман (автор basis.js, CSSTree и не только) почти каждую HolyJS демонстрирует интереснейшие инструменты и подходы, которые не оставляют равнодушным.
В докладе:
- Что такое Data Science и почему стоит знать об этом?
- Чем Data Science может помочь во фронтенде и что для этого нужно?
- Анонс инструмента для построения стендов анализа данных и как мы дошли до этого.
- Ответ на вопрос «кто такой Жора?»
- Практические примеры, что можно сделать уже сегодня и планы на будущее.
Final Form: Form state management via observers
Спикер: Erik Rasmussen
Кому об этом знать, как не автору популярной библиотеки Redux Form? Управление состоянием форм — это сложно. В докладе Эрик делится опытом, извлечённым при разработке и поддержке библиотеки.
Микросервисная архитектура
Спикер: Дмитрий Пацура
Презентация
Доклад обсуждает: Вокруг микросервисов стало меньше хайпа — а значит, вот теперь пора погружаться в них всерьез.
- Какие архитектуры бывают
- Базовые принципы в свете преимуществ и недостатков
- Работу в команде
- Контроль зависимостей
- Коммуникацию между сервисами
- Архитектуру сервиса
- Когда мы выделяем новый микросервис
- Сложности и важность CI/CD
- Заблуждения
Разработка под WebAssembly: реальные грабли и примеры
Спикер: Андрей Нагих (AndreyNagih)
Презентация
Текстовая версия доклада на Хабре
В докладе рассказано, какие реальные грабли были собраны при переносе большого приложения на C++ в браузер.
В частности, рассматривается: Технология WebAssembly стремительно ворвалась во все популярные браузеры и таким образом стала доступной для коммерческой разработки.
- Какие есть инструменты и что они могут
- Как пробрасывать объекты между JS и Wasm
- Какие при этом возникают проблемы и как их решить
- Что может Wasm, и чего он не может
- Как увидеть код C++ в отладчике браузера
- Насколько Wasm быстрее JS.
Системы типов в двух словах
Спикер: Вячеслав Шебанов
Презентация
Статическая типизация становится обычной темой в JS-мире, при этом мы редко задаем себе вопрос, почему эти типы выглядят так или иначе. Приложения на JS становятся больше и сложнее, а инструменты вроде Flow и TypeScript набирают популярность. Доклад пробует коротко об этом рассказать. Как формировались системы типов современных языков, какая теория за ними лежит и куда все это движется?
Строим GraphQL-сервер
Спикер: Павел Черторогов
Презентация
Кругом все обсуждают компонентный подход, и бэкендерам пора задуматься о GraphQL: новом стандарте мега-удобного API для фронтендеров и их компонентного подхода. REST API и Swagger были хороши для своего времени. Но что фронтендеру хорошо, то может стать болью для неподготовленного бэкендера.
Из каких кусочков собирается GraphQL-сервер (в интернетах уже много пакетов, хорошо бы понять, что необходимо установить и зачем)? В докладе рассмотрены моменты, о которых стоит задуматься. Рассмотрены авторизация, написание примитивного ACL. Что такое схема и как ее написать, чтобы все это дело зашуршало? Разобрана тема загрузки файлов, генерации схем, документирования и версионирования API. Затронут вопрос производительности и безопасности.
JS-битва: как я написал свой eval()
Спикер: Александр Коротаев
Презентация
Текстовая версия доклада на Хабре
У него было всего три недели, полная свобода в выборе темы и коллеги, на которых он все это тестировал. Однажды Александру предложили написать какую-нибудь игру для стенда на конференции WSD.
Почему RxJS и Workers — это круто, а самый популярный игровой движок — нет. Доклад о том, как написать игру для разработчиков, причем не только из мира фронтенда. Как пережить войну с потоками событий и критики, чтобы успеть выкатить все ко дню программиста… Можно ли сделать JS безопасным, а программистов — счастливыми.
There is a bluebird in my talk that wants to get out
Спикер: Lucas da Costa
Презентация
Если вы понимаете, что такое функции в JS, условные и арифметические операторы, то велком. Сам Лукас говорил, что его доклад достаточно простой и в программе ему можно поставить уровень «смузи». Но программный комитет решил поставить «хардкор».
И то, что показывает Лукас, будет в максимальной мере полезно практикующим функциональный подход и позволит раскрыть некоторые моменты самой концепции. Основной упор в докладе идет на концепцию Y-комбинаторов и лямбда-исчислений, и если вы используете функциональный подход в промышленной разработке, некоторые концептуальные моменты функционального программирования выходят за рамки вашего кода.
Вряд ли. Применим ли показанный подход в продакшне? Но сами идеи дают взгляд с другого ракурса и помогают составить более полную картину.
Надёжный JavaScript: в погоне за мифом
Спикер: Илья Климов
Презентация
Текстовая версия доклада на Хабре
Место действия: собственная маленькая аутсорсинговая компания Ильи. Январь 2018-го. Это событие, хоть и не ставшее (к счастью) фатальным ни для проекта, ни для компании в целом, стало решающим фактором в пересмотре Ильей его взглядов на написание надежного кода командой разработчиков. Небольшая ошибка в коде стоит клиенту $600k — суммы, которой нет ни у Ильи, ни (теперь) у клиента.
В этом докладе Илья освещает результаты своих изысканий, подбора технологий и архитектурных решений для повышения надежности кода его команды так, как понимает это он:
- Плохой и «неправильный» код должен выглядеть неправильно
- Джуну (да и не только) должно быть проще писать правильный код, чем неправильный
- Все, что может быть автоматизировано, должно быть автоматизировано, но максимально малой кровью
Будет и много новых лиц, от Райана Дала (известного по Node.js) до Дэвида Хоршида из Microsoft. Спикеров, занявших в списке два первых места, в мае можно будет увидеть на новой HolyJS с новыми темами: Илья Климов будет говорить про CI/CD, Лукаш да Коста — про рекурсию.
Конференция пройдёт 24-25 мая в Петербурге, программа и билеты — на сайте, и с апреля стоимость билетов возрастёт.