When in December we announced the new St. Petersburg Mobius , we ourselves knew only the names of a few speakers. And now, when only a week is left before the conference, we are going to tell about the reports that can be heard on it: from the story of the multiplatform use of Kotlin to the “secret” keynout of Jonathan Levin. If you still have not decided whether to go - this is what will help to decide!
Like the whole world of mobile development, Mobius is divided into iOS and Android: usually each report belongs to one of these platforms. But there are those that will be useful to both parties, and we will start with them:
Multi-platform architecture on Kotlin for iOS and Android
While many perceive Kotlin as a “language for Android”, in fact, its creators have much more ambitious plans. They are for cross-platform development in the same language, and a year ago, they called iOS one of the target platforms of their project Kotlin / Native. So far, this is all in an experimental mode, but it is even more interesting: it’s already written on each fence about using Kotlin on Android, but for the time being you need to look for cross-platform nuances to look for a day with fire. And on Mobius these can be found: the topic will be opened by Roman Yatsyna and Ivan Vazhnov (Revolut).
A / B testing that you enjoy
It would seem that difficult in A / B testing? A and B were sitting on the bag, which showed themselves better - something remained on the bag. But in fact, in 2018, such testing continues to be confused with phased rolling, its results are not always correctly analyzed, and topics like support for unit testing, regardless of the A / B options, continue to raise questions. On Mobius, they will find the answers.
Multi-module project architecture
There is a half a joke that Android applications would be very beneficial if Google obliged everyone to support Instant Apps: since this requires the application to modularize, it would have to “unravel spaghetti” all willy-nilly, and the quality of the code would increase dramatically. And if you don’t need a “pointer from above” in order to think about improving the quality, then Evgeny Suvorov ’s experience from Avito may be useful: he will tell you about the modularization of projects with 400 thousand lines of code for both iOS and Android.
Avito Mobile App Releases
Continuing the topic of mobile development in Avito: Alexey Shpirko will tell you how the process of release of mobile applications is arranged there, what steps in the process automate, how they reduce the amount of manual testing before release and how they are sure that nothing is broken.
Reverse Engineering Mobile Apps: How, why, and what now?
Billions of dollars are invested in mobile startups - and investors would like no one to take the result of their investments. But at the same time, resources are often not allocated for protection against reverse engineering. One may be surprised at this sad paradox, and one can make a feasible contribution to correcting it: visit the report and find out exactly how to defend oneself.
What Mom Never Told You About Multi-threading
Admittedly, Fernando Tsehasa (IBM) has the background in Android, and in the multi-threading report he will start from this background, but iOS developers should also be interested. In the end, the very topic of multithreading is much broader than any particular platform. And you can listen about this topic forever, there would be a good speaker. And in Fernando no doubt: he had already spoken at Mobius before and fell in love with the public. You should not wait for a superhardcore, but it will help many people to refresh knowledge.
The epic battle: iOS vs. Android
We admit honestly: we ourselves do not know in all details what exactly to expect from the speech of Jonathan Levin , who will close the conference. But last time, at the closing, Jonathan also gave an unpredictable show, but in the end everyone liked it. So here it is worth knowing just “the Android and iOS battle is planned” and expect that it won't be boring, and let the implementation details be a surprise.
Trusting iOS SDKs
Felix Krause many people know from the fastlane tool. Recently, the CI system fastlane.ci was also announced, and we then interviewed Felix. But his interests are not limited to this; security issues in the world of iOS development are also important to him. And on Mobius we will talk about how we risk using third-party SDKs.
Building voice responsive apps on iOS
Voice control gets into life not so quickly, but inexorably - and as a result, now even iOS-developers can think about how to work with Dialogflow from Google. Martin Mitrevski will talk about this and the nuances of voice interfaces on iOS.
Layers of testing in iOS applications
Ewa Ludwiczak and Aleksander Grzyb work for Allegro in the same team - and they will tell about the experience of testing the application with more than half a million monthly audience. They will go through all the layers step by step - starting with static code analysis and ending with usability testing.
“Get Private Ryan”, or How to do offline face recognition on a mobile device
Have you ever had the desire to find out the name of a girl and her hobbies without a personal acquaintance? One of the variants of such a development of events is the identification of persons. Nikolai Ashanin will consider what the identification of persons is and whether it is realistic to solve this problem on a mobile device. In addition, he explores the roughness and complexity in solving this problem, and also discusses whether it is realistic to go out with this application.
How to fit a stars in an iPhone
Konrad Feiler is a mathematician who has become a developer. And it affects: in the report, he will go from afar, burying himself in the basics of memory and optimizing performance. And then he will go on to how all this knowledge helps to create an application on SceneKit / ARKit that loads millions of stars into the iPhone’s memory.
The dependency manager is not just cURL
Ivan Vavilov will tell about the internal structure of the most well-known dependency managers and responsibilities that must be taken when using them. Consider problems when installing dependencies, let's analyze the algorithms for resolving the dependency graph. Also touches the issue of centralization, versioning and security.
Augmented Reality in Yandex.Maps
Many have heard about ARKit, but few have tried it in a large project. Yandex was one of the first to do this by making on-screen hints for walking routes: now even those who have always been afraid of maps can find the way to the right house. What nuances did you have to deal with? Tell Dmitry Trimonov .
Data driven UI: unlimited power
Aleksey Demedetsky will tell you about the technique of building and testing data-driven UI components. This approach provides maximum isolation of individual modules, the ability to write snapshot tests, unit tests, and interactive tests (storybook). The examples will show how to create animations, transitions between screens and interactive gestures using data-driven techniques. The examples will be focused on the iOS platform and the Swift language, but the technique is quite suitable for Android.
Secure application: disassemble mobile banking
If you ask people "what the application requires special security," one of the main answers will be "money." Banking has always required greater security than the conditional application for applying photo filters. And the name of the CFT company means “Center for Financial Technologies” - it is not surprising that its employees Kirill Zuev and Artem Logutov will talk about biometric authentication, Keychain, SSL pinning and the like.
We are preparing the application in the Playgrounds
Denis Kirillov and Konstantin Yurichev , inspired by the experience of using Playground-Driven Development, will tell about their experience of using this methodology in commercial development on iOS: “A year ago, at the Mamba team, we collected all the crutches we knew and ran with them through a field full of rakes, to meet the bright a future in which you can debug a mobile application while it is being encoded. Convinced of the viability of PDD, we ventured to start developing a key service for our company using this methodology. How this happened, what led to, how to repeat it, without leaving your home, you will learn from our report. ”
On the shoulders of giants: the languages ​​in which Kotlin studied
You do not need to tell Android developers how Kotlin has grown on this platform over the past year. Mobius will be able to speak Andrei Breslav , who heads the development of Kotlin, about how it influenced the features of other languages. And, which is no less valuable, after the report there will be an opportunity to ask Andrey his question - not necessarily about the connection between Kotlin and other languages.
Profiling in examples: looking for a bottleneck
In the latest version of Android Studio profiler improved, learning to follow and native code. But having a profiler is not enough - they need to be able to use it.
The report is a technical case. There is an application that works. There is a feeling that it does not work fast enough. First, Arthur Badretdinov will figure out how true this feeling is, with the help of more precise tools than intuition. Then we “dissect” this application, using several tools one by one, along the way introducing optimization. Not every optimization is worth its effort, so we will track the results of each of them. Finally, we will look at several tools that allow you to monitor how well the application works from assembly to assembly.
The violinist is not needed: we refuse RxJava in favor of Korutin in Kotlin
65% of developers, starting a project at Kotlin, choose RxJava 2 as a tool for background work. But how justified is this choice? Korutin in Kotlin can be a powerful replacement for RxJava. In the report, Vladimir Ivanov compares both approaches, considers their pros and cons, and looks at when it is more convenient to use Korutina, and in which it is impossible to do without Rx. It will become clear how to test the code written using both approaches, and how far they can coexist.
The hard way to JobScheduler and back
By November 2018, we will all be forced to switch to targetSdk 26+, which means that almost every application will explicitly or implicitly use the platform JobScheduler. However, this component is far from ideal, it has many problems that you would not expect to see and that you may not encounter until it reaches your users. In the report, Artur Vasilov (Yandex) will consider all such problems, discuss errors in the Android code and figure out how to switch to JobScheduler as painlessly as possible.
Birth, life and death, or What happens to the application in the system
Android is a very complex system where many different things happen that are very well hidden from ordinary developers. In the report, Anton Dudakov (Yandex) will analyze:
- how Android launches itself, launches applications;
- who, why, through what mechanisms and what methods it causes in the launched application components;
- where do requests for access rights to certain resources go, on the basis of which the system decides whether to issue rights or not;
- how the application eventually dies: what can be killed, what will happen if you kill yourself.
Upload to Odnoklassniki
In the Android application Odnoklassniki, the user can download a lot of different content. These can be photos, videos, notes, as well as audio messages, products, catalogs, etc. The faster they are delivered to the servers, the happier the user will be. In addition, the likelihood that the content, for various reasons, will be lost, is reduced. So the task of speeding up the upload manager appeared. The report of Kirill Popov will be about what came of it and what problems they faced.
Services: it is impossible without them, but how to live with them
Yonatan Levin is going to talk about how the Android background changes and how it affects developers. But he would not be Jonathan if the report came down to a set of instructions “apply Y to X”. Instead, he promises a report that requires the listener to think, formulate questions and climb into the rabbit hole.
Add some reality to your app with ArCore
Immediately in the two iOS reports of the conference we will talk about ARKit, but the Android side is not a blunder. ARCore was previously introduced, and now enough time has passed for practical conclusions to be made - and Yuliya Kaleda (Jet) will share them.
Microservice architecture in the development of Android multimedia device
How to make so that nothing slowed down, the code was clear and understandable? Ivan Alyakskin (EPAM Systems) together with the audience will understand the intricacies of performance optimization, from the Linux kernel to the Android Framework.
Actor models: a new look at the old approach
Typically, any large project is full of external and internal systems that use RxJava. This approach has already become a de facto standard, but many do not think that there is a completely different development paradigm that has proven itself well in the enterprise: the actor model.
In this report by Vladimir Tebloeva (Sberbank-Technology), you will learn what an actor model is and how it can help us when developing on a mobile device, and also that actors can be used not only on Erlang and Scala. Let's talk about lightweight asynchronous streams that work as regular synchronous code and not only. We will touch on Korutin in Kotlin, and also discuss the fundamental nature of this approach when building fast and responsive systems.
Recall All: Autofill Framework and Account Transfer API
For the developer, there is little more terrible than changing the user of the device: he can install something else there. But with the release of Android O, new tools have appeared that allow us to please the user with familiar comfort on the new device:
- Autofill Framework - automatic entry of personal user data;
- Account Transfer API - the ability to integrate into the system process of data migration between devices.
From the report of Kirill Borisov, you can learn the basics of using these tools and the associated pitfalls, as well as get acquainted with the experience of their implementation in Yandex.
Introduction to AOSP, or How to spend the night assembling Android
Victor Lapin (Advantum) will tell you what AOSP is, what it consists of, why it’s not the same as Google Android, and how you can build ready-made firmware for a specific device.
How not to grow old during the assembly: Kapt and other adventures
Denis Neklyudov, known to many on the “Android Dev Podcast”, will tell a story from the life of the project, which has become, like many now, getting together for too long and being too cohesive due to its solidity. A story with its ups and downs of build time. This is the result of a year-long refactoring, as well as research, which is mainly carried out only in products of the scale of Uber and Facebook. The time spent in the settings Gradle, configuration Dagger2 and thinking through tricky solutions to reduce connectivity, took more than one person-month. And the conclusion and decision miraculously fit into the hour of the report.
In addition to the reports, there will be something new at the conference: at the end of the first day, in addition to the party with board games, there will be BoF sessions. So it will be possible not only to listen to the speakers, but also to personally participate in the discussion of pressing topics.
If you finally understand that you want to go to the conference, registration takes place on the site . And if they understood that some other information is needed (for example, the exact schedule of reports) - it is there too.
Source: https://habr.com/ru/post/353352/
All Articles