Skip to content

Instantly share code, notes, and snippets.

@duskpoet
Last active June 1, 2016 21:15
Show Gist options
  • Save duskpoet/4fa06c6580a00609278ea1aed8ba1df4 to your computer and use it in GitHub Desktop.
Save duskpoet/4fa06c6580a00609278ea1aed8ba1df4 to your computer and use it in GitHub Desktop.

Классические архитектуры во фронтенде

10:15

Доклад по паттернам во фронтенде MV*
Как в универ опять попал...
MVC - тут все по классике MVP - Presenter вместо Controller. Модель общается с презентером, и вью вместо модели общается с презентером
MVVM - Todo на Knockout

Оценка: 6 просветленных эдуардов из 10

Конструктор

11:00

Довольно интересный рассказ про опыт команды поисковой выдачи Яндекса
Выстроили следующий процесс:

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

Оценка: 7 индексирующих эдуардов из 10

Обед

12:00

В этот раз обедали в шатре, все очень вкусно, свежий воздух, красота!
Оценка: 9 наевшихся эдуардов из 10

Библиотека UI компонентов, о которой вы всегда мечтали

13:00

Внезапно БЭМ! А нет, показалось, все-такие React
Опять React всесильный...
Кстати, докладчик по скайпу, какой-то дядя из Амстердама и в данный момент звонок оборвали, потому что шаринг экрана пропал :(
Трансляция вернулась через несколько минут
О, клево, они делают нормальный стенд компонентов с помощью react-styleguidist, react-storybook
Говорит, бустрап проекта вещь не быстрая, иногда сложная, что делать, держитесь!
Ну приехали, опять туториал по React
Зачем останавливаться на верстке в js, встречайте jss - стили в js!

Оценка: 5 сколькоужеможнопрореакт эдуардов из 10

55+1 прием для улучшения JavaScript-кода

14:00

"хочушки клиентов" - эту фразу точно стоит взять на заметку
LIFT - locate, identify, flat, try to stay DRY
Разбивайте по модулям! Разбивайте на файлики, документируйте!
Единый код стайл!
Свои велосипеды оформляйте как подобает
О, слабая связанность решает - всегда люто поддерживал
Вообщем-то довольно капитанский доклад
Формируйте $scope в определенном месте, переносите логику из контроллеров из фабрики, ng-controller... Стоп, это же ангуляр!!! Нас обманули!!!
Дальше лекция идет в ключе, как не говнокодить в ангуляре...
Говорит упрощайте дом максимально, чтобы меньше элементов было, тогда будет быстро летать всё

Оценка: 5 обманутых эдуардов из 10

Angular 2 не так уж и плох... А если задуматься, то и просто хорош

15:00

Ха, докладчик отжег. Попросил всех размяться, встать, похлопать и в этот момент сфоткал аудиторию (типо потом начальству покажет, что все хлопали стоя)
Теперь нам продают angular2
Блин, спикер спросил у аудитории, у кого есть сахарный диабет, чтобы отжечь про синтаксический сахар... Даже руки попросил поднять...
Вкусности ng2: Встроенный билдер! Улучшенные директивы! Тайпскрипт!!!
46кб на хеллоуворлд! (это типо очень мало, если что)
Изоляция CSS!
Ангуляр мотивирует к иммутабельности и это хорошо! Не понятно правда почему...
Лол, из минусов... Потеря кодовой базы! Уход Promises в пользу RxJs (не факт, что это минус, правда)
Ахаха, в итоге они не переехали на второй ангуляр и остались с 1.5, вот она мораль

Оценка: 6 конформистских эдуардов из 10

Аналитика мобильного проекта — проверяй и доверяй

16:30

Докладчик честно пытался не пиарить метрику от Яндекса, получилось у него не очень...
AppMetrica = App Analytics + Ad Tracking + Crash Reporting
Проблема: Две аналитики - разные данные, как так?
Трекинг сессий - различные таймауты сессий
Агрегировать события по пользователям не всегда понятно зачем. Devices - более уникальное, простое понятие
Сессия - сеанс, определенный разработчиком
Выбираем метрику для отчетов в зависимости от бизнес-логики
Пример: ЯМузыка - работает в фоне, управляем музыкой через стандартный контрол - генерируются сессии
hit-based подоход: разделяем события на два типа - User interaction, Background activity. В итоге стандартные сессии уходят, разработчик сам определяет что считать началом и концом сессии
Мораль: исслудейте, что вы видете в аналитике

Оценка: 6 анализирующих эдуардов из 10

Что делать, когда костыли уже не помогают? Опыт tutu.ru

17:30

О да, рассказ про туту.ру, мы же на фронтенд конф пришли про компании послушать
Вообщем накодили там жути разной, решили все переписать!
Получилась схема: Модель - Адаптер - Компонент
Кстати, React! <_<
Использовали темплейты для Реакта... (не jsx!)
Сервер рендер темплейтов туда же, вместо ноды, кстати, используют phpV8
Ну вообщем, nothing special в докладе

Оценка: 5 костыльных эдуардов из 10

В погоне за производительностью. Психология пользователя

18:30

Производительность - это не математика, а восприятие!
Правило 20% - чтобы пользователи заметили лаг, должно замделиться на 20%
Показал пример, что мы тут 400мс разницу не прочувствовали
Если есть сервис A, который грузится за a секунд, B за b секунд - пользователь критично отнесется к задержке в момент sqrt(a*b) секнуд
Увеличиваем активную фазу, чтобы пользователь был занят в момент ожидания
Поддержка префетчей в браузерах
Активная фаза может быть в конце события - пример ютюб
Активной фазы нету - придумайте (тут пример с лифтом и зеркалом)
Слишком быстро - тоже может быть плохо. Пользователи могут не доверять, если по их мнению важная операция выполняется слишком шустро!
Мораль - соответствуйте ожиданиям пользователей! Доклад довольно интересный, полезный, позновательный!

Оценка: 9 задумавшихся эдуардов из 10

Итого: похоже, что тренд на React все крепчает, определенно была самая популярная технология. Хотя порадовали некоторые команды собственными разработками, например basisjs. Печально, но про бэкбон не было слышно почти ничего. Также довольно трендовым был es6 и его незаменимый спутник babel.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment