Impressions after The Rolling Scopes Conference 2019
Plan
- Реалити шоу "Cкрам 2 - Построй свое приложение", или Сказ о том как мы всей командой тесты писали.
- Svelte. Первый взгляд.
- Don’t (re)write code. Let AST do it
- What A Drag
- Technical SEO for JS developers
- How to set up a pipeline with visual unit tests for your application
- Privacy UX
- The Quest of the Styling Grail
- Панельная дискуссия: Гайд по front-end разработчику, патч 2019
- Строим PDP на основе гайдa по front-end
Реалити шоу "Cкрам 2 - Построй свое приложение", или Сказ о том как мы всей командой тесты писали

Irina Levina
Minsk, Belarus
Какие
- unit - 1/3 функционала
- интеграционные - важные связи
- функциональные - на устоявшийся функционал
Советы
- Тестируем старый функционал и популярные компоненты в первую очередь
- Функциональные тесты - тестировщику
- Искать методы борьбы с зависимостями
- Snapshots тестирование это не хорошо
- Screenshots тестирование это хорошо
- Performance testing
- Monkey testing
PageSpeed Insights


gremlins.js





Svelte. Первый взгляд.

Alexander Shushunov
Tver, Russia
for what need frameworks
(event-driven
vs
state-driven
development)
React:
state => VDOM => DOM
Svelte:
state => DOM
Svelte pros:
- speed
- bundle size
- no runtime
- lines of code
- good for low-level devices
- good for universal UIKit
bundle size:

lines of code:

todo app








Links:
Don’t (re)write code. Let AST do it

Nikita Sidorov
Nizhny Novgorod
Problem

Solving

Abstract
Syntax
Three
schematic
AST
example


result of syntax analysis





a simple example of code reformating

import { parse } from 'babylon';
const initialCode = 'const abc = 5';
const ast = parse(initialCode);
console.log(ast);import { parse } from 'babylon';
import traverse from 'babel-traverse';
import generate from 'babel-generator';
const initialCode = 'const abc = 5';
const ast = parse(initialCode);
traverse(ast, {
enter(path) {
if (path.node.type === "Identifier") {
path.node.name = path.node.name
.split("")
.reverse()
.join("");
}
}
});
const newCode = generate(ast);
console.log(newCode);
Links
What A Drag

Vojtech Miksu
San Francisco, United States



Problems
- It is not supported on mobile
- Very limited drag preview customization
- Difficult API
1
React DnD libs




react-movable


react-movable playground


Links
Technical SEO for JS developers

Martin Splitt
Zürich, Switzerland
How Googlebot processes JavaScript

robots.txt



Sitemap.xml



title and meta description

React SEO tip

Angular SEO tip


dynamic rendering



Links
How to set up a pipeline with visual unit tests for your application

Denis Artyuhovich
London, United Kingdom
visual regression (screenshots) testing

Algoritm
- Create screenshot of page (puppeteer)
- Compare with old screenshot (jest-image-snapshot)
- See resulted image


Example



result of test execution

jest-allure


example of report

Links
Privacy UX

Vitaly Friedman
Freiburg, Germany

Link to article:
https://www.smashingmagazine.com/2019/04/privacy-concerns-ux-web-forms/
The Quest of the Styling Grail

Artur Kenzhaev
Moscow, Russia


styled-components
Cons:
- Performance
- Difficult API (for designers)
reshadow as alternative
Cons:
- Alpha version
- Not popular


Pros:
- Performance
- Easy API (for designers)
compare perfomance


working as css modules

working as css-in-js


Links
Панельная дискуссия: Гайд по front-end разработчику, патч 2019
Состояние индустрии
(застой vs зрелость)
junior / middle / senior / lead
(hard skills => soft skills)
Где и как развиваться
(работа vs дом)
Менять ли проект/работу если чувствуешь стагнацию
Менторство
Строим PDP на основе гайдa по front-end
RSConf 2019 expressions
By Denis Bogush
RSConf 2019 expressions
- 150