HolyJS: з першої спроби

Петербурзька JavaScript-конференція HolyJS починалася майже як авантюра. Затівати абсолютно нову конференцію, коли час на підготовку дуже обмежено — сміливе рішення.

Такий авантюризм добре відповідає духу самого JavaScript-світу, де все відбувається стрімко, а сміливі рішення найчастіше необхідні. Але чи можливо в такому випадку провести конференцію на високому рівні, з цікавими доповідями і без організаційних проблем? Що в підсумку було на заході? Під катом — розповідь про те, як воно пройшло.





Конференція була зроблена спільними силами: займалася організацією JUG.ru Group, а програму готували SPB Frontend. Логічне поділ праці: у перших — великий досвід організації інших конференцій, у других — знання JS-світу, що дозволяє забезпечити належний рівень доповідей.

Втім, у початковому кейноуте від Дениса Мишунова (Digital Garden AS) знання тонкощів JavaScript не потрібно: мова пішла не про них, а про тонкощі людського сприйняття. Женучись за мілісекундами і кілобайтами, легко забути, що на фронтэнде вся ця гонка спочатку потрібна заради користувача. А те, наскільки буде добре користувачеві, залежить не тільки від мілісекунд.



У деяких випадках може доходити до того, що «повільніше» буде означати «краще»: наприклад, коли у користувача відчуття, що відбувається щось дуже важливе, і моментальне виконання видасться йому «халтурою». А в інших краще буде «швидше», але при цьому користувач буде відчувати найшвидшим не той сервіс, на користь якого говорять бенчмарки.

Доповідь закінчувався відсиланням до документації Apple для розробників, в якій безпосередньо сказано: «The perception of performance is just as effective as actual performance in many cases».



Мишунова на головній сцені змінив Віктор Русакович (GP Software.travel) з доповіддю про реактивному програмуванні, і все відразу стало куди більш технологічні. Описавши складу RxJS як «об'єкти, оператори і магія», Русакович докладно пройшовся по другому пункту. Мета «розписати кожен оператор» не ставилося (їх просто занадто багато), але конкретні приклади, проілюстровані «кульками» з сайту RxMarbles, дозволяли отримати хороше загальне уявлення.

Потім Діно Еспозіто говорив про розпізнавання пристроїв і різному відображення сайтів на них. Він нагадував, що, з одного боку, user agent string довіряти не можна («як-то ми тестували дешевий китайський планшет, так він видавав себе за iPad»), але з іншого, визначати параметри пристрою і покладатися на responsive web design теж не панацея («головна проблема в тому, що він однаково обходиться з комп'ютерним вікном браузера шириною 480 пікселів і зі смартфоном, у якого ширина екрану 480 пікселів»).



Цікаво було спостерігати контраст з тим, як той же Еспозіто виступав двома днями раніше на DotNext. В .NET-світі він великий авторитет, і на відповідній конференції блищав на головній сцені, як рок-зірка перед завороженими шанувальниками. Тут же був просто одним з доповідачів другого залу, і таким щільним потоком гостроти не обрушував. Втім, сплутати його з кимось іншим все одно не вийшло б: таку харизму не сховаєш.

Його змінив Михайло Дружинін (Luxoft) з розповіддю про порталах на JavaScript: «Буває потрібно розмістити на одній сторінці кілька різних модулів. І якщо вони не залежать один від одного, то в цьому випадку ще пощастило...». Але поки Михайло розбирав, як у цьому може допомогти фреймворк F2, в третьому залі Олексій Симоненко з доповіддю «Як я перестав вірити технологій» (і завидною бородою) критикував біганину за новими фреймворками та іншими інструментами.



З бурхливим розвитком JS-світу не дивно, що в ньому синдром срібної кулі особливо сильний: тут мало не кожен день щось нове обіцяє виправити всі помилки попередників і зробити ваш проект набагато успішніше. Але стаття «No Silver Bullet», в цьому році відзначає 30-річчя, не стала з моменту твори менш актуальною. Тому і не дивно поява заперечень «куди ви так мчите, подивіться на реальних прикладах, як перехід на щось нове абсолютно не визволив від усіх проблем».

Симоненко оригінально побудував доповідь, почавши з прославлення нового чудодійного засобу Hype.js і лише потім зізнавшись, що його не існує. Пізніше він навів класичну діаграму The Hype Cycle, нагадує, що для будь-якої нової технології характерний «пік завищених очікувань», зазвичай змінюється болючим розчаруванням. Тому, поки хтось постійно стрибає з однієї технології на іншу, вже напрыгавшийся і шишок набив спікер радив «працюйте з тим, що знаєте».



В обідній перерві, як і напередодні на Mobius, можна було почути обговорення завдань від EPAM. Їх набір частково відрізнявся, але завдання про інфікованої шахівниці знову потрапила в список — і знову звертала на себе увагу. Крім завдань, стенд EPAM запам'ятався багатьом можливістю пограти з розвиваючим конструктором Qubidoo, змусивши кулька котиться по жолобу. На сайті конструктора написано «від 3 років до 140 IQ», і це іронічне визначення схоже на правду: на HolyJS дорослі чоловіки захоплено возилися з іграшкою, здатної викликати інтерес у трирічного.

А після обіду Василика Климова (Artec Group) розповідала про WebGL. Для звичайного фронтэндера без досвіду роботи з 3D-графікою тема може здатися далекою і лякає, але Василика пояснювала, що боятися нічого: при використанні бібліотеки Three.js все виявляється набагато простіше, ніж можна припустити. Від загальних слів і ефектних демо-роликів вона перейшла безпосередньо до того, як пишуть шейдери, і приклади виявилися цілком доступними для глядачів без WebGL-досвіду: ну так, щоб перетворити кольорову модель на чорно-білу, з трьох кольорів RGB варто виводити середнє арифметичне, логічно.



Крім зазначеної багатьма змістовності доповіді, він вражав ще й у зовсім іншому відношенні. Поки що на IT-конференціях нечасто можна побачити, як чарівна дівчина пояснює чоловікам «даремно ви боїтеся, я розібралася, тут нічого страшного», і комусь із глядачів така картина могла рвати шаблон. Але судячи з появи заходів на зразок Ladies Code, де серед інших брала та ж Василика, інтерес жінок до IT зростає, і в майбутньому це може стати куди більш звичною картиною.



Потім у тому ж залі Кирило Сухомлин (EPAM Systems) говорив про те, звідки беруться нові JS-фічі, і це яскраво показувало відміну JS-світу від інших. На конференціях DotNext і Mobius не виникало питання, звідки беруться нові фічі .NET або Swift — там відразу ясно, хто всьому голова. А у випадку з JavaScript про роль Ecma International замислюються куди менше.

Зате в процесі його розвитку трапляються такі казуси, як і в інших світах. Як пояснював Кирило, четверта версія ECMAScript була найбільш амбітної, але в підсумку виявилася занедбаною, і п'яту, навпаки, можна було назвати «дуємо на воду». Це змушувало згадати те, що Діно Еспозіто на DotNext говорив про те, що відбувається з (ASP).NET Core: Microsoft влаштував революцію, але ще не довівши її до релізу, злякався результатів і дав по гальмах.

Сам Еспозіто тим часом знайшов собі на конференції цікаве заняття. На HolyJS, крім нього, був тільки один англомовний спікер, так що слухати весь день доповіді Діно не міг. Але він знайшов підходящого співрозмовника, взявшись базікати з ним і фотографувати його: це був «робот Федя», легко перейшов на англійську. Складно сказати, хто з цієї пари виглядав колоритніше і дотепніше.



Закривав конференцію кейноут від В'ячеслава Єгорова (Google), який працював над движком V8. Виходила цікава симетрія з відкриттям кейноутом: обидва були продуктивності, але перший про психології сприйняття, а другий, навпаки, про технологічному хардкоре і нутрощах движків.

І навіть в топ-10 доповідей за відгуками глядачів ці два виступи виявилися на сусідніх позиціях, поступившись тільки невіри в технології:

1. Олексій Симоненко — Як я перестав вірити технологій
2. В'ячеслав Єгоров — Продуктивність JavaScript через підзорну трубу
3. Денис Мишунов — В гонитві за продуктивністю: психологія користувача
4. Віктор Грищенко — Swarm: синхронізуємо рой пристроїв
5. Микола Рижиков — JаvaScriрt всередині PostgreSQL
6. Олексій Охріменко — Парсери — це Спарта
7. Василіка Климова — Практичне застосування WebGL
8. Роман Дворнов — CSSO: оптимізуємо CSS
9. Ігор Зотов — Iskra JS: JаvaScriрt в мікроконтролері
10. Михайло Новиков — Зручні API з GraphQL

Доповідь Єгорова перегукувався з тим, що на Java-конференціях влаштовує Олексій Шипилев: глибоке знання «кишочков» поєднувалося з завзятим викладом, а суворі числа бенчмарків — з яскравими ілюстраціями. Більше того, навіть у виборі ілюстрацій у цих двох спікерів є перетину:



На цьому виступі, коли конференція була вже на фінішній прямій, раптово виникла проблема з технікою, і на деякий час зал залишився без слайдів. Як зауважив Єгоров, прямо перед доповіддю Олексій 23derevo Федоров сказав йому «Раз за весь захід ще не відбулося жодного технічного факапа, значить, на твоєму щось станеться, готуйся». Забавно було бачити, наскільки точними виявилися ці слова: фраза з анекдоту «стіна впала точно за графіком» отримувала цілком буквальне втілення.

Але потім техніка ожила, і справа дійшла до завершительную слайда «Спасибі». А в іншому конференція пройшла дивно безпроблемно для першого разу, і глядацькі відгуки показали: якщо влаштовувати HolyJS і було авантюрою, то вона явно вдалася.


Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.