Summer Droid Meetup
Hello! We invite android developers to our Summer Droid Meetup . August 3, Hermitage Garden, Karetny Ryad, d 3, p. 6, “Veranda 32.05” . Beginning at 12:00.
Mitap program
“Collection and analysis of extraordinary data of an Android application”, Dmitry Vasiliev, FunCorp
About the report
Report on the analysis of technical indicators of the application.
The goal is to talk about the data collection and analysis tools for mobile applications (and not only) that we use. And also about what technical characteristics of the application need to be collected and how to analyze them.
Let's talk about:
- How and where do we collect data on iFunny
- What technical data to collect
- How and where to analyze them
Coroutines Flow, Kirill Rozov, Epam
About the report
In my report I will talk about:
- hot channel
- cold flow
- How to work with Flow
- Flow Architecture
- Future Channel and the Role of Flow
“Build an Android application. The task with an asterisk ", Anton Potapov, FunCorp
About the report
In my report I want to talk about how to build an Android application without using Gradle.
The report is divided into the following parts:
- .apk. It all started with him. Here I will talk about the structure of a packaged Android application using an example.
- About the console. I’ll talk about what tools are used to build an Android project under the hood of Gradle, and how to use them to build HelloWorld from the console
- Buck. Facebook
- Bazel. Google
- Jerkar. Java for Java. I’ll tell you about what problems they were created to solve and, of course, we will collect HelloWorld by each system
- As a conclusion, we compare the measurements from points 3-6 with Gradle
“Code generation without kapt”, Mikhail Rozumyansky, Joom
About the report
A few years ago, we started working with bytecode, generating and modifying it at compile time, since APT for Kotlin was not supported. After the advent of kapt, we added it to our project in order to use DataBinding, and as a result we encountered a lot of problems: a long build, strange compilation errors, memory leaks. Quickly enough, it became clear that it was better not to contact APT, so we continued to develop our projects that work with bytecode. And not so long ago, we managed to run DataBinding without kapt, and thus completely got rid of kapt in the project. In this report, we will talk about how to live without kapt, what tasks can be solved at the bytecode level, and also consider the pros and cons of different approaches to code generation.
“Model Driven Application Configuration on Kotlin DSL”, Andrey Govorovsky, Mail.ru Group
About the report
It is difficult to imagine a modern mobile application without a remote configuration - A / B tests, launching new features, replacing strings, graphic resources.
In the course of the report, we will look at how we created DSL on Mail.ru application on Kotlin to describe the application configuration, how parsers with validation were generated from it to reduce boilerplate code, documentation on features for A / B tests, developer settings for testers and how it is all built into the assembly process.
Why is all this needed? Since we conduct many A / B tests, we needed a single source of information about features in a specific version of the application.
I'll tell you how we wrote a simple Kotlin DSL to describe the application configuration model.
As later from this DSL we generate models / parsers / dock / developer settings (for changing the configuration on the fly) and embed it in the application.
How the dock is used for remote configuration (the dock generates json examples for features that can be sent to the application).
I’ll tell you how to embed it all into the build process via gradle task and make it incremental (@InputFile, @OutputDirectory).
You can apply for participation here .
More information in our Telegram channel .
To communicate with the organizers, speakers and other participants, there is a Telegram chat .
For those who will not be able to attend, an online broadcast will be conducted on our Youtube channel .