HolyJS 11 декабря в Москве Гостиница «Radisson Славянская», площадь Европы, 2

Не путайте HolyJS с конференциями по фронтенду — в России есть много таких. Но до 2016 года не было ни одной конференции по самому популярному в мире (по версии GitHub и RedMonk) языку программирования — JavaScript, который чаще всего ассоциируется с фронтендом.

Мы это исправили. HolyJS Moscow стала второй масштабной конференцией по JavaScript в 2016 году. Более 400 JS-разработчиков под одной крышей собрались вместе, чтобы обсудить наболевшее с JavaScript-экспертами со всего мира.

Говорили исключительно о технологиях: никаких докладов про agile, scrum, оптимизацию работы коллектива и управление командами. Основные темы конференции:

  • Архитектура современных JS-приложений;
  • Node.js: best practices, performance, memory management;
  • JS и спецификация ECMAScript;
  • Практика применения ES6 и ES7;
  • Оптимизация JS-приложений;
  • Функциональное программирование на JS;
  • Kлиент-серверная синхронизация;
  • Тестирование приложений;
  • Работа с графикой (WebGL, D3.js и т.п.);
  • Web API (Bluetooth, Network API, IndexedDB, Web Notifications и т.п.);
  • WebAssembly;
  • JS engines;
  • JS на устройствах;
  • Progressive Web Apps;
  • Desktop apps (Electron и т.п.).

На конференции было 20 технических докладов и море общения с коллегами. Говорили не только о фронте: спикеры рассказывали и о бэкэнде, и десктопе, и о работе с железом.

ECMAScript: latest and upcoming features

Axel RauschmayerAxel Rauschmayer

ECMAScript: latest and upcoming features Axel Rauschmayer

In this talk, Axel will give an overview of the latest features that were added to ECMAScript, the JavaScript language standard. He will also show what features will probably be added next.

Logux — новый способ связи клиента и сервера

Андрей СитникАндрей Ситник

Logux — новый способ связи клиента и сервера Андрей Ситник

Андрей Ситник сделает обзор новых идей, которые могут заменить AJAX-REST, чтобы сократить количество кода, дать «из коробки» автообновление и поддержку редактирования в оффлайне.

debugger;

Денис МишуновДенис Мишунов

debugger; Денис Мишунов

Как разработчики теряют связь с внешним миром.

Веб-приложения: дробим монолит

Виктор ГрищенкоВиктор Грищенко

Веб-приложения: дробим монолит Виктор Грищенко

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

Модульный CSS

Андрей ОконечниковАндрей Оконечников

Модульный CSS Андрей Оконечников

Как избежать большинства проблем и улучшить методы и инструменты для работы с CSS на больших проектах, используя JavaScript, PostCSS и webpack.

Remote (dev)tools своими руками

Роман ДворновРоман Дворнов

Remote (dev)tools своими руками Роман Дворнов

Удаленные инструменты разработки (remote devtools), которые работают в браузере: их устройство, какие сложности и как их решать. А также о том, что может дать дальнейшее развитие темы удаленных инструментов для процесса разработки.

Rich text editing with Draft.js

Nikolaus GrafNikolaus Graf

Rich text editing with Draft.js Nikolaus Graf

Rich text editing is super hard. In this talk we are going to explore the structure and concepts of Draft.js - React based rich text editing framework. At Facebook it powers status updates, comments & notes. Others used it to build editors matching Medium’s experience. Nick will give a glance on Draft.js architecture, so you could build your own.

Debugging Node.js in Production

Thomas WatsonThomas Watson

Debugging Node.js in Production Thomas Watson

Node.js doesn’t require much to get started. But as with any other platform, you will run into issues like scalability, memory leaks, or slow requests. This talk covers the top Node.js performance issues, and will guide you through how to solve them.

Лебедь рак и щука: как технологии тянут фронтенд на дно

Евгений ГусевЕвгений Гусев

Лебедь рак и щука: как технологии тянут фронтенд на дно Евгений Гусев

Каждый когда-нибудь писал библиотеку или фреймворк. Но каждый ли отвечал на вопрос: «А зачем?» Похож ли современный мир на чулан с велосипедами и граблями? Раздвигаем пыль и сор и пытаемся разобраться.

Как подойти к современным веб-приложениям

Никита ПрокоповНикита Прокопов

Как подойти к современным веб-приложениям Никита Прокопов

Никита и слушатели разберут архитектуру современного одностраничного ClojureScript-приложения с real-time синхронизацией. Цель — найти вдохновение для новых подходов, которые с таким же успехом применимы в JavaScript.

Koa и эволюция middleware

Евгений ПшеничныйЕвгений Пшеничный

Koa и эволюция middleware Евгений Пшеничный

История эволюции middleware от Express к Koa, и почему Koa не просто еще один веб-фреймворк.

3L3M3NT5

Martin KleppeMartin Kleppe

3L3M3NT5 Martin Kleppe

In this mind-bending talk, Martin will explain how to use the unknown aspects of JavaScript to make something new: little games, small tools, and beautiful demos — all in just a bunch of bytes and out of nothing.

Offline is the new Black

Max StoiberMax Stoiber

Offline is the new Black Max Stoiber

The network is inherently unstable. Connection failures happen to everybody on a semi-regular basis, and can be very frustrating. Making your web application offline compatible is extremely beneficial for your users. Not only are connection failures taken care of, loading performance of your application is very fast after the first load.

Мутация web

Павел КондратенкоПавел Кондратенко

Мутация web Павел Кондратенко

Веб-технологии и результаты их внедрения на реальном примере.

Как современные библиотеки и фреймворки работают с DOM

Вячеслав СлинькоВячеслав Слинько

Как современные библиотеки и фреймворки работают с DOM Вячеслав Слинько

Доклад для тех, кому интересно узнать, как современные библиотеки и фреймворки работают с DOM; для тех, кому не хватает времени исследовать каждый из них самостоятельно. В докладе будет затронуто: VirtualDOM в React, Dirty Checking в Angular.js, Data Binding в Ember, Change Detectors в Angular2, Updating Opcodes в Glimmer 2.

Why you should care about Elm?

Tereza SokolTereza Sokol

Why you should care about Elm? Tereza Sokol

Frontend development can be painful, but it shouldn’t be. Based on real world experience, it will be explored how the Elm language’s design leads to reliable and maintainable code, before learning how you can use Elm yourself.

Building Interactive npm Command Line Modules

Irina ShestakIrina Shestak

Building Interactive npm Command Line Modules Irina Shestak

The objective is for the audience to walk away being able to either 1) improve their existing command line application or 2) write some amazing interactive applications of their own, or 3) both \o/ !

Dr. Strangelove or: How I Learned to Stop Worrying and Love the Serverless Chatbots

Slobodan StojanovicSlobodan Stojanovic

Dr. Strangelove or: How I Learned to Stop Worrying and Love the Serverless Chatbots Slobodan Stojanovic

A talk about what could happen if the wrong person combine multiple buzzwords and press the wrong button — and it played the situation for laughs. The main goal of this talk is to analyze 2 popular buzzwords — serverless and chatbots; combine them with node.js and simple NLP and show how easy is to build useful chatbots with insignificant cost of the infrastructure.

Программа

ВремяЗал 1Зал 2Зал 3
9:00 – 10:00Регистрация + welcome кофе
10:00 – 10:20Открытие
10:20 – 11:10
Доклад в стадии рассмотрения
11:10 – 11:25Перерыв
11:25 – 12:15
Доклад в стадии рассмотрения
Доклад в стадии рассмотрения
Доклад в стадии рассмотрения
12:15 – 12:45Перерыв
12:45 – 13:35
Доклад в стадии рассмотрения
Доклад в стадии рассмотрения
Доклад в стадии рассмотрения
13:35 – 13:50Перерыв
13:50 – 14:40
Доклад в стадии рассмотрения
Доклад в стадии рассмотрения
Доклад в стадии рассмотрения
14:40 – 15:30Обед
15:30 – 16:20
Доклад в стадии рассмотрения
Доклад в стадии рассмотрения
Доклад в стадии рассмотрения
16:20 – 16:35Перерыв
16:35 – 17:25
Доклад в стадии рассмотрения
Доклад в стадии рассмотрения
Доклад в стадии рассмотрения
17:25 – 16:55Перерыв
17:55 – 18:45
Доклад в стадии рассмотрения
Доклад в стадии рассмотрения
Доклад в стадии рассмотрения
18:45 – 19:00Перерыв
19:00 – 19:50
Доклад в стадии рассмотрения
19:50 – 20:00Закрытие