Most JS Frameworks day 2016

Most JS FD — это когда тебе говорят, что мир не сошелся клином на React и Angular, а ты до них толком и не дошел, так как используешь Ember

Воскресенье 04 декабря люди провели по-разному — одни дома, другие в гостях, а где-то 400 человек посетили конференцию Most JS FD, которая проводилась в Киеве в отеле Ramada (как и JS FD 2015). Как и в тот раз, от станции м. Выдубичи до места проведения курсировали автобусы. Это было очень кстати, учитывая погоду в стиле «Мороз и солнце; день чудесный».

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

Открытие конференции шло несколько дольше, чем в прошлые разы. Представители 5 или 6 компаний-партнеров решили взять слово. Сложилось впечатление, что многие из них даже не продумывали заранее, что будут говорить. Хотя могли и просто переволноваться. Не знаю.

Мероприятие проходило аж в 3 потока докладов и еще параллельно с ними шли сессии Q&A. Увы, охватить все сразу не получается, как не старайся. Выступления докладчиков записывались на видео, так что в обозримом будущем будет возможность пересмотреть. Еще во время конференции была прямая трансляция на YouTube. Не могу ничего сказать, так как был прям на месте событий и ее не смотрел.

По-скольку была возможность увидеть только треть докладов (Маховик Времени забыл дома), то к их выбору пришлось подойти весьма тщательно.

Первым был доклад «О драконах ни слова» от Илья Климова. Доклад мне очень понравился. Тематика и подача материала — то, что нужно для доклада, открывающего конференцию. Поговорили о том, что не так с украинским сообществом JS-ов в целом, с отдельными разработчиками в частности и даже с самим JS и его оптимизаторами. Про людей:

  • Мы всегда рассказываем о своих удачах, но молчим о проблемах и неудачах
  • Мы не умеет быть сообществом
  • Нельзя быть узким специалистом (смотрю эпиграф к заметке и много думаю)

А теперь про код:

  • JS настолько быстро развивается, что код не успевает пройти проверку временем
  • Оптимизаторы могут вносить ошибки («вынужденная мера» — babel-plugin-fuck-optimization)

Еще понравилась фраза об отличиях между библиотеками и фреймворками:

Библиотеку используете вы, а фреймворк — вас.

Весь доклад прошел в формате множества «cool stories», которые было очень интересно слушать.

Web Apps Performance — тема, которая знакома многим. Доклад Романа Лютикова разложил по полочкам, как же работают JS-компиляторы и как они могут оптимизировать код. Рассмотрели несколько техник, которые применяются в UglifyJS, Rollup, babili и Closure Compiler (не все во всех):

  • Dead Code elimination
  • Tree-shaking
  • Function call inling
  • Property flattening
  • Constant folding
  • Known methods folding

Пройдя эти несколько кругов ада оптимизации, код ниже превратится в console.log('Jim Raynor');:

const person = {
  firstName: 'Jim',
  lastName: 'Raynor'
}
function getFullName(person) {
  return person.firstName + ' ' + person.lastName;
}
console.log(getFullName(person));

Одна простая истина, которая запомнилась после доклада:

Пишите код для людей, а не для компилятора.

Во время доклада я еще раз убедился, что очень критично отношусь к использованию иностранных слов, адаптированных под русский или украинский языки («пейджа» и им подобные).

Так получилось, что до обеда все интересные нам с женой доклады были на «Main Stage». Доклад Алексея Волкова о Архитектуре был лучшим (с небольшим отрывом, но лучшим) из тех, что я сегодня увидел. Он был разделен на две части — теоретическую и практическую. В первой Алексей рассказал о нескольких вещах, которые должен помнить и выполнять разработчик:

  • Думай о будущем
  • Разделяй и властвуй
  • Соблюдай разумный баланс

Еще было одно очень необычное для меня сравнение:

Design Patterns — как таблетки и для каждой «болезни» нужна своя. Как доктор, вы должны определить, что и когда нужно.

Это не дословно, но близко к тексту.

Во второй части разобрали архитектуру UI-части простого интернет-магазина, разложив по полочкам, что с чем должно взаимодействовать (и самое главное — «как взаимодействовать»), какие основные модули понадобятся и т.д. Интересно тут было то, что говорили о вещах, не называя конкретных имен или названий. То есть, была архитектура в чистом виде. Как потом оказалось, при проектировании были использованы Медиатор, Декоратор, PubSub и т.д. Некоторые названия мне были вообще не знакомы, но вполне знаком механизм их работы.

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

Во время перерывом на стендах компаний-партнеров проходило очень много всяких конкурсов. В основном это было решение головоломок. На разных стендах мы разобрали и собрали на двоих штук 5 и сломали 2. Но выиграть ничего не удалось.

Первый послеобеденный доклад, на который мы пошли, был в Track A. Юрий Лучаников рассказывал о Критериях выбора JS-фреймворков. Как оказалось, есть три точки зрения — заказчика, конечного пользователя и разработчика. Эти точки зрения формируются на основе требований каждой из сторон. Заказчику важны бюджет, сроки, реализация функционала и удовлетворенность пользователей. А вот для пользователя важно лишь две вещи: чтоб приложение ему нравилось и чтоб было ему нужно.

Про точку зрения разработчика можно сказать так: от него мало что зависит. Он может хоть тот или другой фреймворк по разным причинам: он его хорошо знает; он только его и знает; он понимает, что фреймворк реально подходит под задачу и т.д.

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

Возвращаемся в Main Stage на англоязычный доклад «Reactive Music Apps» от Tero Parviainen. Тут можно просто оставить ссылку на его демо — In-C. Серьёзно, перейдите и понажимайте пару кнопок. Просто чудеса, что можно сделать имея достаточно опыта разработки, творческой «жилки», но, при этом не имея музыкального образования (если я правильно понял). Исходники есть на Гитхабе — teropa/in-c.

Paul Miller вел доклад на тему «Как подняться на Open Source». Весьма своеобразное выступление. Для себя отметил, что когда ведешь Open Source проект, то есть ряд требований которые надо соблюдать:

  • Коммитить часто
  • Отвечать на вопросы пользователей быстро
  • Надо использовать то, что пишешь
  • Надо продвигать свой проект

Посмотрев на себя со стороны, я понял, что с четными пунктами этого списка у меня не все гладко.

Как быть хорошим Frontend-разработчиком рассказывал Евгений Жарков. Мысль, которая весь день преследовала меня на разных докладах, нашла меня и тут — «нельзя завязываться на один фреймворк». Из этого утверждения следует, что надо думать о решении задачи, а не как заставить «фреймворк, который вы знаете» это сделать.

Пока весь прогрессивный мир сходит с ума от SPA, задачи, где он не работает, продолжают появляться. А вот мышление разработчиков «костенеет». И с этим надо что-то делать. Мир многолик и разнообразен. А мир JS — еще более разнообразен. На сайте MicroJS можно найти много разных маленьких (!) библиотек под разные нужды. Как пример можно там поискать по «ajax» и найти много альтернатив jQuery-евскому $.ajax. Но, мы же знаем, что вы все равно возьмете jQuery

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

P.S. Посещение разного рода конференций дает заряд бодрости для изучения чего-то нового и, при этом, дает терпения заниматься текущей рутиной. Спасибо организаторам! И жду весенний JS FD!

P.P.S. Наверно, для себя почитаю про Vue.

, , ,

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

Top ↑ | Main page | Back