📜 ⬆️ ⬇️

Mobius 2016: a new way of mobile development

This year, sales of iPhones for the first time have ceased to grow, the mobile market as a whole also does not boast of the same rapid growth, and new smartphones and new versions of their OS are no longer amazing. Does this mean that stagnation time is coming up in mobile development? Will not the reports about her begin to repeat in full what was said in previous years at the same conferences?

The Mobius conference in St. Petersburg provided an answer to this question and to many others. Under the cut - a detailed story about what was there.


')


The conference became part of the Summer Developers Festival : the day before it was held DotNext , a day later - HolyJS . It was possible to compare three different universes: in the .NET-world, .NET Core is now responsible for large-scale changes, the JavaScript-world is generally known for constant upheavals, and can it oppose this loud world of mobile development?

At the opening keynote from Vibe Elsing , the topic #UXmatters was stated, and one could think that the audience was in for a complete “captaincy”: well, yes, UX is important, who is arguing with this? However, among the examples of “poor user experience”, there were unobvious, and even holivarny ones. The speaker boldly attacked the giants, for example, criticizing Uber for going over animation with the launch: “I talked to the person who did this, and he explained that it was necessary to entertain the user with something while the background was loading data. But when you're at the airport, fighting a jet lag, trying to call a taxi through a bad Internet connection, the animation is not at all in the subject. ”



Moreover, the proud title of Google Developer Developer did not stop Vibe from criticizing the latest redesign from Google itself. Recently, in addition to the “hamburger” application in the “Google Photos” application, which the menu on the left has left, a panel below appeared with a choice of three main sections. According to the speaker, the simultaneous presence of both of them confuses the user: at first, everyone runs around with their eyes, not knowing where to click.



Even with the constructive proposal of the speaker “to study reviews on your product in app stores”, it’s unlikely that everyone will agree. Many believe that such reviews are not written by the most intelligent users, but by the most vocal, so do not pay special attention. But, according to Vibe, there is no contradiction here: “Yes, the reviews can be stupid, but you can still extract useful information from them.”

Then another Google Developer Expert, Denis Neklyudov , talked about the Google I / O presented in May, where he personally visited. At the very beginning of the report, the speaker said bluntly, “If you followed the news from I / O, you can go to another room,” but his speech was not memorized by repeating hearsay words.



Google knows that keynote I / O will be watched all over the world, and they try to impress ordinary users, while Denis talked about important things for developers. Therefore, he didn’t speak at all about the loudly presented Google Assistant (he doesn’t have an SDK), ran across topics like Daydream’s VR platform (it’s necessary to live to its heyday), but quickly started talking about Instant Apps (launching Android applications without installing ). Mentioned it turned out, and what Google generally kept silent about on keynote: the ability to run Android applications on ChromeOS, which suddenly makes mobile developers even desktop.

And the most interesting for developers were the news about Firebase (as it was written on the slide of Neklyudov, "in fact, all the flesh is here"). Commenting on the numerous innovations of the platform, he brought such user cases to which Google itself might not have thought: “With the help of Remote Config, you can now remotely control the appearance of the application for certain categories of users. For example, to make so that on March 8 for women your application would become pink. ” In general, there are tangible changes in the mobile development - even if ordinary users who watched the I / O YouTube broadcast were not noticed.



Then Kirill Popov (Classmates) talked about how the Fresco library helps when working with images in Android. It may seem to someone that the topic of a damn is not worth it: if you just need to show pictures, what is there to talk about for an hour? But Popov, on the example of the Odnoklassniki application, clearly explained how in a real project the “simple task” turns into a very difficult one:

“Here is the user's avatar. We need to request a picture, check the cache, download the picture, put it in the cache. In this case, we show avatars not square, but frame them with a Bezier curve with special coefficients. So, you need to further modify the image, again put in the cache, and then display. But during this time the user can already have time to see something, so another placeholder is needed. Now let's look at the background: it’s also made from avatars, but in this case it’s not cropped, but blurred (and we don’t want to make a new request to the server, since this avatar has already been downloaded). And then when scrolling, you need to quickly load new pictures, and all this can be opened on a device with a small amount of memory ... "



