This talk will tell 3 entertaining stories (mixed with code) of application migrations with different approaches, different architectural decisions and different results. Attendees will get idea of how to approach framework-agnostic front-end migrations using microservices architecture, web components and good sense of humour.
As the number of possible states in your app grows, developing UIs can become exponentially more complex. With the help of finite automata, or finite state machines (FSMs), you will be able to manage your app's states in a simple, robust way, and even visualize them! In this session, we will discover how FSMs and statecharts can take your UIs to the next level, with innovative techniques for implementing, testing, and visualizing your app's finite states in a robust, automated way, with plenty of use cases, demos, and resources.
Martin wants to give web developers a sound understanding of how Googlebot and other crawlers see their content and what are common pitfalls to avoid.
Why would you want a server-side rendering app or static site generator? How can you improve user experience without negatively impacting developer experience? Nataliya will give you an insight into her experiences migrating a project to Next.js — from recapping a process to sharing the lessons learned.
A journey into the asynchronous debugging horrors, how to avoid them and what patterns can be used to ease the life of each developer debugging applications.
You'll learn about a new implementation of the Node.js runtime with its benefits and tradeoffs, and will understand whether you should evaluate it right away or maybe stick to whatever runtime you're using for a while.
Marina will code the graph traversal algorithm using recommendations problem as an example.
This talk will provide step by step guidance to ease the developer burden by letting a simple E2E testing and QA tool do the continuous interactions with the application for you.
We'll explore the process step by step, from putting service into Docker to Blue/Green deployment in Kubernetes. We'll tell not only how, but also why.
Andrey Sitnik, author of the famous Autoprefixer, PostCSS, Browserslist, and Nano ID, will tell about his experience of promoting open source projects. You will learn how marketing works in open source, learn to shield yourself from hype and choose technologies that would actually be of use for your project.
What is behind a simple and easy-to-use API? Is it really that difficult to create your own SPA router? What are the different approaches and their advantages, caveats? Let's answer all these questions by comparing different routers and taking a deeper dive into Vue Router.
Ilyas will tell about Google Closure Compiler's inner workings and try to show best practices established for 7 years of working with it.
Alexey will tell about DevTools Protocol, which parts of it you can use to build your own tools for Node.js and how you can do it. In addition to that, he will show how to write your own plugin for ndb, to get a convenient GUI for your tool as well.
Come to learn what challenges the NativeScript team met embedding V8 in a mobile framework and how they were solved.
Join Ujjwal, a Node.js core collaborator and an avid contributor to V8 in order to know all about ES Modules. You will come away with a deep understanding of how the module systems work internally in Node.js and what are the challenges facing these systems, moving forwards.
We'll not only explore the very concept of recursion and its mathematical origins but also show how we can implement it without any explicit support, live-coding together we'll reinvent one of the most beautiful ideas in computer science: the Y combinator.
What should you do when you need to print pretty PDF files very quickly and to a good quality? Or when you're required to make PDF previewable before printing with an online editing option?
We'll discuss processing of data lake with cloud AWS Lambda functions on Node.js, from choosing cloud design patterns to deep diving into optimization of lambda functions on Node.js.
Artem will tell how today's most popular static typing solutions work and how he writes his own solution.
We will dive deep into the design principles and implementation details of MobX. If MobX always looked like magic to you: after this talk no longer. And most importantly, we'll discover that predictability and speed are not competing concerns but rather catalysts of each other.
As humans, we average 29,000 thoughts a day but we can only navigate applications with our fingers and voices. Why not use our minds as a service and drive the user experience with our thoughts?
Pavel will start with an overview of Apollo Client's and Relay architecture. He'll tell what "hairy" GraphQL is, how it can be useful and what are the differences between it and RestQL. He'll show how to use GraphQL correctly on the client side in react-apollo, how to write bottom-up queries over fragments (just like in Facebook). Then he'll match it with TypeScript to get hardcore enterprise static analysis.
The future of web testing and automation belongs to Puppeteer — Andrey will show why and how.
Being a developer in 2019 means being able to make beautiful, fast and fully accessible user interfaces. In this talk you will learn how to apply the best accessibility practices when making "asynchronous" components and how to test these components with modern assistive technologies.
This talk discusses the process of building an unified design language and designing a high-quality library of reusable, composable, themeable, and highly customizable React components.
We'll explore an approach to writing type-safe code and toolset for this, as well as benefits and drawbacks of using TypeScript.
Classic example-based testing has a lot of flaws. Nazim will consider the advantages of another approach — property-based testing. He will start from the simple mathematical functions, gradually making his examples more and more complex up to real-life examples.
Arkadiy will tell how modern web developers can use the magic of machine learning in their client-side applications, what they should know in order to do that and what tools they can use.