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

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