Mobius 2016: mobile development in a new way

    This year, sales of iPhones for the first time ceased to grow, the mobile market as a whole also does not boast of its former rapid growth, and new smartphones and new versions of their OS no longer amaze the imagination. Does this mean that stagnation is coming in mobile development? Won't the reports on it begin to repeat completely what was said in previous years at the same conferences?

    The Mobius conference held in St. Petersburg made it possible to answer both this question and many others. Under the cut - a detailed story about what was there.





    The conference became part of the “Summer Developer Festival” : a day earlier , DotNext took place , a day later, HolyJS. It turned out to be an opportunity 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 there be something against this high-profile world of mobile development?

    The opening keynote from Wee Elsingthe topic #UXmatters was declared, and one would think that the audience was awaiting a solid “captaincy”: well, yes, the UX is important, who is arguing with this? However, among the examples of "bad user experience" there were non-obvious and even holistic ones. The speaker boldly attacked the giants, for example, criticizing Uber for overdoing animation at startup: “I spoke with the person who did this, and he explained that you need to entertain the user with something while the data is being loaded in the background. But when you are at the airport, struggling with the jet lag, trying to call a taxi through a poor Internet connection, the animation is completely off topic. ”



    Moreover, the proud title of Google Developer Expert did not stop Viba from criticizing Google’s latest redesign. Recently, in the Google Photos application, in addition to the “hamburger”, which leaves the menu on the left, there is also a panel at the bottom with a choice of three main sections. According to the speaker, the simultaneous presence of both confuses the user: at first everyone runs their eyes, not understanding where to click.



    Even with the speaker’s constructive proposal “to study reviews of your product in application stores”, everyone is unlikely to agree unequivocally. Many people think that such reviews are written not by the most intelligent users, but by the most loud, so you should not pay special attention. But, according to Vibe, there is no contradiction here: "yes, reviews can be stupid, but useful information can still be extracted from them."

    Then another Google Developer Expert, Denis Neklyudov , talked about the presentation in May on Google I / O, where he personally visited. At the very beginning of the report, the speaker bluntly said, “If you followed the news from I / O, you can go to another room,” but his speech was not a memorized repetition of other people's words.



    Google knows that keynote I / O will be watched all over the world, and try to impress ordinary users, while Denis talked about something important for developers. Therefore, he did not talk about the loudly presented Google Assistant (he does not have an SDK), he ran quickly on topics like the VR platform Daydream (you still need to live up to its heyday), but quickly started talking about Instant Apps (launching Android applications without installing ) It turned out to be something that Google generally ignored on keynote: the ability to run Android applications on ChromeOS, which overnight makes mobile developers desktop.

    And the news about Firebase became the most interesting for developers (as it was written on Neklyudov’s slide, “in fact, all the flesh is here”). Commenting on numerous innovationsplatforms, he cited such cases that Google itself might not have thought of: “Using Remote Config, you can now remotely control the appearance of an application for certain categories of users. For example, to make your app turn pink on March 8th. ” In general, there are noticeable changes in mobile development - even ordinary users who watched the YouTube I / O broadcast did not notice this.



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

    “Here is the user avatar. We need to request a picture, check the cache, download the picture, put it in the cache. At the same time, we show the avatars not square, but crop using the Bezier curve with special coefficients. So, you still need to modify the image, put it in the cache again, and then display it. But during this time the user can already have time to see something, so a placeholder is still needed. Now let's look at the background: it is also made of an avatar, but in this case not cropped, but blurred (we do not 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 turned out to be the only one that immediately found everything that was required: optimal memory use, working with progressive jpeg, multi-level caching, post-processing of images, flexibility in use. However, as Cyril admitted, for small projects, all this abundance may turn out to be a “cannon by sparrow” situation. Someone will need an order of magnitude more simple Glide, and the difficulty in mastering Fresco will exceed the benefits of its use.

    During the breaks of the conference, as is usually the case, many solved problems from the stands of companies, and the set of tasks from EPAM especially attracted attention. Instead of knowing the specifics, the ability to think algorithmically was required there, so viewers with the most diverse development experience puzzled over it with the same excitement. Here's an example:



    The option to “place infected cells diagonally” came to everyone’s mind quickly, so the answer “n” suggested itself. But even writing it under the task, people continued to be tormented by the question "is it impossible to reduce this number for sure, and how to prove it." One could notice how someone was trying to solve one of these problems while sitting on a report and hear how they were being discussed at dinner.

    And not at dinner, you could hear Matvey Malkov(Nexters) with a lecture on the art of reactive programming. Already in the introduction, he began to easily troll the audience: “Mobile developers have to think about device fragmentation. Fortunately, now in iOS they also suffer from this! ”The main part also lacked sarcasm, but not replacing serious theses, but making them more biting. For example, among the slides about the components of RxJava was this:

    Subjects
    - the connection of the imperative and reactive world
    - to use when it is impossible to do otherwise
    - is this your case? NOT!



    Reactive programming was also discussed in the report of Evgeny Rtishchev.(Sberteh) "Reactive MVVM". And as a result, there was a roll call between all the conferences of the "Summer Festival of Developers": they remembered the "reactivism" on DotNext , and it was clear that HolyJS could not do without it either.

    And right away, in three other reports, it was 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 how slowly there appears support for new Java features, so this slide probably hit many sick:



    The same Matvey Malkovand shared his experience in developing Android applications on Scala. However, as he himself admitted, the report turned out to be “holivny”, so with the advantages of Scala (“security”, “sharing and reuse”, “good architecture”, “easy construction of DSL and working with UI”), someone will surely remained completely unconvinced.

    But the report of Maxim Sokolov (Avito) about the use of generics in Swift was unanimously approved by the audience: he not only collected a lot of praise, but also led the top 10 Mobius performances according to the audience.

    1. Maxim Sokolov - Advanced Swift Generics - move on
    2. Kirill Popov - O Fresco and how to cook it, as well as about pictures in Android in general
    3. Evgeniy Matsyuk - We write the tested code
    4. Alexander Korshak - Experience in developing Cardboard applications for 3D reconstruction of medical data
    5. Irina Diaghileva - Typography in iOS
    6. Yan 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 the change of a familiar programming language to a more relevant one, on a young library (Fresco for less than a year and a half), on development for Cardboard, on "reactivity", one report and entirely from the news - in general, solid trends. A year ago, there were no reports on Swift on Mobius, but now it turned out to be the most warmly received. Not surprisingly: over the past year, the language has gone from “promising, but still too early” to active use in iOS development, and its role will clearly continue to grow further.

    So on Mobius , as well as on DotNext , there was a place for big changes. And how did the JavaScript world respond to this? Coming Soon From HolyJS Text.


    Also popular now: