A modern frontend without errors and crutches. 8 useful talks from the DUMP conference

Hello, Habr!

DUMP IT conference and Frontend section program committee are in touch: Polina Gurtovaya (frontend developer at Evil Martians) and Yegor Khodyrev (team lead, full stack developer at Knopka)

Who agrees that modern frontend is difficult? Why are we bothering with configuring Webpack? Why does the SSR implementation require writing so much code, and do we need it at all at such a cost? Who is to blame and what can we as developers do?

This year, together with our speakers, we will try to answer these and hundreds of other questions in the Frontend section as clearly as possible.

Their ideas and solutions will be presented by:

– Alexey Okhrimenko from Yandex.Music will make a presentation “ Trassi … what? ”

Debugging an application takes 99% of our time. Someone uses Chrome DevTools, someone gets by with the usual console.log, someone uses profilers. Often these tools are more than enough. But there is another one that is not very well known and popular in the JavaScript world.
Tracing is the process of stepping through a program. In trace mode, the programmer sees the sequence of command execution and the values ​​of variables at a given step in the program execution, which makes it easier to detect errors.

In this talk: on the pros and cons of tracing, existing tools, and I will share tips that helped me cope with even the most complex codebase.

– Grigory Petrov from Evrone will present a report “ Do we need N (e / u) xt.js? ”

A modern frontend is tricky. If legacy projects are limited, then for new applications, in addition to setting up Webpack and Babel, we have HMR, SSR, code splitting, routing, caching, stream rendering – and this, not counting the front-end framework and backend, CI / CD and deployment.

HMR “breaks” on applications more difficult than hello world, SSR configuration on the Internet is called “hellishly difficult”, well, and routing, in a self-respecting front + back bundle, can be incorrectly organized in ten competing ways.

All this complexity has spawned a new direction for jamstack, and solutions such as Next.js and Nuxt.js are “opinionated frameworks” where everything is set up for us.

Gregory uses these two frameworks in his talk to talk about the main difficulties of modern front-end development and how we can deal with them: ready-made templates, our own code or new application architectures. We will see the difficulties from the position of “why did it happen?”

Roman Omelnitsky from Yandex in the report “ State management on state machines ” will tell that what state machines and statecharts are and how they can help us write cleaner, more transparent logic. He will show you how to apply them, what ready-made solutions exist and what they allow you to do.

And the possibilities are impressive! This is prototyping and synchronization with design, management of complex interface blocks, assistance in collecting analytics and testing, documenting behavior and animation.

Andrey Goncharov from Hazelcast and the topic of his speech, which sounds like this: Lifting state up is killing your app.

Have you heard about lifting state up? Could one of the twelve key concepts in the official React docs lead to poor performance? As part of the talk, we will make the simplest grid in React. Let’s take a step-by-step look at the performance issues that arise. We will see that sometimes O (1) is not fast enough. We’ll profile and refactor until the application runs faster than you can tell React.

Leonid Semenov from InvestEngine will make a presentation on “E2E tests in browsers. When Cypress, and when not very. “

What to do if mistakes in production are fatal, and releases are on every day?
How to save yourself from sleepless nights, a panic fear of breaking the product, and not suffer from testing at the same time?

There may be many answers, but it seems that one is obvious – autotests!
How to implement automated end-to-end testing?
Here you will learn about two implementations, two tools, one journey, problems along the way and about the path itself.

– Roman Lysov from Semrush will tell how to create React components that will be pleasant to use.

The problem of customizing components and using them with each other is always painful, and Semrush has solved this problem.
Roman’s report is based on 4 years of experience in creating a design system for a large number of developers. He will teach you the best practices and patterns for writing common components that will help make your component APIs more flexible, understandable, and predictable, which will ultimately save you many man-hours in future maintenance.

– Lyudmila Mzhachikh from Mail.Ru Group in the report “ How to test a frontend without testers and sleep peacefully ” will explain why the development process cannot do without bugs and how to minimize them. This is only possible when development and testing live together.

Lyudmila will share her experience of crossing testing and development, how the teams automated regression testing, what tools she used, what difficulties she faced and what came of it.

Polina Gurtova from Evil Martians to give a talk ” RTC and Frankenstein ”, in which he will talk about the peculiarities of using WebRTC for combat missions, describe the problems that await developers, and show how to overcome them.

We will hear and discuss the experience of our speakers on May 14 in online and offline formats. Full DUMP conference program and tickets Online

In the meantime, the speakers are preparing for their speeches, see the TOP-3 speeches of the front-end section from our last conference >>>

1. Vitaly Dmitriev and his “Reactive programming. How to think reactively, not proactively”

2. Aleksandra Shinkevich shared the developer’s pain in the report “How to implement development standards so that no one gets hurt”

3. Vadim Makeev and 15 years of experience: from creating and exporting graphics to optimization and insertion in his speech “Make a Fly Out of an Elephant”

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *