⬆️ ⬇️

From Kotlin to whip: how did Mobius 2017 Moscow go





Where in Moscow you can see several people using the iPhone X in one day, when some week has passed from its start of sales? At a conference on mobile development.



In St. Petersburg, Mobius is already far from the first year, but in Moscow we held this conference for the first time. How did everything look compared to the previous St. Petersburg event? How did the program affect what had happened in the past six months since then? And why on the stage needed a palette of the artist? All the details - under the cut.





')

At St. Petersburg Mobius for the last time a whole third of the audience was from Moscow. It was then that it became obvious that such a conference was also necessary in the capital. It is curious to compare now with how the distribution of spectators in the capital itself turned out: 54% are Muscovites, 11% are from St. Petersburg, 29% are from other Russian cities, 6% are from abroad.



As you can remember , on the past Mobius very often sounded the word "architecture". And in this case, it sounded even before the reports. At the Avito stand, in the morning, they began the contest “Mother's Architect”, inviting participants to collect “architecture from stickers” and vote for other people's options. It was possible to see among the applicants, for example, the following:







By the way, the Telegram-chat about Android-architecture, which appeared because of the report on the previous Mobius, meanwhile is very much alive. As we wrote six months ago, “In a few months, the chat has grown to 700 participants, which no one expected.” And now there are more than 1,400 of them!



Another very popular word in the previous Mobius was “Kotlin”, and two months after that, Google announced support for the language in Android development. On the one hand, it flatters us: it turns out that our conference anticipated great news. On the other hand, complexity was also here: having gained popularity, the language acquired its own American KotlinConf conference, so during the Moscow Mobius many significant Kotlin speakers were still away from another event and were not ready to participate in anything.







But in the end, Mobius did not remain without Kotlin, and did not invite anyone to cover this topic. Sergey Ryabov has been writing in this language for three years already, starting long before the announcement from Google - and his report “Writing Java Friendly Kotlin Code” turned out to be one of the most highly rated by viewers. “Why don't libraries just write on Kotlin? All of them will then just work out of the box with Java, and will not need to support all these wrappers. But everything is not as rosy as in advertising brochures, there is always a sign in small print, there are sharp edges at the junction of Kotlin and Java, and today we will talk about them ... ”he began, and climbed deep into the package kotlin.jvm. The language was addressed in her report by Lisa Ray , who spoke about data binding.



And here is another case where something has become relevant recently, and the speaker Mobius already has extensive experience with this. While Instant Apps have long been unavailable for a wide range of developers, Surf, through participation in the Google Developers Agency Program, got access earlier than others, and the Labyrinth store application made by it became one of 50 whose icons proudly displayed in Google I / Keynote. O 2017. So, the report of Yevgeny Saturov from Surf was not a retelling of official materials, but a personal (and now rare) experience.







And you could hear that in official materials they do not directly say: Google is worried that the Instant Apps technology may be abused to demonstrate the “download the full application” stub. Therefore, the review there is very carefully monitored, so that each “instant application” contains at least one complete script (that is, the user could, without leaving the limits of the loaded 4-megabyte module, get what he came for).



According to Eugene, with the already existing “normal” application, creating an Instant App is 90% refactoring, not coding. If you have not previously had a project divided into modules, then here it will be needed, and then with one project there will be two different assemblies - the “normal” application and the instant app.



The theme, which overlaps with Instant Apps, is universal links: they, too, in their own way blur the line between applications and the web. Konstantin Yakushev (Badoo) spoke on the theme “Universal links: the palace of the pitfalls”, and by his greeting it was obvious that the name of the contest from Avito went “to the people”: “I’m not an iOS developer, although I’m performing in the iOS track . I debugged universal links in Badoo, coordinated all the guys, because I am a mother's architect. ”







Why is the "palace of the pitfalls", what's the difficulty there? Well, of course, there are a lot of options (when you click on the desktop, the site page should open, when you click on the smartphone with the application installed, the application page you need, on the smartphone without it, the application store or mobile site), but where can a serious technical hitch arise? As it turned out, a lot of places.



One of the examples sounded: the AppsFlyer service, with which it was initially attempted to implement it, created links only on its domain. It is clear that for a company of the scale of Badoo this is a problem (“what if he changes the rules tomorrow or closes altogether, we don’t want to be attached to other people's addresses”). It seems to be a logical decision - to make your links and redirect from them to AppsFlyer, then in which case you can simply disable the redirect. But it was not there: it turns out that if the user did not click on the universal link himself, but was redirected to it, the link does not open the application.



At the conference, there was a place for real hardcore. In the iOS section, Andrey Volodin (Prisma AI) talked about using the GPU for computing - and approached this very carefully, starting a conversation about the graphics as much as with the Atari 2600 (1977), where there were only 128 bytes of RAM, so the graphic elements were processed directly as they are displayed on the screen. Turning from the distant past to vertex shaders of the present, he then led the conversation specifically about the specifics of Apple's Metal: “Let’s go through the API. At the heart of the class is MTLDevice, representing a single GPU. Do not treat this class as a singleton, although it is obtained through the global function, because on iOS there is one video card, but on the Mac there is also Metal, and there may be more than one ”.







It is curious that it was just to this Mobius that it became clearer why Apple initially created its own Metal, and not just used OpenGL: this autumn, for the first time, the iPhone was used by the GPU developed directly by Apple.



Contrast to this hardcore were two spectacular performances of Jonathan Levin (KolGene). In the first, “A friend in need - a JS indeed”, he used the example of a specific situation from his previous work at Gett (when the same logic was required to be implemented on the server, and in two applications, and on the web) spoke about logical combining such code using js. And although the report was on the case, at the same time there was a show. For the correct calculation of the number of mentions of Gett in the report, Jonathan promised a T-shirt, and at the moment “GetTaxi was renamed Gett, when it became possible to deliver things with his help, imagine Gett Beer” he received a beer from the track-ouner right on the scene.







But he launched a large-scale show in the final keyout. At the end of the day, it would be difficult to assimilate something hardcore - but, on the contrary, it’s great to be distracted from the flow of technical information and look at something bright. Therefore, the story of how an ordinary developer can cut down the features of his dreams, even with the manager’s skepticism, turned into a costume show. Summoning volunteers to the stage, Jonathan distributed the roles to them (Jonathan himself was played by Denis Neklyudov , known to many in the audience). Then they were given the appropriate attributes (for example, the “designer” looked like an artist) - and the subsequent scenes caused delight among many viewers. Zviad Kardava (also known to many by the “Android Dev Podcast”), who received the whip and used it actively, was especially colorful.







You will not retell all the reports, and it is time to sum up - what can be said about the first Moscow Mobius in comparison with the Petersburg one? On the one hand, there was a continuity. Approximately the same people in the program committee, the same Jonathan on the closing keyout, and the Android Dev Podcast again recorded a special issue at the conference - in general, a familiar format.



On the other hand, there was enough of the new. Of course, the new reports were directly (the same Jonathan, although he did not applaud for the first time, did this with other material), and in some cases they contained information that was simply not available six months ago. There were new faces on the stage - for example, the same Lisa Ray came for the first time and loved by many. And, despite the fact that many Muscovites had previously come to the St. Petersburg conference, there were many new faces in the hall: when at the opening they asked who raised their hands for Mobius for the first time, there was an impressive number.



It now remains to wait for the next St. Petersburg Mobius and see how Moscow’s cultural capital will respond.



Source: https://habr.com/ru/post/342636/



All Articles