FrontendConf 2015, Москва
Тезисы
- будущее JS (наверное про будущее CSS тоже было, но я эту ветку я пропустил)
- сборщики
- шаблонизаторы
- MV* фреймворки
Впечатление
Конференция выдалась насыщенная, хорошая плотность докладов
и отсутствие 15 минутных вбросов (блиц-докладов), часто не раскрывающих сути,
а являющаяся лишь ссылками на дальнешее изучения гитхаба или блога
вбросившего. Взамен - круглый стол по какой-то теме, – интересный формат,
похож на то, что обычно делают в пабах после конференции ;)
Разделение на несколько потоков положительно сказывается на психике
поситителя, т.к. упрощает выборку зала по заране известному признаку.
Первый день это были CSS\HTML vs JS, второй – веб-приложения и разное-прикладное.
Организация в порядке, есть где побродить между докладами, купить тематическую
литературу, погонять кикер, airhockey и тп. Есть даже еда, как бесплатная, так
и выездная кафешка от А. Лебедева (однако не отпускало чувство, что они просто
таскают пирожки с бесплатной кухни и продают их за деньги на 5 метров ближе)
В содержании кофы видно очень много хайпа вокруг CoffeeScript, его, кажется, разлюбили.
Цитата:
Кофескрипт имеет плюсы и минусы: плюсы – он позволяет не ставить точку с запятой,
минусы – список из 8 пунктов.
Зато теперь все любят новый ES6+ и радостно используют компиляторы.
TypeScript самый мощный и самый популярный способ типизировать JS.
В то же время Babel поддерживает больше фич, но не типизацию.
По-прежнему много внимания шаблонизаторам и кончено же MV* фреймворкам:
Не знаешь какой взять – бери React!
Разработчики соревнуются в методах обойти его в скорости (как оказалось довольно
просто) и с радостью делятся результами и собственными двухколесными изделиями.
Доклады
Никита Прокопов
Статья
- Иммутабельность и чистые функции == легкие на подъем тесты
- Мммутабельные коллеции (enum?)
- Пример из React
- (!) Классная фича: прокрутка кода с изменением входящих данных и промоткой по истории назад с учетом измененных данных
Статистика-аналитика
Павел Довбуш (Badoo)
..и ту же тему продолжает:
Николай Мациевский
Сгруппированные данные о времени загурзки:
- по типам файлов
- по реферреру
- по типу оптимизации
- по URI
- ..и другое.
Владимир Кузнецов (Graph)
Cлайды
- Рассказ о сборщиков, звезды - webpack & browserify
- Концеции в фокусе: CommonJS, AMD, UMD, ES7
Сергей Белов (Digital Security)
Слайды
- CSP (content security policy) - позволяет ограничить пути для выкачки ресурсов
- Популярная уязвимость через определенную сборку Adobe Flex
- Как утекают токены через загружаемые картинки, если в урле есть какая-то информация об этом
Андрей Саломатин (Productive Mobile)
Слайды
- Callback
- Promises (медленные :( )
- Coroutines
Нативное будущее:
- Async/Await
- Async Generators
Дмитрий Дудин
Слайды
Статья
- nw.js, electron
- структура приложения:
- HTML, CSS, JS
- package.json
- Возможность собрать десктопное приложение из готового API
- Широкие возможность применять методы для fs
- Кроссплатформенность
- [Хакатонмод] Собрать морду для упраления проектом.
Борис Каплуновский
Слайды
- templ - собственный шаблонизатор
- под ударом – Angular, React и вообщем все прочие MV*
- Основные аргументы против: вес, скороcть работы (было показано много замеров для доказательства)
- Virtual DOM, глубокий стек и неоправданная сложность
Александр Майоров (Tutu.ru)
- JS compilers
- CoffeeScript
- TypeScript ~= ES6+
- следит за типизацией, защита от ошибок
- мифы о TS
- хорошая поддержка у продуктов JetBrains
- TypeScript = Babel(он без типизации) + FLOW (by Facebook)
- РазрущителиЛегендМоде: вопрос про Babel vs TS обернулся не в сторону TypeScript
Сергей Рубанов (Exante Limited)
Слайды
- батхерт по CoffeScript
- Dart перестал разрабатывать вирт машину
- asm.js и гонка улучшений джаваскриптов
- AOT vs V8 JIT
- Новая нумерация версий
- Транскопиляторы (traceur, babel)
- Статичесская типизация
- Встроенная типизация в JS VM: SoundScript, Sane Mode
- работает в Canary
Всегда ставтье на JavaScript! (с) B.Eik
Валентин Васильев
Один из интереснейших докладов о том, как определить юзера без cookiesс вероятностью 90~95%
- Скандал с порнохабом ;)
- Evercookie:
- HTTP Cookie
- Flash (local shared objects)
- Canvas-generated cached IMG (RGB)
- Web History
- Session Storage
- Local Storage
- Global Storage
- HTML5 Database storages
Андрей Рахманов (Enaza)
- поддержка WebComponents (tekmlates, custom elements, shadow dom, imports), workarounds
- Polyfills: native, bosonic,, x-tag, polymer
- Nodejs + browserify + gulp + jade + stylus
- Polymer Vulcanize для конкатенации импортов
Все это выродилось в технологический стек, который создает веб-компонент со всеми составляющими одной командой.
Полезные ссылки
Денис Радин
- Простая инициализация через html-gl
- ~100 000 000 textured areas
- Пример с CryEngine
- Рендеринг на WebGL, 20 000 зайцев
- Как мешает встроенная эврестика
- Есть ограничения html2canvas (например на инпутах)
Андрей Гершун
Реализация SQL на JS.
Презентации из докладов с параллельного потока