От Babel до GraphQL: доклады HolyJS 2019 Moscow

Если вы JS-разработчик, то браузер для вас — дом родной, но можете ли вы описать пошагово все действия браузера для отрисовки вашей прекрасной страницы? И вы наверняка уже слышали про WebAssembly, но знаете ли, что «внутри» у этой технологии?

n7y-iu6vek-pdpn6facrsp8s0mc.jpeg

Углубиться в эти и многие другие JS-темы помогут доклады. В ноябре прошла HolyJS 2019 Moscow, а теперь её видеозаписи открыты для всех, и мы традиционно публикуем на Хабре подборку — в общем, есть чем занять выходные на самоизоляции.

«JavaScriptCore, many compilers make this engine perform» — Michael Saboff


Mайкл рассказал о внутреннем устройстве самого быстрого из движков для JS — JavaScriptCore.



«Client rendering, server rendering, pre rendering. The full spectrum of JS website and application performance delivery» — Guillermo Rauch


Гильермо является сооснователем ZEIT (она жа Vercel), компании, которая создает Next.js, который, в свою очередь, является одним из основных решений для SSR на React. Доклад хорошо раскрывает тему server-side rendering.



«Figma to React: доставка дизайна в код» — Зар Захаров, Александр Каменяр


А что, если дизайнер и разработчик будут работать вместе над автоматизацией доставки стилей?
Figma — это новый дизайн-инструмент. Figma в отличие от Sketch работает в вебе, родной среде компонентных дизайн-систем. У нее есть API. Александр и Зар показали, как подружить дизайн-системы из двух миров.



«React rendering strategies: Get the most out of performance, keep bots happy» — Miguel Angel Duran Garcia


Думаете, что рендеринг в React ограничивается client side и server side? Подумайте еще раз — вы можете использовать разные стратегии рендеринга, каждая из которых имеет свои достоинства и недостатки. Подробности в докладе.



«Я заберу у тебя все данные и ты об этом даже не узнаешь. Я — браузерное расширение» — Никита Мостовой


Никита показал, какие нюансы могут Вас ожидать при использовании этих расширений, и продемонстрировал по-настоящему элегантные векторы атак.



«Transpile anything to everything!» — Anna Herlihy


Проблема создания любой ORM в том, что это необходимо делать для каждого языка и технологии. Анна рассказала о том, получится ли сделать интерфейс, подходящий для большинства языков и платформ.



«WebAssembly без купюр» — Андрей Роенко


Если вам интересно узнать, что из себя представляет WebAssembly под капотом — смотрите доклад Андрея.



»@babel/how-to» — Nicolò Ribaudo


Николо один из основных разработчиков в Babel. Из его доклада вы узнаете, как сделать собственный плагин под Babel для поддержки новых фич языка или решения ваших задач.



«i18n the principles for an accessible web» — Romulo Cintra


Проблема интернационализации актуальна для многих разработчиков и поэтому имеет много решений. У вас есть шанс узнать про то, какие варианты есть сейчас, и в каком виде эту проблему собираются решать средствами нового API в самом JavaScript.

Месяц назад мы уже публиковали на Хабре перевод доклада Ромуло.



«GraphQL-фрагменты на клиенте: История появления, ошибки использования» — Павел Черторогов


Все больше людей начинают использовать GraphQL. Павел рассказывал о лучших практиках, которые накопились в индустрии, и о том, почему и как нужно использовать GraphQL-фрагменты.



«Контрактное программирование как средство, а не цель» — Артём Арутюнян


Многие хотят, чтобы TypeScript имел, помимо статической типизации, еще и рантайм проверку типов. Но команда TypeScript пока не собирается добавлять эту
функциональность. Что же делать? Артём предложил варианты для рантайм-типов и озвучил их недостатки.



«From code to pixels in a Blink» — Prashant Palikhe


Сможете описать пошагово действия браузера для отображения содержимого страницы? Если нет, Прашант наглядно показал, что происходит и как это можно оптимизировать.



«JavaScript на службе у теоретической информатики» — Виталий Брагилевский


Фундаментальный доклад от человека, который вращается в академической среде и в курсе всех последних тенденций теории языков программирования и теоретической информатики. Виталий рассказал про то, как строятся вычисления в любом языке, поведал про машину Тьюринга, лямбда-исчисление и т.д.



«Чем мы платим за переход от div к WebGL и что получаем (профит!), на примерах PixiJS» — Иван Попелышев


После этого доклада вы сможете разбираться в проблемах при переходе от многофункционального DOM на WebGL, чтобы открыть правильные странички документации или кода, когда вы видите странные артефакты, которых быть не должно.
В докладе проводятся параллели между решениями на DOM/CSS/SVG, canvas 2d и WebGL. Фокус, конечно, на последнем.



«Карьерная эффективность и карьерный путь в ИТ» — Дмитрий Волошин


Камнем лежать или гореть звездой. А каков твой путь в IT? Дмитрий Волошин показал наиболее эффективные пути развития в профессии.



»(не|ну)жная монада Either на практике и в теории» — Дмитрий Махнёв, Артём Кобзарь


Иногда концепции из функционального программирования можно применять уже сегодня, прямо из вашего любимого TypeScriptJjavaScript. О том, как удобно обрабатывать ошибки и исключения, — доклад от Дмитрия и Артёма.



«From specification to implementation» — Yulia Startsev


Доклады про движок SpiderMonkey можно услышать очень редко, и у вас есть отличная возможность послушать человека, который работает и в команде этого движка, и является сопредседателем TC39. В докладе Юлия рассказала о пути Nullish Coalescing в SpiderMonkey.



«CSS definition syntax» — Роман Дворнов


Иногда особо радикальные JS-разработчики заявляют, что «CSS больше не нужен, всё будет в JS». Однако CSS был, есть и, видимо, будет. Роман рассказал о фундаментальных основах, нужных каждому.



«Разработка компилятора для TypeScript на TypeScript на базе LLVM» — Дмитрий Пацура


Компиляторы — крайне интересная и загадочная тема для многих JavaScript-разработчиков. Дмитрий рассказал про свой опыт написания компилятора StaticScript для TypeScript в промежуточное представление LLVM.

Подборка получилась объемной, но в плейлисте с конференции есть ещё больше. А мы тем временем готовим HolyJS 2020 Piter — и она будет полностью онлайновой, так что участвовать можно из любой точки планеты. Если в подборке выше есть интересные для вас доклады, то наверняка и на новой конференции такие тоже найдутся — и при этом докладами дело не ограничится. Узнать все подробности можно по ссылке.

© Habrahabr.ru