The story of Krono: the engine used in Art. Lebedev Studio to create 3D websites. And the story of the website made for Aquarium rock band: work on it led to the creation of Krono.
The speaker will talk about what modern PWAs can do, how their appearance has changed, how they are integrated into operating systems and in which cases they solve user tasks as well as native applications.
We live in the real world, where in addition to projects written from scratch, all sorts of things can be found. Some people call it "code smell", others politely call it legacy. But the point is the same: the project is full of technical debt.
Alexey's talk is about how you can make such projects a little better. If you have a project written in JS that has been alive for more than a year, check out this talk.
In the talk, we will learn the best way to measure Code Coverage with Playwright, deal with emerging issues, learn how to speed up Playwright and Jest tests, and learn how to combine the results of several test runs into one report.
Reactivity is a damn good pattern, and Gleb wants to talk about why it's so cool, how to approach it, and how to use it to your advantage in your work. The speaker's world has split into before and after, and he really wants you to experience this phase transition, too.
A talk about how normal™ indexes work in databases. It will be extremely useful both for those who start working with databases, and for those who worked previously, but forgot a lot. Are you using IndexedDB? And the order of columns in an index correct specifies? Or maybe you have a PostgreSQL backend. And there without indexes anywhere. Consider: how the index speeds up the search, whether it is necessary to index where conditions, whether it is necessary to index conditions in order by, whether it is necessary to index foreign keys, what to do if there are several search criteria, in what order to specify columns in the index, cases when the index slows down, and how to reduce the impact of the index on the application.
Container Queries will have full browser coverage in the spring, which means that there will be no more reasons not to use them in production. But what specific tasks can be accomplished more easily and quickly with the help of technology, and how exactly will its application facilitate the solution of typical tasks? That's what we'll talk about.
We will talk about the so-called Array Programming Languages, a group of languages that stands apart from the mainstream. Most likely, if you see code in such a language, you will think it is a joke. Nevertheless they have their place in the modern development world. Together we will try to understand their internal logic, examples of use and what we can learn from programming in such languages.
Microfrontends are a complex scheme of interaction between individual modules. Each new module needs to be carefully configured, and the local server needs to be updated to be able to connect a new microfrontend... But why complicate things so much? In fact, to add a new microfrontend it may be enough to install the package and let discovery will do the rest for you. Let's see how it works.
The most important addition in React 18 was Concurrent Rendering and related hooks like useTransition, useDeferredValue. Those updates have their benefites, but let's figure out when we lose those advantages and when blocking rendering is still more useful after all. Let's look at past versions, compare them with the latest one, dig into the sources, and understand the history of React Concurrency.
How automation of processes and support helped relieve the frontend platform team. The speaker will explain why a bot is not just a tribute to fashion, but an effective tool for onboarding and customer support. He will also talk about Code Review, Review Roulette and React.
Let's talk about what Cocos Creator is, its features, main pros and cons in relation to Unity and Unreal engines. We will briefly analyze how to work with it, and create our first project - a game with Flappy Bird mechanics.
A story about the use of custom renderer with maplibregl maps, interaction with glTF models, challenges and decisions made while working on a PSIM security system.
Developers used to think that server-side applications were slow, so they decided to move some of the work to the client side, creating so-called fat clients. As it turns out, such applications are even slower, and it seems that this was a failed idea to begin with.
In the talk the speaker will highlight the latest solutions emerging from the evolution of web frameworks. And will answer the question: is a fat client a bad thing?
The story of how the speaker's team accelerated the page rendering time of the mobile version of VKontakte. With a listing and parsing of all the current frontend optimizations that exist at the moment, including the latest technologies from Google, which are little known on the market.
The speaker will talk about the possibilities of using SVG to build interactive interfaces. The best practices and performance issues will be touched upon.
Cocos Creator is a game engine, the Chinese analogue and competitor of Unity3D, which uses TypeScript as its programming language. Unfortunately, the documentation for Cocos Creator available in public sources is extremely scarce, and the engine itself does not provide or recommend any architectural solutions.
In this talk we will talk about what is good about Cocos and why the team chose it. The speaker will talk about what infrastructure is lacking for creating full-fledged games, and share his own experience in solving the main problems.
An overview of modern AI capabilities in relation to front-end development. How can ML technologies be used to optimize and speed up the development process?
Let's talk about how to set up an accessibility process on a big project like the search results page. We'll tell you where to start, where to run, and how not to drop what's already made accessible.
Chrome browser statistics show that one in ten jumps to the previous or next page on your computer and one in five on your mobile device. The transition doesn't have to reload the page, it can be instantaneous. The browser itself has a native solution for this - BFCache, a special cache for jumping back and forth.
From the talk, you will learn how to enable BFCache on your site. The speaker will talk about it using the example of Yandex Market, share problems and peculiarities and touch on the topic of tests and metrics.
We’ll talk of static types and domain modelling, of application architecture, of data parsing and error handling and of what does ReScript have to offer for all these jobs.
JavaScript is often used to write user scripts. For example, you can write your own plugin for Figma or a function for calculating a discount for a store in Shopify. But it is necessary that the code be executed in a sandbox, and quickly and efficiently, because there can be many users. How to achieve this? Let's take a look at JavaScript JIT compilation in Wasm, see what kind of performance this solution shows and how it compares to existing approaches like QuickJS.
Microfrontends are a complex scheme of interaction between individual modules. Each new module needs to be carefully configured, and the local server needs to be updated to be able to connect a new microfrontend... But why complicate things so much? In fact, to add a new microfrontend it may be enough to install the package and let discovery will do the rest for you. Let's see how it works.
Telegram Web Apps is analogous to the well-known and mature technology from VKontakte, VK Mini Apps. It allows developers to move away from the classic bot-to-bot communication via chat, if necessary, to a visual interface that allows for maximum flexibility. The communication takes place with the developer's server, not with the Telegram server, which has its own advantages and disadvantages.
It is worth mentioning, that unlike the classic implementation of bots, which always consists of a backend server, Telegram Web Apps is directly connected with frontend development, which will be extremely useful for developers concentrating on the client side.
Maria will talk about the state of the ECMAScript standard at the moment and what awaits us in ECMAScript 2023. Why can't we comfortably work with Date yet? When will JavaScript become more functional? Also during the talk we will go through the new Web APIs.
Using Lottie is simple, but how does this magic work? We'll go through the basics of animation playback: layers, transformations, keyframes, animation curves. Dive into the lottie.json structure. And also we'll see what exactly lottie-web does and what patterns the developers of this library use. And to wrap it up we'll consider a non-obvious use of Lottie. There will be many pictures!
The speaker will talk about a model problem he once needed to prototype in two days. You will learn about the requirements to a prototyping tool that follow from the task and see the tools that somehow fit the task in the JS world.
Why was only Moleculer the right tool for the task? The speaker will give you the results of benchmarks and talk about Moleculer architecture.
Eugene will consider how animations in RN work out of the box, why the Reanimated library appeared, why we need a second JS-stream and what it has to do with JSI. The report will be useful for RN developers, web developers who want to get an idea of how RN works, as well as for nativists who are interested in looking at the performance of something written on the cross-platform.
We'll discuss why it's beneficial for business to make digital products accessible. We will talk about what is digital accessibility and inclusion, where to learn how to make services accessible without leaving the native product. We will learn how to comfortably integrate digital accessibility into the business process on the example of the open library of VKUI and vk.com React components.
The discussion will be interesting not only for developers, but also for designers, product managers, testers, analysts, researchers and even HR teams.
At the BoF, in contrast to talks and roundtables, there is no division into participants and presenters: here everyone interacts with each other as equals. The main thing is not to off-topic and discuss the topic.
The story of how MyOffice built a web-based document editor. There is a kind of "magic" core, on which all the main functionality of editors for different platforms is tied. The report will tell about the global architecture and key decisions, about the “magic” of the kernel and how it is worked with in the web editor team, what does Wasm and Emscripten have to do with it. The topic of rendering on canvas and the main challenges that the team faces when developing a web editor will be touched upon: working with fonts, links, focus and selection, performance. And finally, a little about the existing problems and their potential solutions.
The speaker will tell you how to build a huge web application using pure architecture approaches without getting bogged down in the elements of logic.
There will be examples of applications that the speaker has already implemented. He will also share libraries that allow you to use CA in your projects on functional components with hooks. Then you'll learn how to make your project even bigger, not by building huge applications, but by making many small applications. We'll also see how CA helps with all of this.
The speaker will talk about a model problem he once needed to prototype in two days. You will learn about the requirements to a prototyping tool that follow from the task and see the tools that somehow fit the task in the JS world.
Why was only Moleculer the right tool for the task? The speaker will give you the results of benchmarks and talk about Moleculer architecture.
Using Lottie is simple, but how does this magic work? We'll go through the basics of animation playback: layers, transformations, keyframes, animation curves. Dive into the lottie.json structure. And also we'll see what exactly lottie-web does and what patterns the developers of this library use. And to wrap it up we'll consider a non-obvious use of Lottie. There will be many pictures!
The talk will present the way of building a microfrontend architecture by the example of the MTS Exolve project.
The speaker will talk about the rejection of the company's main framework - Vue - in favor of React, about building a simple microfrontend architecture, about ideas and principles.
You've probably heard the expression "JavaScript is everywhere", and every year it becomes more and more relevant. It would seem that the usual frontend is already firmly established in the backend, in mobiles, and on the desktop. But what is a frontend developer to do with all this diversity? How to choose a direction for development?
As a leader of a resource pool of JavaScript developers, the speaker has seen many different career transitions. In this talk, Andrew wants to share a roadmap of possible development as a front-end developer. We will talk about both vertical and horizontal transitions, as well as analyze unexpected career paths based on life stories.
Let's look inside the IDE and analyze the mechanisms which let us get help in writing code (in the context of JavaScript and TypeScript). Let's look at the capabilities of the two main platforms for creating extensions - not only in relation to working with code, but also in relation to user interaction. Let's try to understand how difficult it is to write a plugin for each of the platforms that h with a specific JS framework. The talk will be of interest to those who are thinking about releasing a plugin for their library / framework, as well as to those who wanted to understand how it works and why sometimes everything slows down so much.
Let's take a look at how we went from "classic" passwords to 2FA, Webauthn and Passkeys, and how, why and how it all works. Let's look at the advantages and limitations of passwordless technologies and discuss how to live with it all, whether you can (and should) implement them in your projects right now.
Let's talk about what sizecoding is and how it differs from classical programming. Let's discuss several algorithms for specific demo effects and their implementation. We will study programming tricks that allow to fit into a given amount of executable code.
Code in the Dark is a layout competition (HTML, CSS) where 4 participants simultaneously try to replicate a design implementation with only a layout. During the round, no preview of the results is allowed and no measuring tools can be used. The winner is decided by the audience.
There will be 4 rounds of 15 minutes each and a final. Participation is free, by appointment in the networking area.
Lightning Talks are a great format to quickly discuss a topic and find like-minded people. You are waiting for ten-minute talks on near-professional topics and lively discussions.
Have you been thinking about trying yourself as a speaker for a long time? Are you eager to share your ideas or case studies with the world? Have you watched the HolyJS talks and feel that you can add something? Submit an application for a Lightning talk in advance via link or right on the site and expand the list of conference topics!