Mobius 2018: Robot Report

At the conference this weekend, Mobius could not do without robots - in the program committee, among speakers, in the audience and among the viewers of the broadcast. To review all the presentations of the speakers is a thankless task, therefore, for the readers of Habr, robots have chosen the most interesting ones. Details under the cut.

- At the conference there were two types of reports: engineering and “smoothies” - for those who are not in the topic. In general, there were no revelations.
For example, there was an interesting report about reverse engineering, but if I were to deal with this topic, there would be nothing new in the report for me.
Separately, it is worth noting the level of speakers - it feels like we paid attention to this and took the time to rehearse the reports. It was nice to listen to foreign speakers, for example, from Google.
To the organizers I would erect a monument. With the exception of a single jamb with a non-working projector, everything was very cool and thoughtful. Half-hour breaks between reports made it possible to talk, digest all the information received and, as a result, not to feel overwhelmed after 8 hours of the conference. What is often lacking and what comes at the conference is the opportunity to talk with developers and ask questions that they did not have time to formulate or ask after the report itself.
If you do not know how to write code, you will not learn this at the conference. But it’s useful for developers to get an excursion into topics that they haven’t encountered in their work, and to understand where to dig if necessary.
At the conference, in principle, they go for communication and experience, which you can’t read about anywhere else. Therefore, it is always interesting to listen to reports on how the development automation processes in companies are arranged - about this, for example, was the Avito report. It would be good to get his record, so that at home to review and analyze how similar or not it is to our experience.

- In my opinion, the most interesting was the report by Anton Dudakov from Yandex.Avto about the internals of Android OS - there were moments in it that are very difficult or impossible to find in the documentation. In particular, an interesting case when the application crashes and a standard dialog appears. The default behavior can be changed by setting your own default killApplicationHandler and changing the logic for exiting the application. It is also useful about how the system allows you to increase the priority of the application while it is in the background, and with a double crash Receiver Ban is triggered. In general, I highly recommend viewing.
The report of Andrei Breslav about Kotlin, I think, is obliged to see everything - so that finally the debate about who, what, from whom has stolen, has stopped. Copying good solutions from other languages and fixing bad ones is good and right. Kotlin therefore turned out to be interesting because it incorporated a lot of successful cases.
Here are a couple of borrowed solutions:
1) removed the word new when creating an object - like Python;
2) removed the words implements extends, extension functions (but with a much more pleasant syntax) - as with C #;
3) val, var, companion object, type on the right - like Scala;
Alexey Shpirko from Avito told how Continuous Delivery works for them. It looks, of course, very impressive. Git is associated with Jira. For example, if a feature in Jira is not closed, then the build will not be delivered with this feature - and all this will be determined automatically. Implemented the ability to build release builds by disabling certain features, which, in my opinion, is just great. An interesting idea that it is useful for teams to create a so-called release policy and adhere to it.
In general, the impressions of the conference are very positive. There were several powerful reports on complex things, as well as interesting philosophical topics. Of the minuses, I would mention BoF sessions - but, perhaps, these are the features of the format.

- Firstly, Mobius is a great experience, interesting reports, wonderful people. Not all appearances met expectations - the report of Trusting iOS SDKs, which tells you that you can be subjected to MITM attacks when you add http dependencies to your project, was a little disappointing. I wanted to hear about less obvious and more and more likely dangers when using third-party libraries. During the report, for some reason, I recalled "Hacker in the dining room."
Strong, energetic and memorable was the story of Andrei Breslav from JetBrains about what, how and where it came from when developing Kotlin. It is also worth looking at the recording of the report of Evgeny Suvorov on the modularization of mobile applications, very entertaining.

- In general, the level of community and reports at conferences is growing - if before they could discuss how to create a class correctly, now they are talking about really complex and interesting things. For example, the developers from "Mamba" made a report - they combined application development with the concept of a playground. Developers write in the playlist components that are used in the application and immediately see how, for example, animations work. It is interesting that, although this topic is not very popular now, the Alfa-Bank team recently spoke about this at its meeting. The developers of Mamba started using this technology a year ago, and now they already have a fairly large set of components that test this way.
The developers who write on Kotlin generally had a unique opportunity to speak with one of the creators of the language. The guys are just lucky that JetBrains is in St. Petersburg - we write in Swift, and it’s not so easy to communicate with its developers.
Instead of a conclusion,
Mobile development, on the one hand, is developing at a tremendous speed, on the other, it has become as complex and voluminous as the rest of the directions. Each developer can deeply understand a certain part that he digs himself, but it’s incredibly hard to keep up with everything right away. Well-prepared conferences such as Mobius help you learn a lot of details from different teams and advance in solving your own problems.