It is not surprising that there was a need for a powerful tool, and Fresco was the only one that immediately found everything required: optimal memory utilization, work with progressive jpeg, multilevel caching, post-processing of images, flexibility in use. However, as Kirill admitted, for small projects all this abundance may turn out to be a “cannon-to-sparrow” situation. Someone will need an order of magnitude simpler Glide, and the difficulty in mastering Fresco will exceed the benefit of its use.

During breaks of the conference, as is usually the case, many solved puzzles from the stands of companies, and the set of tasks from EPAM particularly attracted attention. Instead of knowing the specifics, they needed to be able to think algorithmically, so that viewers with a wide range of development experiences were puzzled over this with the same excitement. Here is an example:



The option “to place infected cells diagonally” came to everyone's head quickly, so the answer “n” suggested itself. But even having written it for the task, people continued to be tormented by the question "Is it impossible to precisely reduce this number, and how to prove it." It was possible to notice how someone is trying to solve one of these problems, sitting on the report, and to hear how they are discussed at dinner.

And not at dinner you could hear Matvey Malkov (Nexters) with the report “The Art of Reactive Programming”. Already in the introduction, he began to troll the audience easily: “Mobile developers have to think about device fragmentation. Fortunately, now in iOS they are suffering too! ”In the main part, sarcasm was also enough, but it didn’t replace serious theses, but made them more bastard. For example, among the slides about the components of RxJava was this:

Subjects
- connection of imperative and reactive world
- use when it cannot be done differently
Is this your case? NOT!



About reactive programming was also discussed in the report of Yevgeny Rtishchev (Sbertech) “Jet MVVM”. And as a result, a roll call occurred between all the conferences of the Summer Developers Festival: they remembered “reactive” on DotNext , and it was clear that HolyJS would not do without it either.

And in three other reports at once, we talked about languages ​​encroaching on the usual status quo “on Android - Java, on iOS - Objective-C”.

Jan Zhulanov (JetBrains) explained why Kotlin is relevant for Android developers. Android is known for slowly supporting support for new Java features there, so this slide will probably hit a lot on the patient:



The same Matvey Malkov shared his experience in developing an Android application on Scala. However, as he himself admitted, the report turned out to be “holivarny”, so, given the advantages of Scala (“security”, “separation and reuse”, “good architecture”, “easy building of DSL and working with UI”), someone probably remained completely unconvinced.

But the audience approved the report of Maxim Sokolov (Avito) about the use of generics in Swift: he not only collected a lot of laudatory reviews, but also led the top 10 Mobius speeches according to audience estimates.

  1. Maxim Sokolov - Advanced Swift Generics - let's switch to <T>
  2. Cyril Popov - O Fresco and how to cook it, as well as about the pictures in Android in general
  3. Evgeny Matsyuk - We write test code
  4. Alexander Korshak - Experience in developing Cardboard applications for 3D reconstruction of medical data
  5. Irina Dyagileva - Typography in iOS
  6. Jan Zhulanov - Android apps on Kotlin: why it’s good
  7. Matvey Malkov - Scala for Android: Myth or Reality?
  8. Matvey Malkov - The Art of Rx
  9. Denis Neklyudov - Hot news from Google I / O 2016
  10. Evgeny Rtishchev - Reactive MVVM




And if you look at this top 10, it becomes obvious that there is no need to talk about stagnation. Reports on changing the familiar programming language to a more relevant, about the young library (Fresco less than a year and a half), about developing for Cardboard, about “reactive”, one report entirely entirely from the news - in general, sheer trends. A year ago, there were no reports about Swift on Mobius, and now this has turned out to be the most warmly accepted. It is not surprising: over the past year, the language has gone from “promising, but it is too early” to active use in iOS development, and further its role will clearly continue to grow.

So on Mobius , as on DotNext , there was a place for big changes. And how did the JavaScript world respond? It will soon be known from the text about HolyJS .

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


All Articles