- PVSM.RU - https://www.pvsm.ru -

Конкретное и глобальное: программа Mobius 2019 Moscow

Конкретное и глобальное: программа Mobius 2019 Moscow - 1

Что может интересовать мобильного разработчика? Самые разные вопросы: от конкретных технических («как бы ускорить сборку в Xcode») до глобальных карьерных («а не податься ли мне в инди-разработчики с собственным приложением»). А если действительно заняться собственным приложением, сразу возникают новые вопросы: например, как эффективнее всего взаимодействовать с Google Play/App Store?

И программа приближающегося московского Mobius хорошо отражает это многообразие. Как всегда, там всем хватит технической конкретики, но будет и ряд выступлений не про код, которые тоже полезны для мобильного разработчика. Под катом — подробный разбор (и ссылки на видеозаписи предыдущих докладов некоторых спикеров!)

Кейноуты

Лучшее место для докладов «не (только) про код» — это «общие» открывающие/закрывающие доклады, когда аудитория не делится между разными залами, и тема выступления должна подходить всем.

Конкретное и глобальное: программа Mobius 2019 Moscow - 2 Конкретное и глобальное: программа Mobius 2019 Moscow - 3 Откроют конференцию Бен Сандофски и Себастиан де Вит, создавшие iOS-фотоприложения Halide и Spectre. И вот это как раз интереснейшая история про инди-разработку: они сделали практически всё вдвоём, вообще не тратились на маркетинг — а при этом Spectre после релиза на две недели возглавило чарт платных приложений App Store.

Поскольку они сами занимались в проекте сразу всем, то и узнать из их выступления можно будет о разном: и о технических челленджах в computational photography, и о переиспользовании кода из другого приложения, и в целом о процессе независимой разработки.


Конкретное и глобальное: программа Mobius 2019 Moscow - 4 Зрители Mobius уже могут помнить Виталия Фридмана по докладу «Хитрости из тёмных уголков мобильных интерфейсов» — а для тех, кто не помнит, на YouTube доступна видеозапись [1]. И теперь он возвращается, чтобы рассказать [2], «как завоёвывать друзей и влиять на людей на мобильных платформах».

Виталий ещё в 2006-м стал сооснователем Smashing Magazine [3] — авторитетного издания, где очень внимательно относятся к вопросам UI/UX. Неудивительно, что сам он в докладах тоже внимательно их разбирает, и этот раз не станет исключением: речь зайдёт о том, можно ли повышать конверсию, не раздражая при этом пользователя навязчивыми ходами.


Конкретное и глобальное: программа Mobius 2019 Moscow - 5 Наконец, завершать конференцию будет Барух Садогурский. На Mobius он раньше не приезжал, зато зрители многих других конференций хорошо знают, что выступление от Баруха — это и полезно, и весело. Например, можете посмотреть [4], как на Heisenbug он выступал перед тестировщиками.

А на Mobius поведает [5] о том, как личный бренд помогает разработчику и наниматься, и нанимать. Ну, ему виднее: у самого Баруха, с его почти 10 000 подписчиками в Твиттере [6], личный бренд впечатляющий.


Android/iOS

Все доклады в программе снабжены пиктограммами, показывающими, к какой платформе они относятся. И есть такие выступления, у которых стоят обе пиктограммы сразу. В первую очередь, конечно, так у всех кейноутов, но ими дело не ограничивается:

Конкретное и глобальное: программа Mobius 2019 Moscow - 6 Например, логично, что обе платформы объединяет тема кроссплатформенности. Что выбрать в 2019 году, когда нужно быстро сделать приложение для обеих — Flutter или Kotlin/Native? А почему не оба сразу? Геннадий Евстратов, переписавший одно из своих приложений на Flutter, расскажет [7] о нюансах использования этой технологии — от вопросов безопасности до интеграции Kotlin/Native в Flutter-приложение.

А Александр Денисов разовьёт [8] тему Flutter уже в более конкретном направлении: управление состоянием. BLoC или Redux, и почему?


Безопасность тоже актуальна для обеих платформ. Поэтому Дмитрий Терёшин с опытом работы в банковских Application Security-подразделениях поговорит [9] о локальных атаках на мобильные приложения. Что может произойти, если злоумышленнику доступны чужой смартфон и код блокировки, но он ещё не прошёл аутентификацию в конкретном приложении?


Многие знают Йонатана Левина и помнят его старый кейноут [10] «Как самому запилить фичу и не быть убитым своим менеджером». Там было театрализованное представление — а теперь Йонатан уже не в формате кейноута серьёзнее поведает [11] о том, как разработчику не ограничиваться кодом и делать продукт лучше.


Конечно, Swift и Metal — понятия из iOS-мира. Но когда Бен Сандофски заговорит о том, как с их помощью заниматься realtime-обработкой видео, может быть интересно и андроидоводам: доклад [12] поможет понять «как вообще обработка видео работает на низком уровне».


А вот интерфейсы — тема универсальная. Кирилл Кожухар обсудит [13], как разрабатывали интерфейс приложения Яндекс.Драйв и как он меняется со временем.


Как протестировать тест? Поменять что-то в приложении так, чтобы он должен был упасть: если не упадёт, значит, изначально сломан. А как сделать это не просто для одного теста, а систематически? Про мутационное тестирование поговорит [14] Джорджио Натили.


Наконец, на какой платформе ни выпускай приложение, обычно придётся иметь дело с её магазином приложений (а значит, меняющимися со временем правилами, отказами и другими сложностями). Не всегда это головная боль разработчика, но многим приходится иметь с этим дело — и для таких будет доклад [15] Марины Плешковой.


Android

Теперь перейдём к конкретных платформам, которые на Mobius порой расковыривают до самых кишочков.

Конкретное и глобальное: программа Mobius 2019 Moscow - 7 На Mobius стали уже почти традицией Android-доклады спикеров из Lyft (и судя по тому, как высоко оценивают их зрители, традиция хорошая). Ранее выступили Артём Зиннатуллин с темой «Android Builds at Lyft» (можете посмотреть видеозапись [16]) и Денис Неклюдов c темой «Scaling Architectures at Lyft» (видеозапись [17]).

А теперь RJ Marsan расскажет [18] об инженерных принципах Lyft для быстрого запуска продукта. Благодаря чему получилось запустить новый сервис для самокатов всего лишь за два месяца?


Но это не единственная крупная компания, готовая делиться Android-опытом: Александр Сорокин из ВКонтакте поделится [19] тем, как у них происходит рендеринг экрана сообщений.


Вы можете уже знать Сергея Рябова: его доклад «Пишем Java-френдли Kotlin-код» так понравился зрителям, что для Хабра мы делали текстовую версию [20]. C тех пор в жизни Сергея произошли перемены, теперь он работает в Facebook над Litho — поэтому на Mobius можно будет узнать об этом фреймворке из первых рук [21].


Знают про Lint, кажется, все Android-разработчики. А пользуются им не все — и порой даже не знают, какие именно возможности упускают. Игорь Таланкин зайдёт с самого начала, показав, как приступить — и научит писать собственные правила для Lint на Kotlin.


А с Gradle ситуация такая: им пользуются все, но вот все ли при этом действительно понимают, как он работает? Степан Гончаров считает, что не все — и постарается это исправить [22].

Он, кстати, ранее уже выступал на Mobius с близкой темой:


Ещё один доклад вида «расковыряем инструмент»: Светлана Смельчакова будет рассматривать [23] UI Automator. Не просто «зачем он нужен», но и «как он устроен».


Но не всё сводится к инструментам. Важно думать и о другом — например, о доменном моделировании. И тут пригодится доклад [24] «Design for errors — an introduction to Domain modelling with a bit of Arrow», где на конкретном примере будет продемонстрировано, как делать понятные, надёжные и поддерживаемые API.


Кому знать о работе Android с отрисовкой текста, как не разработчику офисного пакета? Неудивительно, что тему «Рендеринг текста в Android» раскроет [25] Павел Новиков из проекта МойОфис.


Докладов про Kotlin было уже много — но не таких. Марчин Москала поговорит про то, как писать на этом языке эффективнее всего с точки зрения производительности. Кстати, недавно мы для Хабра взяли у него интервью [26].


Можете ли вы сказать без гугления, чем Android Automotive отличается от Android Auto? Фёдор Цымбал может. Его доклад [27] будет о всём многообразии разновидностей Android для разных устройств — и о том, насколько возможно написать кросс-приложение для всех вариаций сразу.


iOS

Конкретное и глобальное: программа Mobius 2019 Moscow - 8 Фреймворк Chatto в Badoo начали делать для собственных нужд — а теперь у него уже 4000 звёзд на GitHub [28]. Поэтому, когда Антон Щукин расскажет [29] про опыт Badoo в разработке высокопроизводительного чата, тут явно будет что послушать.

Среди того, о чём он расскажет — построение пайплайна для работы с UICollectionView, работа с полями ввода и клавиатурой, выбор архитектуры для поддержки разных типов сообщений.


Apple не зря славится закрытостью — в числе прочего она прячет от iOS-разработчиков исходники, которые им могли бы помочь. Но разработчиков это не останавливает — и Дмитрий Куркин в докладе «Отладка без исходников» покажет [30], как «заглянуть внутрь» UIKit при помощи отладчика и профайлера.


Тесты, в том числе End-to-end — это замечательно. Когда они воспроизводятся. А что делать, когда нет? В докладе «Воспроизводимость End-to-end тестов» Борис Бенгус из Dostavista расскажет [31] о возможных проблемах — и о том, как в Dostavista эти проблемы решали.


В этом году Apple недвусмысленно показывает всем, что мир движется в сторону подписок: Apple Arcade, Apple TV+, Apple News… Остальным iOS-разработчикам надо за этим поспевать — и технология auto-renewable subscriptions становится актуальной для всё более широкого круга приложений. Поэтому Денис Кириллов (Мамба) разберёт её подробнее.


В этом году исполняется 10 лет, как Владимир Озеров занимается iOS-разработкой. Неудивительно, что его доклад [32] о многопоточности в iOS включит в себя исторический экскурс по этой теме. Но главное, конечно, современность: что надо знать о механизмах параллелизма, доступных iOS-разработчику сегодня?


Привычные и «простые» вещи могут на самом деле скрывать внутри немало хитростей. Например, UIScrollView: мы так привыкли к скроллу в iOS, что он ощущается само собой разумеющимся, но какие алгоритмы за ним стоят? И какие из них могут пригодиться вам в ваших собственных UI-компонентах? Расскажет [33] Илья Лобанов из Яндекса.


Вероятно, работая в Prisma, неизбежно сталкиваешься с интересным. Андрея Володина зрители могут помнить по докладу «Как стать GPU-инженером за час» — а теперь он возвращается [34] с темой «Архитектура умного фоторедактора». Как в одном приложении уживаются UIKit, Metal, Accelerate, CoreML, Vision, ARKit, ARM Neon и код на пяти языках?

А в ожидании этого доклада можно посмотреть запись «Как стать GPU-инженером за час»:


А Дмитрий Игнатьев расскажет [35], как моделировать состояния экранов, зачем это нужно, как помогает решать проблемы с размытыми, неполными и порой двусмысленными требованиями, и почему от этого выигрывают не только разработчики, но и смежные команды: продакты, дизайнеры и тестировщики. А затем — об архитектурном подходе создания экранов, который уже используется на практике в приложении с миллионной аудиторией («Мой Билайн»).


Ну и, наконец, самое практическое, что только может быть. iOS-разработчики могут заниматься самыми разными проектами, но одинаково хотеть одного: чтобы сборка проходила быстрее. Илья Лункин подскажет [36], каким должен быть наш Swift-код, чтобы Xcode побыстрее его понимал.

Если вы поняли, что в этом длинном списке есть интересные вам пункты — значит, вам будет интересно на Mobius 2019 Moscow. Конференция пройдёт в Москве 7-8 декабря, вся информация о ней размещена на официальном сайте [37], и приобрести билет можно там же.

Автор: Евгений Трифонов

Источник [38]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/ios/337451

Ссылки в тексте:

[1] видеозапись: https://www.youtube.com/watch?v=4RtR-X0BbBc

[2] рассказать: https://mobiusconf.com/2019/msk/talks/33bpmvguyiptrlrgkixfuz/?utm_source=habr&utm_medium=476844&utm_campaign=mobius19msc

[3] Smashing Magazine: https://smashingmagazine.com

[4] посмотреть: https://www.youtube.com/watch?v=8eH3k4BxV6k

[5] поведает: https://mobiusconf.com/2019/msk/talks/3viwnwpoopi4vmihtsng82/

[6] в Твиттере: https://twitter.com/jbaruch

[7] расскажет: https://mobiusconf.com/2019/msk/talks/d4hpq2ux0woyftzzm9jsv/?utm_source=habr&utm_medium=476844&utm_campaign=mobius19msc

[8] разовьёт: https://mobiusconf.com/2019/msk/talks/5tszziygionzl370qnvvpw/?utm_source=habr&utm_medium=476844&utm_campaign=mobius19msc

[9] поговорит: https://mobiusconf.com/2019/msk/talks/62kokhkjfv9uk2tmzsflou/?utm_source=habr&utm_medium=476844&utm_campaign=mobius19msc

[10] кейноут: https://www.youtube.com/watch?v=Jfl-mq1lnvA

[11] поведает: https://mobiusconf.com/2019/msk/talks/15hqp8wkqlavw2lyyy84vj/?utm_source=habr&utm_medium=476844&utm_campaign=mobius19msc

[12] доклад: https://mobiusconf.com/2019/msk/talks/49b2l90rbzylmzs22xfwbl/?utm_source=habr&utm_medium=476844&utm_campaign=mobius19msc

