Start of main content

  1. November 9. Online

    • Watch recording

      Talk type: Talk

      Distributed actors and where to find them

      We are building our own protocol for the p2p network, available to everyone on pure swift. Let's open up new possibilities for current application applications without headaches.

    • Watch recording

      Talk type: Talk

      Multi-platform Redux and SwiftUI / Jetpack Compose

      By the example of the "Народный Картограф" application we will demonstrate the architecture that allows standardizing the description of the UI applications, minimizing the amount of platform code, consisting of SwiftUI / Jetpack Compose screens, and bringing all the logic in multiplatform Redux, written in Kotlin Multiplatform.

    • Watch recording

      Talk type: Talk

      Gradle: Incremental compilation 101

      An exploration of the incremental compilation mechanisms found in today’s Android toolchain. The speaker will explain what an ABI is, discuss the «degrees» of incrementality and discuss how to develop an efficient build code base.

      The talk is aimed at Android developers, but will also be useful for JVM-backend developers using Gradle. The iOS guys might be interested in broadening their horizons or getting inspired for their own research.

    • Watch recording

      Talk type: Talk

      The bot is like the heart of the Community

      How to transform a bot from a small communication tool and receiving problem requests into a full-fledged product with its own image?

      The speaker will tell how a small Python bot became the heart of all iOS-community processes in Sberbank Online. The talk will be useful for active members of their communities and developers who want to automate routine work.

    • Watch recording

      Talk type: Partner’s talk

      Sorry, Rosetta, we have to break up

      Anton will talk about how Cian adapted the iOS project to build on Apple Silicon processors and got rid of Rosetta completely.

    • Watch recording

      Talk type: Partner’s talk

      Screenshot-testing in design-system

      The speaker will tell you how to set up screenshot testing in the design system to find bugs in the UI before release.

    • No record

      Talk type: Partner’s BoF-session

      Квиз по Android

      Квиз состоит из 20 вопросов. Пятеро участников, которые быстрее всех правильно ответят на наибольшее количество вопросов, получат подарки.

      Для того, чтобы принять участие, необходимо зарегистрироваться в нашем боте, выбрать команду /current_quiz и присоединиться к трансляции.

      Ссылку на бота можно найти в разделе Квизы и Розыгрыши.

    • Watch recording

      Talk type: Talk

      How to build DI in a multi-module iOS app using Needle

      Let's briefly recall what modularization is, why it's needed, and what Dependency Injection has to do with it. Let's think about how this principle, or rather the framework that implements it, helps with modularization.

      Next we will discuss why Needle is the best choice among the existing open source DI frameworks. Let's also talk about Needle itself - how it is designed and what are the nuances of using it.

      In the end, we'll return to how to use it in a multi-module application and how to circumvent the problems it causes. Let's not ignore the topic of testing either - let's talk about how to write tests on code that uses Needle.

    • Watch recording

      Talk type: Talk

      The Elm Architecture in Prod

      The speaker's team has gone from MVP to MVI and from MVI to MVU over the past four years. This talk is about that thorny path. You'll learn why the team decided to move away from the brainchild of Badoo: the bundle of Ribs and MVICore.

    • Watch recording

      Talk type: Talk

      One more thing about images

      The speaker will explain what images are in computer memory, touch on the differences between UIImage, CGImage and CIImage, talk about Core Graphics and Core Image, and finish by creating custom CIFIlter based on Metal shaders.

    • No record

      Talk type: Partner’s BoF-session

      Cross-platform turmoil: Looking at the KMM

      KMM has already become a buzzword and got another round of popularity with the October 10 beta release. Well, the API is fixed and now you can experiment with KMM with less caution, dragging it into production.

      Let's try to figure out the pitfalls you may encounter when integrating KMM into your project. Let's try to determine what exactly is worth putting into KMM modules and which platform is easier to adapt to work with the new cross-platform framework.

    • Watch recording

      Talk type: Interview

      Is Bazel needed in Android development?

      Bazel has been very well promoted by Google in recent years. This wave has been picked up in the Android industry as well.

      The speaker will tell you about the main automation scenarios in Android development and compare how they are implemented in Bazel and Gradle. From the talk you will learn if Bazel is really faster than Gradle.

    • No record

      Talk type: Partner’s BoF-session

      Квиз по iOS

      Квиз состоит из 20 вопросов. Пятеро участников, которые быстрее всех правильно ответят на наибольшее количество вопросов, получат подарки.

      Для того, чтобы принять участие, необходимо зарегистрироваться в нашем боте, выбрать команду /current_quiz и присоединиться к трансляции.

      Ссылку на бота можно найти в разделе Квизы и Розыгрыши.

    • Watch recording

      Talk type: Talk

      How Yandex Go implemented BLE scooters

      The speaker will talk about the experience of using Bluetooth to solve product problems. You will learn what problems arose during the development process, and what came out in the end. It will be interesting for those who are considering interaction with third-party hardware in an application (or may be interested in using Bluetooth for new features).

    • Watch recording

      Talk type: Talk

      What computer parameters affect the speed of Gradle builds

      Which characteristics do you think have a stronger influence on the speed of building your project - the CPU frequency or the RAM frequency? The number of CPU cores or the amount of RAM? Does the speed of permanent memory affect the build speed? One day the speaker had such questions in his head, and he decided to find answers to them.

    • No record

      Talk type: Partner’s BoF-session

      How to speak intelligently with a team leader if you want to grow

      Let's break the career path down to its molecules. What to do if you feel like you've been stuck in one role? What to consider before you go to a lead? How do you start a conversation with a team leader, and what are the success factors? Let's gather opinions and experiences from both sides - HRBP and techlead.

    • No record

      Talk type: Partner’s BoF-session

      Квиз по Flutter

      Квиз состоит из 20 вопросов. Пятеро участников, которые быстрее всех правильно ответят на наибольшее количество вопросов, получат подарки.

      Для того, чтобы принять участие, необходимо зарегистрироваться в нашем боте, выбрать команду /current_quiz и присоединиться к трансляции.

      Ссылку на бота можно найти в разделе Квизы и Розыгрыши.

  2. November 10. Online

    • Watch recording

      Talk type: Conversation

      Opening

      We will talk about the schedule, sessions, and share the information. Join the broadcast to find out what's on the air soon!

    • Watch recording

      Talk type: Talk

      TDD + BDD = TBD (Tests, Business, Development). The engineering culture triad

      Lots has been said about how to write testable code and about the importance of dependency management. But practically no one talks about how to write tests themselves. Why in some projects tests serve as documentation, and in others they only complicate maintenance? What to do if tests are being written, but the percent of code coverage is not increasing? How to turn a routine description of test cases into a creative process which is clear for all the team? The point of the talk is to answer these and many other questions, show the audience how to write readable and simple-to-maintain tests forming engineering culture.

    • Watch recording

      Talk type: Talk

      Navigating in Jetpack Compose

      There are several libraries to implement navigation in Jetpack Compose: google navigation, voyager, modo, appyx, oddysey, but what to choose and how to understand which is better?

      The speaker will compare different libraries, highlight their strengths and weaknesses, compare them in real cases. We will consider most of the real cases, including the integration of navigation into a real application with Fragment. You'll learn more about Modo, why it has no counterparts and why you should choose it (spoiler, because UDF).

    • Watch recording

      Talk type: Talk

      Vector Icons in Android: Anatomy, Pathophysiology, Diagnostics and Surgery

      We all use Vector Drawable icons. How they are designed, how they are parsed and rendered on the canvas–you can google it all.

      The speaker will tell about more complicated things: how to optimize them, find meaningless groups and useless clips, invisible paths and excessive detail. And you will also learn what to do with too long pathData warnings that everyone has encountered.

    • No record

      Talk type: Partner’s BoF-session

      Квиз по мобильной разработке

      Квиз состоит из 20 вопросов. Пятеро участников, которые быстрее всех правильно ответят на наибольшее количество вопросов, получат подарки.

      Для того, чтобы принять участие, необходимо зарегистрироваться в нашем боте, выбрать команду /current_quiz и присоединиться к трансляции.

      Ссылку на бота можно найти в разделе Квизы и Розыгрыши.

    • Watch recording

      Talk type: Talk

      Android Navigation at scale

      The speaker will consider problems that arise when using Jetpack Navigation in a multimodule project, give his own extensible solution and discuss pros and cons.

      Part of the talk is dedicated to problems and interesting solutions that arose during the implementation of deep links support. It will be interesting for wide range of Android developers: those who are just starting to work with Jetpack Navigation or those who have already tried it and are searching for alternative solutions. It will also be interesting for all those who want to see how to apply the algorithms in practice, using the deep links support module as an example.

    • Watch recording

      Talk type: Conversation

      Roundtable about the design system

      What are some of the warning signs about the need for a design system on a project and how to prove this idea to the management?

      The topic is very broad: we would like to talk about approaches to organizing a design system, processes, how to measure its effectiveness, and about whether you necessarily need a separate team to work effectively.

    • Watch recording

      Talk type: Partner’s talk

      UI performance comparison: Jetpack Compose vs XML

      Let's measure the difference in the speed of UI with examples (measuring the speed of interactive screens written in XML/Compose: images, lists, animations both standalone and inside lists). Basic best practices for writing UI in Compose/XML.

    • Watch recording

      Talk type: Talk

      Maximum from SwiftUI Preview

      Consider what can be done based on SwiftUI Preview. Let's talk about automatic generation based on Previews: 

      • Demo app
      • Snapshot of tests
      • Performance analysis views 
      • Accessibility tests

      We will try to generate all this completely automatically! In general, let's get the most out of SwiftUI Preview.

    • Watch recording

      Talk type: Talk

      GraphQL: how to persuade the backend to accommodate the application

      It is rather difficult for the mobile client to work with the backend if it is built using the microservice architecture, but there is a technology which simplifies the interaction called GraphQL. This talk deals with the story of how we integrated GraphQL, which difficulties we faced, and how we overcame them.

  3. November 21. Online + offline

    • Watch recording

      Talk type: Talk

      Development for Aurora OS

      Developing your own operating system raises many questions. One of the main ones is how to provide tools for application creators.

      The speaker will look at the Aurora OS, talk about cross-platform development tools and trends, and talk about how the Aurora OS should evolve in this direction.

    • Watch recording

      Talk type: Talk

      DivKit is a wonderful development

      These days, every major application has something that changes from the server configuration. Reports about Server Driven UI have been appearing for several years now. Olga's team went about the same way as everyone else - they wrote their own designer component. But 4 years ago it became insufficient, and so we wrote "our own HTML". Olga will talk about the development and details of DivKit, an open source framework from Yandex.

    • Watch recording

      Talk type: Talk

      Status of Fuchsia

      When we talk about Flutter, the name Fuchsia, the new operating system from Google, comes up very often. Few people know what it is, why it's needed, or how it even works and looks.

      The speaker will give an overview tour of this OS and tell you what it is and how it works.

    • Watch recording

      Talk type: Talk

      Aurora OS through the eyes of an Android and iOS developer

      In today's world, it is impossible to be completely sure that tomorrow we will have Android or iOS. That is why the speaker decided to look at alternative mobile OSs from Russia and start with the most promising one: Aurora OS. The talk will cover the technology on which applications are written, approaches in the OS, best practices, architecture building, navigation, UI/UX, DI, etc.

    • Watch recording

      Talk type: Master class

      UI optimization using Texture

      The speaker will look at the main optimization problems and go into them in detail: you will learn how they can drop FPS, and learn how to fix them. Then without Texture, and then with it, we'll look at solving similar problems and compare the results.

    • Watch recording

      Talk type: Talk

      Why KMM is not а crossplatform?

      Alexander has been making applications using KMM technology in production for a year and a half. In the talk, he will discuss the concept of KMM and its fundamental differences from other cross-platform solutions.

      The talk will be aimed at developers who are not familiar with KMM or have not studied the structure of this technology. First, the speaker will touch on known disadvantages of crossplatform, and then show how Kotlin Multiplatform solves them. Then there will be specifics: what can be made common between the platforms and what not, and how much can be gained from using KMM in the end.

    • Watch recording

      Talk type: Talk

      What peculiarities we encountered when creating an alternative app store in Russia

      The speaker will tell how they created and launched the beta version of the Russian mobile app store for Android in 1.5 months together with the largest IT companies. He will share the process of creating the store in the absence of a local operating system and other technical and cognitive difficulties and limitations. He will list the technologies that are used to develop the store and implement the web store, developer console, payment, push notifications, and other features.

      The talk is primarily aimed at developers, but will be useful to anyone interested in the topic of import substitution.

    • Watch recording

      Talk type: Talk

      How to avoid chaos: navigation as a separate logical level

      Android has frameworks and libraries for building navigation, but they don't make it independent enough and less related to the presentation layer. This is a problem, because as the project grows, some of the responsibility for navigation spreads across different modules, and it all becomes more difficult to manage.

      The LANG project (one of Skyeng's mobile English learning products) took the existing structure to support multimodularity and refined it. This structure allows the flexible use of modules and completely decouples the dependence of modules on each other. This approach to navigation does not depend on the growth of the number of nesting levels, which also keeps development labor costs closer to a direct correlation of development time with the scale of business requirements.

    • Watch recording

      Talk type: Conversation

      To be or not to be a senior

      In modern development there is such a subjective concept as senior. One thing can be said about him for sure - he is expensive on the market. But who is he really? What can he do?

      One often gets the impression that this is a character with superpowers, whose level is almost impossible to reach. Most likely, this is not the case. And despite all the subjectivity of such a notion, specialists of this level surely have a certain set of characteristics that help determine exactly what this engineer is.

      In this discussion let's try to find this very "set" and figure out how to become a senior, what exactly he does, what mistakes he makes, what skills he has and how to develop as such a specialist. And all this on the example of software engineers in Android applications.

    • Watch recording

      Talk type: Interview

      How to hack an interview

      We would like to see job interviews as a perfect objective assessment of skills, but in reality things are somewhat different. Like on a date, there you also have to make a good impression of yourself. Sometimes an experienced professional can be embarrassed, while a newcomer will prove himself right away.

      How to show your best side? Which sections in interviews are truly necessary and useful, and which are not? How do you tell the difference between a middling and a junky? Is it worth doing an interview if you already know the candidate in the job and your opinion of him or her is already formed? Let's get to the bottom of all this and more.

    • Watch recording

      Talk type: Partner’s talk

      How I learned to stop worrying and love SwiftUI

      How we were able to make friends between SwiftUI and UIKit design system and collections, thereby giving developers the opportunity to choose what to use to implement the UI without any restrictions (well, almost). It will be interesting for those who want to try SwiftUI in production, but are afraid to do it.

    • Watch recording

      Talk type: Talk

      Rebuild: How to do refactoring to your advantage

      Imagine a task that brings no new functionality to your product, consumes a huge amount of time of your precious developers, but nevertheless every team faces such a task from time to time. This task is called refactoring. What is the reason for this task? How should you cope with it and is it possible to prevent it from occurring in your product? All this will be discussed in the talk.

    • Watch recording

      Talk type: Talk

      Android Insets and keyboard open/close animation

      The speaker will look at different kinds of Insets, talk about how to achieve Edge-to-Edge view of the app, and elaborate on the keyboard. You'll see a new way to animate app content at the same time as the keyboard opening animation. Learn how to think about animation in a way that makes your life easier, and understand why it's not that simple.

    • Watch recording

      Talk type: Talk

      How and why to split an iOS app into microfeatures

      Ilya will tell you about his experience with splitting iOS monolith into microfeatures (uFeatures). You will learn why it is needed at all, what difficulties Ilya's team encountered and how they solved them, what profits they got as a result. We will look in detail at the tools which helped a lot in this difficult task.

    • Watch recording

      Talk type: Partner’s talk

      Music in iOS apps: development pitfalls

      Developing audio-related functionality involves a lot of unexpected cases, which will either take up a decent amount of your time or result in a lot of negative feedback from users.

      Ekaterina will tell how her team dealt with difficulties, what atypical scenarios were solved and how to avoid them in the future. The talk will be useful for those who are making the first steps in integrating music into their applications or just planning to do so.

    • Watch recording

      Talk type: Partner’s talk

      How we ensure quality without sacrificing TTM

      Using the example of the Cian app, you will learn how to increase its fault tolerance even before the development of a feature by observing simple agreements. We will talk about how to make the most out of autotests, minimizing their maintenance, how to take the load off the client service and testers, organize the collection and monitoring of metrics in the iOS-app, and how to organize the work of the team. And all this in order to raise the frequency of release to once a week, keeping crash-free above 99.9% for a year.

    • Watch recording

      Talk type: Interview

      And a little more about OS Aurora

      The speakers will consider OS Aurora from the point of view of mobile application developers. They will talk about what tools are available, compare them to Android and iOS development, and assess the potential of the domestic solution.

    • No record

      Talk type: BOF-session

      Perspectives on platforms: who will occupy the main niche, what will everyone work on?

      Which mobile OS is the future? And how will we develop - natively or cross-platform? Flutter or KMM? Or maybe even PWA?

      The debate about the future of platforms goes on forever. And it is clear that this is partly a guessing game, so you should not treat them as a strict confident predictions. But that does not mean that such discussions are useless. Listening to the arguments of different sides, you can learn a lot of interesting nuances, and look at the situation from different angles. And then, it's just fun! So at this BoF session, let's rub the platforms' bones.

      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.

      Please note: This session will only be available offline. There will be no recording or broadcasting.