- PVSM.RU - https://www.pvsm.ru -

Отчет и презентации с Moscow JS в офисе Superjob

В офисе Superjob состоялась встреча JavaScript-разработчиков MoscowJS. Рассказываем, что обсуждали участники, и делимся презентациями.

Отчет и презентации с Moscow JS в офисе Superjob - 1

Александр Савин, Superjob

Трудно переоценить важность тестирования в процессе разработки. Тестирование интерфейсов скриншотами — один из подходов, который не только вовремя сигнализирует о регрессии в CSS, но и позволяет проводить рефакторинг шаблонов и стилей, не меняя тесты, упрощает процесс ревью. 
Однако при внедрении такого тестирования существует ряд типичных проблем, начиная с выбора правильного инструмента и заканчивая неконтролируемым ростом git-репозитория, вызванным хранением большого количества эталонных изображений.
В докладе рассматриваются актуальные инструменты тестирования скриншотами, приводятся варианты решения возникающих при организации тестирования проблем.



Денис Измайлов, Axept

Последние 6 месяцев в глобальном JavaScript-сообществе очень много шума происходит вокруг библиотек CSS-in-JS. Это неудивительно. Высокая конкуренция на рынке повышает требования к качеству веб-приложений. Вместе с требованиями растёт и сложность. Разработчики начинают понимать, что CSS, включая SASS и CSS modules, и тот низкий уровень контроля над стилями, который они предоставляют, неприемлемы сегодня в разработке веб-приложений. При всём этом JavaScript успешно вышел за пределы браузера, оказавшись в мобильных, VR- и Desktop-приложениях.

Иван Лягушкин, Альфа-Лаборатория

Компонентный подход позволяет сильно упростить и ускорить разработку веб-приложений. React — прекрасный инструмент для создания библиотек компонентов, но он вводит свои ограничения, одно из них — каскадный рендер. Это ограничение особенно актуально при попытках создать универсальные всплывающие окна. Нам пришлось использовать несколько вспомогательных оберток, нестабильные методы библиотеки ReactDOM, контекст и здравый смысл, чтобы научить наши всплывающие окна отрисовываться в произвольные узлы DOM-дерева. Зато теперь у нас в библиотеке самые универсальные на свете попапы, тултипы, селекты и модальные окна.

В своём докладе Денис показал проблемы CSS и то, как JSS решает их. Но и JSS, в свою очередь, не лишён недостатков. Есть общие проблемы в решениях CSS-in-JS (включая React Native), такие, как сложность миграции, кривая обучения и отсутствие интеграции с CSS-экосистемой. Для решения всех этих проблем Денис со своей командой разработали PreJSS — инструмент, который, собрав best practices, медленно, но уверенно начал набирать популярность в мире.



Михаил Бусырев, Crazy Panda

Кроме проблемы корректной постановки бенчмарков, очень важным является дальнейшее наблюдение за производительностью приложения. Производительность может деградировать по многим причинам, часто напрямую не связанным с тем кодом, который замедлится. В докладе продемонстрировано, как заменой таргет-стандарта при транспилировании из TypeScript в es3 и es2016 можно получить радикально отличающуюся производительность не в пользу последнего стандарта. Для уверенности в том, что все применённые оптимизации работают на пользу, а рефакторинги и обновления не убивают производительность, необходимо относиться к бенчмарку как к интеграционному тесту производительности приложения в среде, приближенной к реальности настолько, насколько это в принципе возможно.



Автор: Superjob.ru

Источник [9]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/javascript/251817

Ссылки в тексте:

[1] Презентация Александра: https://drive.google.com/file/d/0BzyxUcwres7NNTNORjlINU43RmM/view

[2] Видеодоклад Александра: https://www.youtube.com/watch?v=tS6XHqRhpEQ&feature=youtu.be&t=26m58s

[3] Презентация Дениса: https://drive.google.com/file/d/0BzyxUcwres7NeFptYWcxN1Z3QlE/view

[4] Видеодоклад Дениса: https://youtu.be/tS6XHqRhpEQ?t=43m2s

[5] Презентация Ивана: http://steward-judith-27387.bitballoon.com/

[6] Видеодоклад Ивана : https://youtu.be/tS6XHqRhpEQ?t=1h39m50s

[7] Презентация Михаила: https://docs.google.com/presentation/d/1Nii3bxeSvLtFeLtpXi_G9Ue_LVl28_WjGKJs4O1QoOA/edit#slide=id.p

[8] Видеодоклад Михаила: https://youtu.be/tS6XHqRhpEQ?t=1h56m34s

[9] Источник: https://habrahabr.ru/post/325512/