[13] обсудит: https://mobiusconf.com/2019/msk/talks/4qvbuokqanokhzvwyoeqae/?utm_source=habr&utm_medium=476844&utm_campaign=mobius19msc

[14] поговорит: https://mobiusconf.com/2019/msk/talks/4l7udco8ovirs6bvbdn1x8/?utm_source=habr&utm_medium=476844&utm_campaign=mobius19msc

[15] доклад: https://mobiusconf.com/2019/msk/talks/3b6thknzlacoggjz90ytx8/?utm_source=habr&utm_medium=476844&utm_campaign=mobius19msc

[16] видеозапись: https://www.youtube.com/watch?v=Wd91Y8sRs2k

[17] видеозапись: https://www.youtube.com/watch?v=_cFHtjIWjCc

[18] расскажет: https://mobiusconf.com/2019/msk/talks/1lyiptp1vkc8qpout3dggb/?utm_source=habr&utm_medium=476844&utm_campaign=mobius19msc

[19] поделится: https://mobiusconf.com/2019/msk/talks/1ofe88ryfzsnjvy9i3eonb/?utm_source=habr&utm_medium=476844&utm_campaign=mobius19msc

[20] текстовую версию: https://habr.com/ru/company/jugru/blog/417951/?utm_source=habr&utm_medium=476844&utm_campaign=mobius19msc

[21] из первых рук: https://mobiusconf.com/2019/msk/talks/5ag9djrbedcc2m9aygou19/?utm_source=habr&utm_medium=476844&utm_campaign=mobius19msc

[22] исправить: https://mobiusconf.com/2019/msk/talks/xwyfoyguaynjsd84nmg3d/?utm_source=habr&utm_medium=476844&utm_campaign=mobius19msc

[23] рассматривать: https://mobiusconf.com/2019/msk/talks/ublosjitqiwb8hywds2yk/?utm_source=habr&utm_medium=476844&utm_campaign=mobius19msc

[24] доклад: https://mobiusconf.com/2019/msk/talks/7cmsppnscj3f7gxhpiqkz2/?utm_source=habr&utm_medium=476844&utm_campaign=mobius19msc

[25] раскроет: https://mobiusconf.com/2019/msk/talks/6onzrkwsecvowjtqwbsodu/?utm_source=habr&utm_medium=476844&utm_campaign=mobius19msc

[26] интервью: https://habr.com/ru/company/jugru/blog/472000/?utm_source=habr&utm_medium=476844&utm_campaign=mobius19msc

[27] доклад: https://mobiusconf.com/2019/msk/talks/57szh3i1rxu4vja3v7nm7j/?utm_source=habr&utm_medium=476844&utm_campaign=mobius19msc

[28] на GitHub: https://github.com/badoo/Chatto

[29] расскажет: https://mobiusconf.com/2019/msk/talks/5hhzfiyjpmqlr22sboi4ym/?utm_source=habr&utm_medium=476844&utm_campaign=mobius19msc

[30] покажет: https://mobiusconf.com/2019/msk/talks/3tmt4d0tuhcxsiyyh01rk0/?utm_source=habr&utm_medium=476844&utm_campaign=mobius19msc

[31] расскажет: https://mobiusconf.com/2019/msk/talks/4xwjfbqocds6jedwuxcbt/?utm_source=habr&utm_medium=476844&utm_campaign=mobius19msc

[32] доклад: https://mobiusconf.com/2019/msk/talks/o8hm79wpnevehgru6q9cj/?utm_source=habr&utm_medium=476844&utm_campaign=mobius19msc

[33] Расскажет: https://mobiusconf.com/2019/msk/talks/3ztaogolxrjzmlhrbmbgcj/?utm_source=habr&utm_medium=476844&utm_campaign=mobius19msc

[34] возвращается: https://mobiusconf.com/2019/msk/talks/dmgjrwd2kl2iyfoout6t2/?utm_source=habr&utm_medium=476844&utm_campaign=mobius19msc

[35] расскажет: https://mobiusconf.com/2019/msk/talks/1iwgkk5tnog1wwtosfjec9/?utm_source=habr&utm_medium=476844&utm_campaign=mobius19msc

[36] подскажет: https://mobiusconf.com/2019/msk/talks/12ngyj8aw9pkenh7jvzsfc/?utm_source=habr&utm_medium=476844&utm_campaign=mobius19msc

[37] официальном сайте: https://mobiusconf.com/?utm_source=habr&utm_medium=476844&utm_campaign=mobius19msc

[38] Источник: https://habr.com/ru/post/476844/?utm_source=habrahabr&utm_medium=rss&utm_campaign=476844