JavaScript Frameworks Day 2014

Fwdays это то, на что ты согласен променять выходной ©

Больше года я не был на мероприятиях такого плана. Честно сказать — даже соскучился 🙂 Почему бы не провести теплый весенний день «меряясь бородами» с хорошими ребятами?

Хотя конференция проходила в два потока, проблем с выбором списка докладов не было. Так как уже полтора года работаю с Ember.js, то в список попал Андрей Листочкин с докладом «Ember.js — ответ почти на все вопросы», а так же его мастер-класс (по тому же Эмберу). В последние полгода передо мной встал вопрос тестирования JS-кода. Соответственно, доклад Анны Хабибуллиной на тему «В поисках качества JavaScript кода: модульное тестирование» был обязателен к посещению. Давным-давно в универе был у меня предмет «Основы проектирования трансляторов». О нем я и вспомнил, увидев доклад Ингвара Степаняна по теме «Creating own language made easy». Оставалось выбрать еще два. Решил послушать про react.js и про его связку с ClojureScript (доклады Максима Климишина и Александра Соловьева соответственно).

Не смотря на большое количество участников, регистрация прошла быстро. Получив бейджик, сумку с блокнотом и ручкой, а так же несколько рекламок от спонсоров мероприятия, пошел искать свободные места. Да, стоит сказать, что залы, где проходили доклады, были смежные. То есть, чтобы попасть в большой зал, надо было пройти через малый. Ну и чтоб выйти из большого — тоже. Это немного не удобно (как по мне). Порадовало, что не было стандартного гардероба с одной гардеробщицей, а была длинная стойка с вешалками. Но я, по привычке, таскал свою куртку с собой.

Несколько слов о самих докладах

Ember.js — ответы почти на все вопросы

Андрей вкратце рассказал о истории холиваров js-библиотек (начиная с jQuery ранних версий), о вкладе Иехуды Каца в js. Так же «вспомнили», что у Handlebars ноги растут от Mustache. Ну и плавно перешли к основной теме. Затронули такие особенности Эмбера, как роутинг, асинхронность, внедрение зависимостей (Ember + Ember.Data), кодогенерацию (ember-cli), объектную модель (Ember.get — рулит). Не обошли стороной и компоненты вместе с MVC. Как заключение было сделано сравнение с AngularJS.

Доклад получился хорошей вводной частью для тех, кто с Эмбером знаком поверхностно или же не знаком вовсе. На вопросы времени не осталось — успели задать лишь один.

Да, на одном из слайдов получилось, что элемент поменял свой размер и текст немного съехал. Сам Андрей обратил на это внимание. Для себя я отметил еще раз, что правило «если у тебя презентация статическая, то делай из нее PDF» должно быть известно каждому.

Как бежать быстрее с react.js

До начала выступления Максима о react’е я знал только то, что он существует. Было интересно узнать, что же это такое и с чем его едят. Как я понял, то react — это «вьюха» вместе с шаблоном в одном флаконе, которая использует JSX, имеет односторонний биндинг и поддерживается с IE8+. Остальное придется усваивать самому. В докладе было не так много информации, да и примеров не хватало.

Получилось много времени для вопросов. В большом зале вопросы с последних рядом практически не было слышно. Однако организаторы очень быстро с этим разобрались — появились несколько ребят, которые передавали микрофоны нужным людям (плюсик команде оргов).

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

Creating own language made easy

От этого доклада я чего-то ждал. До сих пор не понимаю чего, но дождался 🙂 Хорошая вводная часть с правильной мотивацией (цитата — «все херня»), описание часто используемых инструментов (jison, PEG.js), подробная остановка на каждом из них и подробное сравнение. Далее был «живой» пример, как написать свою грамматику и компилировать ее в JS. Что тут скажешь — такие доклады вдохновляют. Спасибо автору! Не удивительно, что вопросов после мастер-класса было очень много.

Ember.js (Мастер-класс)

Для начала было немного общей информации об отличном плагине для Chrome и FF для мониторинга работы Ember-приложения. Вообще, отличный плагин, да и поддерживает очень старые версии Эмбера. Так же узнал для себя, что в скором времени разработчики Эмбера хотят отказаться от использования jQuery. Такие дела.

В самом мастер-классе автор быстро создал простое приложение с помощью ember-cli. То есть, одной простой командой (см. мануал) создается каркас приложения с готовой иерархией файлов/директорий. Это удобно. Далее создали несколько роутов, контроллеров, моделек и постарались связать их в одно целое. Получилось маленькое приложение, похожее на stackOverflow (что изначально и задумывалось). Вопросов после мастер-класса так же было много. Да и в кулуарах застать Андрея одного было проблематично. А ведь хотелось пообщаться.

Наконец-то обед. Первое заведение, куда я пошел, оказалось закрыто на ремонт. Облом и потраченное зря время. В итоге на начало первого послеобеднего доклада немного опоздал. Но, оказалось, что с обеда мало кто спешил и начало отложили минут на 10. Так же провели небольшой розыгрыш футболок.

В поисках качества javascript кода: модульное тестирование

В свое время я не мог понять разницу между TDD и BDD. Я думал, что что-то не так понимаю или чего-то не понимаю. Мне казалось, что они отличаются только ключевыми словами. Во время доклада Анны я понял, что не только у меня такие мысли.

Объем информации, который «упал» на не очень продвинутого слушателя был очень большим. Были рассмотрены, разные существующие решения — qUnit, Jasmin, Mocha (+ Sinon, Chai)/Karm и т.д. Так же были даны краткие рекомендации о проектировании тестов (атомарные, простые, изолированные и т.д).

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

После этого доклада был «Fun time». Поучаствовал в розыгрыше от компании SysIQ. Получилось, что обменял свои персональные данные на надувной круг для плаванья (будет на чем кошку купать). Так же удалось пообщаться по с Анной на тематику тестирования и разных возникающих «кодо-ситуаций».

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

Как писать UI без боли: react + ClojureScript

После фразы Александра Соловьева о том, что «с jQuery любая обезьяна может писать сайты», я понял, что именно таким должен быть последний доклад — достаточно свободным. Ведь за целый день было получено очень много новой информации и хочется уже просто расслабиться. Это удалось. Александр в легкой манере рассказал о Om/Cortex, DataScript, ClojureScript и react. Перед этапом вопросов угрожал, что напишет на Кложуре змейку за полчаса. Но не пришлось 🙂 Больше всего из доклада запомнился DataScript. Действительно интересное решение для БД быстрой, как «хэш-мапа».

После доклада было короткое закрытие конференции со словами балгодарности докладчикам, участникам, организаторам и т.д. Ну и «after-party». О нем я узнаю из отзывов тех, кто на него остался.

P.S.

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

P.P.S.

Листая сайт конференции сегодня вечером наткнулся на диалог о том, что 20% скидка была и для тех, кто посещал и PHP-конференции. Странно, что на момент покупки билета, я ее в своем профиле не обнаружил.

2 комментария
  1. fwdays сказал(а):

    Олег, спасибо Вам за отзыв!
    А Вы на нашу конференцию по ЖС фреймворкам регистрировались под тем же имейлом, что и на PHP?
    (В ответ на «20% скидка была и для тех, кто посещал и PHP-конференции. Странно, что на момент покупки билета, я ее в своем профиле не обнаружил.»)

Оставить комментарий

Top ↑ | Main page | Back